JavaWeb程序设计 习题参考答案(第7章)
- 格式:docx
- 大小:11.68 KB
- 文档页数:1
Javaweb练习题1(含答案)Javaweb选择题o 1. 页面中需要增加链接,正确的HTML代码是_A_____。
A. 百度B. 百度C. /doc/eb12351030.html,D. 百度o 2. 以下选项中,哪个全部都是表格标签___ B___。
A.B.C.D.A. 1B. 2C. 3D. 4o 4. window对象中用于显示一个输入对话框的方法是_____C__。
A. alert()B. confirm()C. prompt()D. createPopup()o 5. 下列代码的输出结果是___B__【2.0分】A. 014B. 024C. 025D. 运行错误6. 针对下述JSP页面,在Servlet中需要得到用户选择的爱好的数量,最合适的代码是___C___。
游戏运动棋牌美食A. request.getParameter("aihao").lengthB. request.getParameter("aihao").size()C. request.getParameterValues("aihao").lengthD. request.getParameterValues("aihao").size()o 7. ____C__标签用于定义表格、行和单元格。
A. tbody tr tdB. table row celC. table tr tdD. table th tdo 10. MyEclipse中,常用web项目具体类型为(D)。
【2.0分】A. static web projectB. dynamic web projectC. java projectD. web projecto 11. 如果希望更新数据库表authors中first_name列为非空,可以使用( C )语句。
【2.0分】A. alter table authors add first_name not nullB. alter table authors modify first_name not nullC. alter table authors update first_name not nullD. alter table authors drop first_name not nullo 12. 下列说法错误的是___C___。
第7章1.Swing是一个用于开发Java应用程序界面的工具包,它以抽象窗口工具包(abstract window toolkit,AWT)为基础,使跨平台应用程序可以使用任何可插拔的外观风格。
只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。
也可以这样说,Swing是Java平台的UI(user interface),充当了处理用户与计算机之间全部交互的角色。
相对于AWT来说,Swing的主要优势就在于MVC体系结构的普遍使用。
因为为了简化组件的设计工作,在Swing组件中,视图和控件两部分被合为一体。
每个组件都有一个相关的分离模型和它使用的界面(包括视图和控件)。
2.Swing组件从功能上可以按下面的类型来划分。
(1)顶层容器:如JFrame、JApplet、JDialog、JWindow。
(2)中间容器:如JPanel、JScrollPane、JSplitPane、JToolBar。
(3)特殊容器:在GUI上起特殊作用的中间层,如JInternalFrame、JLayeredPane、JRootPane。
(4)基本控件:实现人机交互的组件,如JButton、JComboBox、JList、JMenu、JSlider、JTextField。
(5)不可编辑信息的显示:向用户显示不可编辑信息的组件,如JLabel、JProgressBar、ToolTip。
(6)可编辑信息的显示:向用户显示可被编辑的格式化信息的组件,如JColorChooser、JFileChooser、JTable、JTextArea。
3.(1)面板(JPanel)。
面板是一个轻量级容器组件,用于容纳界面元素,以便在布局管理器的设置下容纳更多的组件,实现容器的嵌套。
JPanel、JScrollPane、JSplitPane和JInternalFrame都属于常用的中间容器,都是轻量级组件。
JPanel的默认布局管理器是FlowLayout。
第7章包与异常处理习题参考答案:一、判断题1.在编程中,可以不用进行异常的处理,因为有时发生的异常并不会影响程序的正常运行_____×__。
2.异常处理一般可用try ……catch语句进行处理的____√___。
3.try ……catch语句不能进行嵌套使用_×______。
4.如果觉得系统给出的异常类不够使用,也可能定义自己的异常类,自己定义的异常类一般继承Exception类(或其子类)___√____。
5.try……catch……finally语句中,三个关键字必须同时使用,才能达到异常处理的效果_____×__。
6.使用import 导入一包时,可以将这个包的子包也一并导入__×_____。
二、选择题1.异常是指___D____。
A.程序中的语法错误B.程序的编译错误C.程序执行过程中遇到的事先没有预料到的情况D.程序执行过程中遇到的事先没有预料到的情况,或程序事先定义好的可能出现的意外情况2.如果一个程序中有多个catch语句,程序会__C_____。
A.每个catch都会执行一次B.把每个符合条件的catch语句都执行一次C.找到适合的异常类型后就不再执行其它catch语句D.找到适合的异常类型后还要执行其它catch语句3.下列关于finally说法正确的是__C_____。
A.finally语句应该放在所有catch语句的前面B.finally语句应该放在所有catch语句的后面C.无论程序是否找到合适的catch匹配,都会去执行finallyD.如果程序在前面找到了多个适合的catch匹配,就不再执行finally语句了4.在一个方法内抛出异常时,应该使用下列哪个子句____A___。
A. throwB. catchC. finallyD. throws5.下列描述中,错误的一个是____B___。
A. 异常抛出点后的代码在抛出异常后不再执行B. 一个try代码段后只能跟有一个catch代码段C. try 一般要和catch联合使用D. 在编写程序过程中,要考虑对异常的处理6.一个catch语句段一定要和下列哪一项配合使用__A_____。
《Web程序设计》课后习题附答案第一章1.填空题(1).NET Framework 主要包括公共语言运行库 CLR 和类库。
(2)/doc/da9346473.html, 网站在编译时,首先将语言代码编译成微软中间语言 MSIL 。
(3)一台 IIS Web 服务器 IP 地址为 210.78.60.19,网站端口号为8000,则要访问虚拟目录 xxxy 中default.aspx 的URL 为http://210.78.60.19.8000/xxxy/default.aspx 。
(4)可以通过复制网站同步网站上的一个文件。
2.是非题(1)托管代码是以CLR 为基础运行的代码。
(√)(2)若某页面上包含动画内容,则该页面肯定是动态页面。
(×)(3)一个网站中可以同时包含静态页面和动态页面。
(√)(4) /doc/da9346473.html,4.5 页面是边解释边执行的。
(×)(5)在VSEW2012 中开发网站必须安装独立的IIS。
(×)(6)IIS EXPRESS 具有与IIS 类似的功能,但主要用于VSEW2012 中的页面。
(×) (7)IIS 中的网站与VSEW2012 中的网站是相同的概念。
(×)3.简答题(1)一个学校有多个分院,每个分院有各自的网站,如果提供一台WEB 服务器,如何设置?每个分院设置各自的虚拟目录。
虚拟目录是服务器硬盘上通常不再主目录下的文件夹的一个好记名称(别名),使用别名可以发布多个文件夹下的内容以供所有用户访问,并能单独控制每个虚拟目录的读写权限。
(2)如何设置在访问网站时只需输入域名就可访问网页主页?将“i ndex.aspx”设置为默认文档,只要将其添加为默认文档即可,右击桌面“我的电脑”,选择“管理”项打开“计算机管理”窗口,选择“Internet 信息服务→网站→默认网站”并右击之,选择弹出菜单中的“属性”项,在打开的窗口中选择“文档”标签,单击“添加”将“index.aspx”添加进来,最后“应用→确定”即可(3)文件系统、本地 IIS、FTP 站点和远程站点的区别是什么?文件系统:就是发布到硬盘的文件本地 IIS:是发布到 IIS 根目录下的文件FTP 站点:是用过 ftp 上传到指定服务器的文件远程站点:就是可以发布到远程服务器的文件(4)说明什么是虚拟主机,Internet 上提的虚拟主机是如何运行的?所谓虚拟主机,就是把一台运行在互联网上的服务器划分成多个“虚拟”的服务器,每一个虚拟主机都具有独立的域名和完整的Internet 服务器(支持 WWW、FTP、E-mail 等)功能。
《JavaWeb程序设计》练习题参考答案第一章:Servlet基础1、下列选项中属于动态网站技术的是_________(多选)答:PHP/ASP/JSPA、PHPB、ASPC、JavaScriptD、JSP参考答案:PHP(Hypertext Preprocessor):超文本预处理器,其语法大量借鉴C、Java、Perl等语言,只需要很少的编程知识就能使用PHP建立一个真正交互的Web站点,由于PHP开放源代码,并且是免费的,所以非常流行,是当今Internet上最为火热的脚本语言之一。
ASP(Active Server Pages):是一种类似HTML、Script与CGI结合体的技术,他没有提供自己专门的编程语言,允许用户使用许多已有的脚本语言编写ASP应用程序局限于微软的IIS,般只适用于中小型站点,但目前ASP升级演变而来的支持大型网站的开发。
JSP(Java ServerPages):是基于Java Servlet以及Java体系的Web开发技术。
能在大部分服务器上运行,而且易于维护和管理,安全性能方面也被认为是三种基本动态网站技术中最好的。
2、下列关于Servlet的说法正确的是_______(多选)A、Servlet是一种动态网站技术B、Servlet运行在服务端C、Servlet针对每个请求使用一个进程来处理D、Servlet与普通的Java类一样,可以直接运行,不需要环境支持参考答案:Servlet是一种动态网站技术,是运行在服务器端,Servlet针对每个请求使用一个线程来处理,而不是启动一个进程,传统的CGI为每次请求启动一个进程来处理。
所以Servlet 的效率更高3、下列关于Servlet的编写方式正确的是______(多选)A、必须是HttpServlet的子类B、通常需要覆盖doGet() 和doPost()方法或其一C、通常需要覆盖service()方法D、通常要在web.xml文件中声明<servlet>和<servlet-mapping>两个元素参考答案:A、B、D必须继承Httpservlet类,不需要覆盖servlce()方法,service()方法是Servlet接口中的方法,Servlet是HttpServlet的父类,该方法会根据请求类型选择执行doGet()或doPost()方法。
Java语言程序设计第七章课后习题答案1.数组的声明与数组元素的创建有什么关系?答:声明数组仅仅是代表试图创建数组,不分配任何存储空间,声明是为创建做“铺垫”。
2.Vector类的对象与数组有什么关系?什么时候适合使用数组,什么时候适合使用Vector?答:vector是一个能够存放任意对象类型的动态数组,容量能自动扩充,而数组存储固定且类型相同的对象;对于存储固定类型相同的对象使用数组,对于存储不同类型或者动态调整数组大小的情况使用Vector。
3.与顺序查找相比,二分查找有什么优势?使用二分查找的条件?答:对于大数据量中进行查找时二分查找比顺序查找效率高得多;条件是已排序的数组。
4.试举出三种常见的排序算法,并简单说明其排序思路。
答:①选择排序:基本思想是站在未排序列中选一个最小元素,作为已排序子序列,然后再重复地从未排序子序列中选取一个最小元素,把它加到已经排序的序列中,作为已排序子序列的最后一个元素,直到把未排序列中的元素处理完为止。
②插入排序:是将待排序的数据按一定的规则逐一插入到已排序序列中的合适位置处,直到将全部数据都插入为止。
③二分查找:将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。
重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。
5.声明一个类People,成员变量有姓名、出生日期、性别、身高、体重等;生成10个People 类对象,并放在一个以为数组中,编写方法按身高进行排序。
//People类public class People{private String name;private String birthdaydate;private String sex;private double height;private double weight;public People(){//默认构造函数}public People(People p){=;this.birthdaydate=p.birthdaydate;this.sex=p.sex;this.height=p.height;this.weight=p.weight;}public People(String name,String birthdaydate,String sex,double height,double weight){=name;this.birthdaydate=birthdaydate;this.sex=sex;this.height=height;this.weight=weight;}public String getName() {return name;}public void setName(String name) { = name;}public String getBirthdaydate() {return birthdaydate;}public void setBirthdaydate(String birthdaydate) {this.birthdaydate = birthdaydate;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public double getHeight() {return height;}public void setHeight(double height) {this.height = height;}public double getWeight() {return weight;}public void setWeight(double weight) {this.weight = weight;}public String toString(){return"姓名:"+name+"\n出生年月:"+birthdaydate+"\n性别:"+sex+"\n 身高:"+height+"\n体重:"+weight;}}//test7_5类public class test7_5 {/***@param args*/public static void main(String[] args) {// TODO Auto-generated method stubPeople[] people={new People("林楚金","1989年8月13日","男",182,63.5),new People("诸葛亮","181年7月23日","男",184,76.6),new People("迈克杰克逊","1958年8月29日","男",180,60),new People("乔丹","1963年2月17日","男",198,98.1),new People("拿破仑","1769年8月15日","男",159.5,63),new People("苍井空","1983年11月11日","女",155,45),};People temp=new People();for(int i=0;i<people.length-1;i++)for(int j=i+1;j<people.length;j++){if(people[i].getHeight()<people[j].getHeight()){temp=people[j];people[j]=people[i];people[i]=temp;}}System.out.println("按身高从小到大排序后的结果如下:");for(int i=0;i<people.length;i++)System.out.println(people[i]+"\n");}}运行结果:6.声明一个类,此类使用私有的ArrayList来存储对象。
1.SGML2.它虽然描述了信息显示的布局和外观,但却没有体现出这些信息的含义,因而HTML所能描述的只不过是这些信息在文档里的一般格式和布局,而无法体现这些信息的类型。
;另一个潜在问题是它对标签在一个文档中的排放位置或次序没有什么限制。
3.HTML是一种描述一般信息布局的标记语言,并指示了这些信息怎样在浏览器中显示4.XML是一种元标记语言,它提供了一个框架,根据这个框架可以定义众多的用于特定领域的标记语言。
5.如果XML文档制定了一个DTD,则XML有效性验证解析器将对其进行解析,若该文档符合DTD的规范,那么该文档时有效地(valid)。
6.如果相关的数据拥有它自己的子结构时,就应该使用嵌套元素。
如果数据是父元素内容的子数据而不是父元素数据的相关信息,也应该使用嵌套的元素。
7.为了标识元素的编号或名称,如HTML中的id和name特性。
如果涉及的数据是一组给定的可能值中的一个值,那么应该使用特性。
另外,如果没有子结构,或者数据只是元素的相关信息,这种情况下也应该使用特性。
8.文档实体在物理上总是存在于代表文档的文件中。
文档实体可以是整个文档,但很多情况下还包括对存储在其他地方的实体名称的引用。
9.其一,把其中一个很大的文档分成许多小模块可以方便管理。
其二,就可以再文档中对这些数据的单个副本进行无限次地引用,同时避免了各个地方的数据不一致的情况。
最后,许多文档含有不能用文本信息表示的信息,通常用二进制数据存储。
10.入股一个二进制数据在逻辑上是文档的一部分,那么他必须是一个独立实体,原因是XML文档不能包含二进制数据11.二进制实体只能由处理文档的应用程序来处理12.可以用DTD来验证文档是否符合DTD中所描述的规则13软件系统中的错误越早被发现,修正这些错误的成本就越低。
14.ELEMENT,ATTLIST,ENTITY,NOTATION15.+:重复一次或多次17.*:重复零次或多次18.?:重复零次或一次19.特性对应的元素的名称,特性的名称及其类型,还可以包含一个默认选项20.#REQUIRED:没有给出默认值21.#IMPLIED:没有给出默认值22.如果在实体生命中使用率可选的百分号,则表示该实体是参数实体。
javaweb课后习题答案Javaweb课后习题答案Javaweb是一门广泛应用于Web开发的编程语言,它在当今互联网行业中具有重要的地位。
在学习Javaweb的过程中,课后习题是巩固知识、提高编程能力的重要环节。
本文将为大家提供一些Javaweb课后习题的答案,帮助读者更好地理解和应用所学知识。
一、数据库操作1. 编写一个Javaweb程序,实现对数据库的增、删、改、查操作。
答案:以下是一个简单的示例代码,实现了对名为"users"的数据库表进行增、删、改、查操作。
```javaimport java.sql.*;public class UserDAO {private Connection conn;private Statement stmt;private ResultSet rs;public UserDAO() {try {Class.forName("com.mysql.jdbc.Driver");conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "password");stmt = conn.createStatement();} catch (Exception e) {e.printStackTrace();}}public void addUser(String username, String password) {try {String sql = "INSERT INTO users (username, password) VALUES ('" + username + "', '" + password + "')";stmt.executeUpdate(sql);} catch (Exception e) {e.printStackTrace();}}public void deleteUser(String username) {try {String sql = "DELETE FROM users WHERE username = '" + username + "'";stmt.executeUpdate(sql);} catch (Exception e) {e.printStackTrace();}}public void updateUser(String username, String newPassword) {try {String sql = "UPDATE users SET password = '" + newPassword + "' WHERE username = '" + username + "'";stmt.executeUpdate(sql);} catch (Exception e) {e.printStackTrace();}}public void getUser(String username) {try {String sql = "SELECT * FROM users WHERE username = '" + username + "'";rs = stmt.executeQuery(sql);while (rs.next()) {String password = rs.getString("password");System.out.println("Username: " + username + ", Password: " + password);}} catch (Exception e) {e.printStackTrace();}}public void close() {try {if (rs != null) rs.close();if (stmt != null) stmt.close();if (conn != null) conn.close();} catch (Exception e) {e.printStackTrace();}}}```2. 如何防止SQL注入攻击?答案:为了防止SQL注入攻击,我们可以采取以下几种措施:- 使用预编译的语句:预编译的语句可以将参数与SQL语句分开,从而避免了直接拼接参数到SQL语句中的情况。
第7章多线程编程1.什么是线程?与进程有何不同?答:线程是操作系统中重要概念之一,是程序运行的基本执行单元,与进程一样,也有创建、销毁和切换等状态,但负荷远小于进程,又称为轻量级进程。
与进程不同的是:占用的资源少,不像进程那样可由几个线程组成,在Java语言中,用ng.Thread类创建和管理线程,而进程是由ng.Process类等类创建和管理。
2.使用多线程的优势何在?答:使用多线程具有很多优势,这主要表现在如下五方面:充分利用CPU资源;简化编程模型;简化异步事件的处理;使GUI程序更有效率;节约成本。
3.主要的线程状态有哪些?它们之间是如何转换的?答:线程主要有如下5个状态:New(新)、Runnable(可运行、就绪)、Running(运行)、Blocked(被阻塞、挂起)和Dead(死亡),它们之间转换如下图所示:4.简述创建线程的两种方法及各自的步骤。
答:第一种方法是通过继承Thread类编写用户自己的线程类,而后创建实例,步骤为:➢定义自己的线程类MyThread,并覆盖Thread类的run(),实现所需功能;➢实例化MyThread类,并用start()方法启动。
第二种方法是通过实现Runnable接口来创建线程,使用Runnable接口创建线程的步骤为:➢实现Runnable接口,如实现了该接口的类为MyRunnable,并在MyRunnable类的run()方法里编写想让线程执行的代码;➢创建实现了Runnable接口类的实例,如创建MyRunnable类的实例为myRunnable;➢创建线程类Thread的实例,并用构造方法Thread(Runnable)将myRunnable赋值给target。
5.简述sleep()方法的作用,并修改例7.10中休眠部分,体会线程有无休眠的差异。
答:sleep()作为休眠方法,可让线程休眠一段时间,此期间线程不消耗CPU资源。
传入参数是休眠的时间,单位为毫秒。
[键入文字]Java Web编程习题解析第1章习题解析1. 略。
什么是URL,什么是URI,它们都由哪几个部分组成,URL和URI之间有什么关系?2. 答:URL称为统一资源定位符,URL通常由4部分组成:协议名称、页面所在主机的DNS名、可选的端口号和资源的名称。
URI称为统一资源标识符,是以特定语法标识一个资源的字符串。
URI由模式和模式特有的部分组成,它们之间用冒号隔开,一般格式如下:schema:schema-specific-partURI是URL和URN的超集。
3. 答:①是URL,①和②都是URI,③是URN动态web文档技术有哪些?服务器端动态文档技术的客户端动态文档技术有何不同?4. 答:动态Web文档技术包括服务器端动态文档技术和客户端动态文档技术,前者包括CGI技术、服务器扩展技术和HTML页面中嵌入脚本技术。
其中HTML页面中嵌入脚本技术包括ASP、PHP和JSP技术。
最流行的客户端动态文档技术是在HTML页面中嵌入JavaScript脚本代码。
使用JavaScript可以设计交互式页面。
与服务器端动态文档不同,JavaScript脚本是在客户端执行的。
什么是Servlet?什么是Servlet容器?它的主要作用是什么?5. 答:Servlet是用Servlet API开发的Java程序,它运行在Servlet容器中。
Servlet容器是运行Servlet的软件,主要用来扩展Web服务器的功能。
简述开发一个Servlet的上体步骤6. 答:开发Servlet的一般步骤包括:(1)编写Servlet源程序;(2)编译;(3)将Servlet部署到Servlet容器中;(4)访问执行Servlet。
要使一个Servlet能够正确编译的运行,应该将什么文件加到CLASSPATH环境变量中?7. 答:<tomcat-install>\lib\servlet-api.jar文件。
Chapter2Frame、<html><body><a href="作者的个人简介.html"target="main">作者的个人简介</a></body></html>Login、<html><body><p align="center">Please Log In</p><br><form>   Login:<input type="text"><br>Password:<input type="password"><br>         <input type="submit" value="OK"> <input type="button" value="ForgetPassword"></form></body></html>Main、<html><body>(Section C)</body></html>Regiter、<html><body><p align="center">New Member</p><br><form>ID              <i nput type="text"><br>Password        <input type="password"><br>Re-Password     <input type="password"><br>First Name      <input type="text"><br>Last Name       <input type="text"><br>Address         <input type="text"><br> City            <inputtype="text"><br>State          <select><option selected>[Select State]</option></select><br>Country         <input type="text"><br>Email Address   <input type="text"><br>Select Interest<input type="checkbox">Technology<input type="checkbox">Enterprise<input type="checkbox">Research<input type="checkbox">Government<input type="checkbox">People<input type="checkbox">Life Style<input type="checkbox">Opinion<br>Question       <select><option selected>[Select Question]</option></select><br>Answer          <inputtype="textarea"><br>              &nbs p <input type="submit" value="Submit Information"><input type="reset" value="Reset Form"></form></body></html>Top、<html><body><a href="login.html"target="main">Login</a><br><a href="register.html"target="main">Register</a></body></html>Treemenu、<html><body><a href="作者的个人简介.html"target="main">作者的个人简介</a></body></html>作者的个人简介、<html><body>作者:局局局</body></html>Chapter31、<html><body><script type="text/javascript">function fun(){a=form.text1.value;b=a/50;c=a%50/20;d=a%50%20/10;e=a%50%20%10/5;f=a%50%20%10%5;document.form.text2.value=Math.floor(b);document.form.text3.value=Math.floor(c);document.form.text4.value=Math.floor(d);document.form.text5.value=Math.floor(e);document.form.text6.value=f;}</script><form name="form">您输入的金额为: <input name="text1" type="text"><br>              &nbs p  <input type="button" onclick="fun()" value="确定"><br>找零的数量为:<br>             50元<input name="text2" type="text">张<br>             20元<input name="text3" type="text">张<br>             10元<input name="text4" type="text">张<br>              5元<input name="text5" type="text">张<br>              1元<input name="text6" type="text">张<br></form></body></html>2、<html><body><script type="text/javascript">function add(){n1=Number(document.form.text1.value);n2=Number(document.form.text2.value);n3=Number(document.form.text3.value);n4=Number(document.form.text4.value);n5=Number(document.form.text5.value);document.form.text6.value=n1+n2+n3+n4+n5;}</script><form name="form">book1: <input name="text1" type="text"><br>book2: <input name="text2" type="text"><br>book3: <input name="text3" type="text"><br>book4: <input name="text4" type="text"><br>book5: <input name="text5" type="text"><br>       <input type="button" onclick="add()" value="求和"><br>总价:  <input name="text6" type="text"><br></form></body></html>2S(循环)、<html><body><script type="text/javascript">var n=new Array();for(i=1;i<6;i++){document.writeln("book"+i+"  <input name=text type=text><br>");}function add(){for(i=0;i<5;i++){n[i]=Number(document.getElementsByName("text")[i].value);}document.form.text.value=n[0]+n[1]+n[2]+n[3]+n[4];}</script><form name="form">       <input type="button" onclick="add()" value="求和"><br>总价:  <input name="text" type="text"><br></form></body></html>3、<html><body><script type="text/javascript">for(i=1;i<=100;i++){document.writeln("欢迎 ");}</script></body></html>4、<html><body><script type="text/javascript">var n=new Array();var max=0;var min=0;function fun(){n[1]=Number(document.form.text1.value);n[2]=Number(document.form.text2.value);n[3]=Number(document.form.text3.value);n[4]=Number(document.form.text4.value);n[5]=Number(document.form.text5.value);n[6]=Number(document.form.text6.value);n[7]=Number(document.form.text7.value);n[8]=Number(document.form.text8.value);n[9]=Number(document.form.text9.value);n[10]=Number(document.form.text10.value);for(i=1;i<=10;i++){if(n[i]>max){max=n[i];}}min=n[1];for(j=1;j<=10;j++){if(n[j]<min){max=n[j];}}document.form.text13.value=(n[1]+n[2]+n[3]+n[4]+n[5]+n[6]+n[7]+n[8]+n[9]+n[10])/10; document.form.text11.value=max;document.form.text12.value=min;}</script><form name="form">book 1:   <input name="text1" type="text"><br>book 2:   <input name="text2" type="text"><br>book 3:   <input name="text3" type="text"><br>book 4:   <input name="text4" type="text"><br>book 5:   <input name="text5" type="text"><br>book 6:   <input name="text6" type="text"><br>book 7:   <input name="text7" type="text"><br>book 8:   <input name="text8" type="text"><br>book 9:   <input name="text9" type="text"><br>book10 :  <input name="text10" type="text"><br>         <input type="button" onclick="fun()" value="确定"><br>最高价格:<input name="text11" type="text"><br>最低价格:<input name="text12" type="text"><br>平均价格:<input name="text13" type="text"><br></form></body></html>4S(循环)、<html><body><script type="text/javascript">var n=new Array();var min=0;var ave=0;var max=0;for(i=1;i<11;i++){document.writeln("book"+i+"   <input name=text type=text><br>");}function add(){for(i=0;i<10;i++){n[i]=Number(document.getElementsByName("text")[i].value);}for(i=0;i<10;i++){if(n[i]>max){max=n[i];}}min=n[0];for(j=0;j<10;j++){if(n[j]<min){min=n[j];}}for(k=0;k<10;k++){sum+=n[k];}document.form.text1.value=max;document.form.text2.value=min;document.form.text3.value=ave;}</script><form name="form">         <input type="button" onclick="add()" value="确定"><br>最高价格:<input name="text1" type="text"><br>最低价格:<input name="text2" type="text"><br>平均价格:<input name="text3" type="text"><br></form></body></html>Chapter44-1、(1)<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%><html><body><script type="text/javascript">for(var i=1;i<=100;i++)document.writeIn("欢迎(JS)<br>");</script><%for(int i=1;i<=100;i++){out.print("欢迎(JSP)<br>");}%></body></html>(2)<%@ page language="java" contentType="text/html; charset=gb2312" errorPage="l6.jsp"%> <html><body><%for(int i=0;i<100;i++){out.println("欢迎<br>");}%><br></body></html>(3)<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%><html><body><script type="text/javascript">for(i=0;i<100;i++){document.write("欢迎<br>");}</script></body></html>4-2(1)<%@page language="java" contentType="text/html;charset=gb2312" errorPage="l6.jsp"%> <html><body><form name="form">您输入的金额为:<input name="money"type="text"><br><input type="submit" value="找零"><br><%!int[]monReturn=new int[5];int[]monElements=new int[]{50,20,10,5,1};void moneyDeal(int mon){for(int i=0;i<5;i++){monReturn[i]=(int)Math.floor(mon/monElements[i]);mon=mon%monElements[i];}}%><%String s=request.getParameter("money");if(s!=null){int mon=Integer.parseInt(s);moneyDeal(mon);for(int i=0;i<5;i++){%>应找零为:<%=monElements[i]%>元<%=monReturn[i]%>张<br><%}}%></form></body></html>(2)<%@page language="java" contentType="text/html;charset=gb2312" errorPage="l6.jsp"%> <html><body><%!String str;int[]monReturn=new int[5];int[]monElements=new int[]{50,20,10,5,1};void moneyDeal(int mon){for(int i=0;i<5;i++){monReturn[i]=(int)Math.floor(mon/monElements[i]);mon=mon%monElements[i];}%><script type="text/javascript">function getMoney(){var inputMon=document.form.money.value;str=inputMon;document.form.submit();}</script><form name="form" action="?money="+<%=str%>>您输入的金额为:<input name="money"type="text"><br><input type="button" onclick=getMoney() value="找零"><br><%String s=request.getParameter("money");if(s!=null){int mon=Integer.parseInt(s);moneyDeal(mon);for(int i=0;i<5;i++){%>应找零为:<%=monElements[i]%>元<%=monReturn[i]%>张<br><%}}%></form></body></html>(3)<%@page language="java" contentType="text/html;charset=gb2312" errorPage="l6.jsp"%> <html><body><%!int[]monReturn=new int[5];int[]monElements=new int[]{50,20,10,5,1};void moneyDeal(int mon){for(int i=0;i<5;i++){monReturn[i]=(int)Math.floor(mon/monElements[i]);mon=mon%monElements[i];}}%><script type="text/javascript">function getMoney(){var inputMon=document.form.money.value;location.href="?money="+inputMon;}</script><form name="form">您输入的金额为:<input name="money"type="text"><br><input type="button" onclick=getMoney() value="找零"><br><%String s=request.getParameter("money");if(s!=null){int mon=Integer.parseInt(s);moneyDeal(mon);for(int i=0;i<5;i++){%>应找零为:<%=monElements[i]%>元<%=monReturn[i]%>张<br><%}}%></form></body></html>(4)<%@page language="java" contentType="text/html;charset=gb2312" errorPage="l6.jsp"%> <html><body><%!String str;int[]monReturn=new int[5];int[]monElements=new int[]{50,20,10,5,1};void moneyDeal(int mon){for(int i=0;i<5;i++){monReturn[i]=(int)Math.floor(mon/monElements[i]);mon=mon%monElements[i];}}%><script type="text/javascript">function getMoney(){var inputMon=document.form.money.value;document.form.action="?money="+inputMon;document.form.submit();}</script><form name="form">您输入的金额为:<input name="money"type="text"><br><input type="button" onclick=getMoney() value="找零"><br><%String s=request.getParameter("money");if(s!=null){int mon=Integer.parseInt(s);moneyDeal(mon);for(int i=0;i<5;i++){%>应找零为:<%=monElements[i]%>元<%=monReturn[i]%>张<br><%}}%>4-3、<%@ page language="java" contentType="text/html; charset=gb2312" errorPage="l6.jsp"%> <html><body><%//String str="欢迎";for(int i=0;i<100;i++){%>欢迎<br><%}%><br></body></html>4-4、<%@ page language="java" contentType="text/html; charset=gb2312" errorPage="l6.jsp"%> <html><body><%for(int i=1;i<10;i++){%><a href="4.jsp?n=<%=i%>"><%=i%></a><br><%}%><br></body></html>4-5、<%@ page language="java" contentType="text/html; charset=gb2312" errorPage="l6.jsp"%> <html><body><%for(int i=1;i<10;i++){<%="<a href=?n="+i+">"+i+"</a><br>"%><%}%><%String str=request.getParameter("n");if(str!=null){int n=Integer.parseInt(str);%>该数字的平方为:<%=n*n%><HR><%}%><br></body></html>4-6、<%@ page contentType="text/html; charset=gb2312" isErrorPage="true"%> <html><body><%out.println("网页出现异常!");%></body></html>Chapter55-1、<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> <html><body>登录:<form name="loginForm" method="post">账号:<input name="account" type="text"><br>密码:<input name="password" type="password"><br><input type="button" value="登陆" onClick="validate()"></form><script type="text/javascript">function validate(){if(loginForm.account.value==loginForm.password.value){alert("登陆成功!");return;}else alert("登陆失败!");return;loginForm.submit();}</body></html>5-2、<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%><html><body>登录:<form name="loginForm" method="post">账号:<input name="account" type="text"><br>密码:<input name="password" type="password"><br>是否注册为会员:<input name="member1" value="yes" type="checkbox">是<br> <input type="button" value="登陆" onClick="validate()"></form><script type="text/javascript">function validate(){if(loginForm.account.value==loginForm.password.value){if(document.loginForm.member1.checked){alert("登陆成功,欢迎您注册为会员!");return;}else alert("登陆成功!");return;}else alert("登陆失败!");return;loginForm.submit();}</script></body></html>5-3、<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%><html><body><%--<%String str="N";int number=Integer.parseInt(str);%>--%><form action="5-3-1.jsp"><input type="text" name="number"><input type="submit" value="提交"></form></body></html>5-3-1、<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%><html><% String str=request.getParameter("number");int number=Integer.parseInt(str);%><%for(int i=1;i<=number;i++)out.print("欢迎<br>");%></body></html>5-4、<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> <html><body><%!int[]monReturn=new int[5];int[]monElements=new int[]{50,20,10,5,1};void moneyDeal(int mon){for(int i=0;i<5;i++){monReturn[i]=(int)Math.floor(mon/monElements[i]);mon=mon%monElements[i];}}%><form name="form1" >应付款<input name="money1"type="text"><br>实际付款<input name="money2"type="text"><br><input type="submit" value="提交"><br></form><%String m1=request.getParameter("money1");String m2=request.getParameter("money2");if(m1!=null&&m2!=null){int m11=Integer.parseInt(m1);int m22=Integer.parseInt(m2);int mon=m22-m11;moneyDeal(mon);%>应找零<%=mon %>, <br><% for(int i=0;i<5;i++){%><%=monElements[i]%>元<%=monReturn[i]%>张,<%}}%></body></html>5-5、<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%><html><body>登录:<form name="loginForm" action="5-5-2.jsp" method="post">账号:<input name="account" type="text"><br>密码:<input name="password" type="password"><br><input type="button" value="登陆" onClick="validate()"></form><script type="text/javascript">function validate(){if(loginForm.account.value!=loginForm.password.value||loginForm.account.value==null||loginFor m.password.value==null){alert("登陆失败!");return;}loginForm.submit();}</script></body></html>5-5-2、<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%><html><body><%String str=request.getParameter("account"); %><form action="5-5-3.jsp" method="post">用户姓名:<input name="name" type="text"><br><input type="submit" value="提交" ><input name="account1" type="hidden" value="<%=str%>"></form></body></html>5-5-3、<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%><html><body><%String str1=request.getParameter("account1");String str2=request.getParameter("name");out.println("用户账号:"+str1+"<br>"+"用户姓名:"+str2);%></body></html>Chapter66-1、<%@ page language="java" import="java.sql.*" pageEncoding="gb2312"%><html><body><%Class.forName("sun.jdbc.odbc.jdbcodbcDriver");Connection conn=DriverManager.getConnection("jdbc:odbc:DSSchool");Statement stat=conn.createStatement();String sql="SELECT*";ResultSet rs=stat.executeQuery(sql);while(rs.next()){String stuno=rs.getString("STUNO");String stuname=rs.getString("STUNAME");String stusex=rs.getString("STUSEX");out.print(stuno+""+stuname+""+stusex+"<br>");}stat.close();conn.close();%></body></html>6-2、<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%><html><body><form action="6-2-1" method="post">输入姓名:<input type="text" name="stuname"><br><br><input type="submit" value="提交"></form></body></html>6-2-1、<%@ page language="java" import="java.sql.*" pageEncoding="gb2312"%><html><body><%request.setCharacterEncoding("gb2312");String name=request.getParameter("stuname");Class.forName("sun.jdbc.odbc.jdbcodbcDriver");Connection conn=DriverManager.getConnection("jdbc:odbc:DSSchool");Statement stat=conn.createStatement();String sql="SELECT STUNO,STUNAME,STUSEX FORM T_STUDENT WHERE STUNO='"+name+"'";ResultSet rs=stat.executeQuery(sql);while(rs.next()){String stuno=rs.getString("STUNO");String stuname=rs.getString("STUNAME");String stusex=rs.getString("STUSEX");out.print(stuno+""+stuname+""+stusex+"<br>");}stat.close();conn.close();%></body></html>6-3、<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> <html><body><form action="6-3-1.jsp" method="post">输入学号:<input type="text" name="sno">输入姓名:<input type="text" name="name"><input type="submit" value="提交"></form></body></html>6-3-1、<%@ page language="java" import="java.sql.*" pageEncoding="gb2312"%> <html><body><% request.setCharacterEncoding("gb2312");String sno=request.getParameter("sno");String name=request.getParameter("name");Class.forName("sun.jdbc.odbc.jdbcodbcDriver");Connection conn=DriverManager.getConnection("jdbc:odbc:DSSchool");Statement stat=conn.createStatement();String sql="SELECT STUNO,STUNAME FORM T_STUDENT WHERE STUNO='"+name+"'";ResultSet rs=stat.executeQuery(sql);if(!rs.next())out.println("学号不存在,登录失败!");else{String stuname=rs.getString("STUNAME");if(stuname.equals(name))out.print("恭喜,登陆成功!");elseout.println("姓名不存在!");}stat.close();conn.close();%></body></html>Chapter77-1、<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%><html><body><%String address=request.getRemoteAddr();int index=address.indexOf('.');String addressCut=address.substring(0,index);if(addressCut.equals("192"))out.print("抱歉,你被禁止访问!");%></body></html>7-2、<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%><html><body><form action="7-2-1.jsp" method="post">输入图书价格:<input type="text" name="price"></input><br><input type="submit" value="提交"></input></form></body></html>7-2-1、<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%><html><body><%String str=request.getParameter("price");%><form action="7-2-2.jsp" method="post">输入汇率:<input type="text" name="forecast"></input><br><input type="hidden" name="price" value="<%=str%>"></input><input type="submit" value="提交"></input></form></body></html>。
《JavaWeb程序设计》练习题参考答案第一章:Servlet基础1、下列选项中属于动态技术的是_________(多选)答:PHP/ASP/JSPA、PHPB、ASPC、JavaScriptD、JSP参考答案:PHP(Hypertext Preprocessor):超文本预处理器,其语法大量借鉴C、Java、Perl等语言,只需要很少的编程知识就能使用PHP建立一个真正交互的Web站点,由于PHP开放源代码,并且是免费的,所以非常流行,是当今Internet上最为火热的脚本语言之一。
ASP(Active Server Pages):是一种类似HTML、Script与CGI结合体的技术,他没有提供自己专门的编程语言,允许用户使用许多已有的脚本语言编写ASP应用程序局限于微软的IIS,般只适用于中小型站点,但目前ASP升级演变而来的支持大型的开发。
JSP(Java ServerPages):是基于Java Servlet以及Java体系的Web开发技术。
能在大部分服务器上运行,而且易于维护和管理,安全性能方面也被认为是三种基本动态技术中最好的。
2、下列关于Servlet的说确的是_______(多选)A、Servlet是一种动态技术B、Servlet运行在服务端C、Servlet针对每个请求使用一个进程来处理D、Servlet与普通的Java类一样,可以直接运行,不需要环境支持参考答案:Servlet是一种动态技术,是运行在服务器端,Servlet针对每个请求使用一个线程来处理,而不是启动一个进程,传统的CGI为每次请求启动一个进程来处理。
所以Servlet的效率更高3、下列关于Servlet的编写方式正确的是______(多选)A、必须是HttpServlet的子类B、通常需要覆盖doGet() 和doPost()方法或其一C、通常需要覆盖service()方法D、通常要在web.xml文件中声明<servlet>和<servlet-mapping>两个元素参考答案:A、B、D必须继承Httpservlet类,不需要覆盖servlce()方法,service()方法是Servlet接口中的方法,Servlet是HttpServlet的父类,该方法会根据请求类型选择执行doGet()或doPost()方法。
第七章监听和过滤
1、调用ServletContext的getAttribute()方法时,会触发哪个方法调用?(假设有关联的
监听器)
A、ServletContextAttributerListener的attributeAdded()方法
B、ServletContextAttributeListener的attributeRemove()方法
C、ServletContextAttributerListener的attributeReplace()
D、不会调用任何监听方法
参考答案:D
2、调用HttpSession的removeAttribute()方法时,会触发哪个方法调用?(假设有关联的监听器)
A、HttpSessionListener的attributeRemove()方法
B、HttpSessionActivateionListener的attributeRemove()方法
C、HttpSessionBindingListener的attributeRemove()
D、HttpSessionAttributerListener的attributeRemove
参考答案:D
3、调用HttpServletRequest的setAttribute()方法时,会触发哪个方法调用?(假设有关联的监听器)
A、ServletRequestAttributeListener的attributeAdded()方法
B、ServletRequestAttributeListene的attributeReplaced()方法
C、ServletRequestAttributeListene的attributeRemove()方法
D、ServletRequestAttributeListene的attributeSetted()方法
参考答案:A
4、在web.xml中使用什么元素配置监听器
A、<listeners>
B、<listener>
C、<listener>和<listener-mapping>
D、<listeners>和<listeners-mapping>
参考答案:B
5、下述代码定义了两个过滤器。