ServletJSP程序设计课后习题答案
第1章Web技术简介
1.6.1选择题
1.C
2.D
3.D
1.6.2填空题
1.JSP
2.JSP Model 1和JSP Model 2
3.JSP+JavaBean+Servlet、J2EE/JavaEE
1.6.3简答题
1.简述JSP的工作原理。
答:所有的JSP应用程序在首次载入时都被翻译成Servlet文件,然后再运行,这个工作主要是由JSP引擎来完成。当第一次运行一个JSP页面时,JSP引擎要完成以下操作:
●将JSP文件翻译成Servlet文件,Servlet文件是Java应用程序。
●JSP引擎调用Java编译器,编译Servlet文件得到可执行的代码文件(.class文件)。
●JSP引擎调用Java虚拟机解释执行.class文件,并将运行结果返回给服务器。
●服务器将运行结果以HTML形式作为响应返回给客户端的浏览器。
由于一个JSP页面在第一次被访问时要经过翻译、编译和执行这几个步骤,所以客户端得到响应所需要的时间比较长。当该页面再次被访问时,它对应的.class文件已经生成,不需要再次翻译和编译,JSP引擎可以直接执行.class文件,因此JSP页面的访问速度会大为提高。
2.简述JSP的两种体系结构。
答:JSP规范中分别称作JSP Model 1 和JSP Model 2,它们的本质区别在于处理批量请求的位置不同。Model1,在Model1体系中,JSP页面独自响应请求并将处理结果返回客户。这里仍然存在显示与内容的分离,因为所有的数据存取都是由JavaBean来完成的。尽管Model1体系十分适合简单应用的需要,它却不能满足复杂的大型Web应用程序需要。不加选择地随意运用Model 1,会导致JSP页内被嵌入大量的脚本片段或Java代码。尽管这对于Java程序员来说可能不是什么大问题,但如果JSP页面是由网页设计人员开发并维护的这就确实是个问题了。从根本上讲,将导致角色定义不清和职责分配不明,给项目管理带来不必要的麻烦。Model2体系结构,是一种把JSP与Servlet联合使用来实现动态内容服务的方法。它吸取了两种技术各自的优点,用JSP生成表示层的内容,让Servlet完成深层次的处理任务。Servlet充当控制者的角色,负责管理对请求的处理,创建JSP页面需要使用的Bean和对象,同时根据用户的动作决定把哪个JSP页面传给请求者。在JSP页面内没有处理逻辑,它仅负责检索原先由Servlet创建的对象或JavaBean,从Servlet中提取动态内容插入静态模板。分离了显示和内容,明确了角色的定义以及实现了开发者与网页设计者的分开。项目越复杂,使用Model 2体系结构的优势就越突出。
3.简述JSP开发Web站点的主要方式。
答:JSP开发Web站点主要有以下几种方式。
(1)直接使用JSP
(2)JSP+JavaBean
(3)JSP+JavaBean+Servlet
(4)J2EE/JavaEE开发模型
(5)SSH开发框架
第2章JSP常用开发运行介绍
请参考教程安装和配置工具。
第3章HTML与CSS简介
3.6.1选择题
1.B
2.A
3.A
4.D
3.6.2填空题
1.html或htm
2.嵌入式样式表、内联式样式表和外联式样式表
3.文档体
4.有序列表、无序列表和自定义列表
5.表单标签、表单域和表单按钮
6.表格
3.6.3简答题
1.简述什么是HTML,有什么基本标签。
答:HTML(Hypertext Markup Language)即超文本标记语言或超文本链接语言,是一种用来制作超文本文档的简单标记语言,它不是一种真正的编程语言,只是一种标记符。通过一些约定的标签符号对文件的内容进行标注,指出内容的输出格式。当用户浏览WWW 信息时,浏览器会自动解释这些标签的含义,并按照一定的格式在屏幕上显示这些被标记的信息。基本标签有、
、2.简述什么是CSS。
答:CSS(级联样式表)是一种设计网页样式的工具,借助CSS的强大功能,网页将在你丰富的想象力下千变万化。
CSS是W3C为弥补HTML在显示属性设定上的不足而制定的一套扩展样式标准,其重新定义了HTML中文字显示样式,并增加了一些新的概念,如类、层等,可以实现对文字重叠、定位等。CSS还允许将样式定义单独存储在样式文件中,将显示的内容和显示的样式定义分离,使我们在保持HTML简单明了的初衷的同时能够对页面的布局施加更多的控制,避免代码的冗余,使网页体积更小,下载更快。另外,也可以将多个网页链接到同一个样式文件,从而为整个网站提供一个统一、通用的外观,同时也使多个具有相同样式表的网页可以简单快速的同时更新。
3.简述CSS中定义样式表的几种方式。
答:(1)通过HTML标签定义样式表
(2)使用id定义样式表
(3)使用class定义样式表
4.简述HTML中加入CSS中的几种方式。
答:(1)嵌入式样式表
(2)内联式样式表
(3)外联式样式表
3.6.4实验题
略
第4章JSP基础知识
4.8.1选择题
1.B
2.D
3.A
4.B
5.C
4.8.2填空题
1.“<%”或“
2.HTML或XML
3.文件
4.隐藏注释、HTML注释和Java语言注释
5.向页面输出内容
4.8.3简答题
1.简述JSP程序中三种注释的异同。
答:隐藏注释也是JSP的标准注释,写在JSP程序中,在发布网页时完全被忽略,不发给客户,当希望隐藏JSP程序的注释时是很有用的,其格式为:<%-- comment --%>。
HTML注释,在发布网页时可以在浏览器源文件窗口中看到HTML注释,其格式为:。
在JSP程序中,也遵循Java语言本身的注释规则对代码进行注释,这样的注释和隐藏注释相似,在发布网页时完全忽略,在浏览器的源文件窗口中也看不到注释内容,其格式为:<%/*comment*/%>。
2.简述page指令、include指令和taglib指令的作用。
答:page 指令用来定义JSP文件中的全局属性,它描述了与页面相关的一些信息,其作用域为它所在JSP页面和其包含的文件。
include指令用于在JSP编译时,为页面插入一个静态文件,如JSP页面、HTML页面、文本文件或是一段Java程序。
taglib指令用来指定页面中使用的标签库以及其自定义标签的前缀。
3.JSP常用基本动作有哪些?简述其作用。
答:其中常用的动作有6种:
4.简述include指令和
答:include指令和include动作都能实现将外部文档包含到JSP文档中的功能,名称相似,但也有区别。
(1)include指令
include指令可以在JSP页面转换成Servlet之前,将JSP代码插入其中。
(2)include动作
(3)两者的区别和比较
两者之间的差异决定着它们在使用上的区别。使用include指令的页面要比使用
4.8.4实验题
略
第5章JSP的常用内置对象
5.10.1选择题
1.B
2.A
3.D
4.C
5.10.2填空题
1.客户端,服务器端
2.out
3.pageContext
4.application
5.错误和异常
5.10.3简答题
1.简述out对象、request对象和response对象的作用。
答:out对象主要用来向客户输出各种数据类型的内容,并管理应用服务器上的输出缓冲区(buffer);request内置对象代表了客户端的请求信息,主要用于接收客户端通过HTTP 协议传送给服务器端的数据;response对象包含了响应客户请求的有关信息,封装了JSP产生的响应,然后被发送到客户端以响应客户的请求。
2.简述session对象、pageContext对象、exception对象和application对象的作用。
答:session对象用来保存每个用户的信息,以便跟踪每个用户的操作状态;pageContext 对象提供了对JSP页面内使用到的所有对象及名字空间的访问,提供了对几种页面属性的访问,并且允许向其它应用组件转发request对象,或者从其它应用组件包含request对象;exception对象用来处理JSP文件在执行时发生的错误和异常;application对象保存Web应用程序中公有的数据,可存放全局变量。服务器启动后自动创建application对象,该对象将一直有效,直到服务器关闭。
5.10.4实验题
略
第6章JSP中数据库基本操作
6.10.1选择题
1.A
2.B
3.A
6.10.2填空题
1.JDBC
2.JDBC-ODBC桥
3.insert into
6.10.3简答题
1简述JDBC的作用。
答:JDBC是一个面向对象的应用程序接口(API),通过它可访问各类关系数据库。JDBC也是Java核心类库的一部分,由一些Java语言编写的类和界面组成。JDBC为数据库应用开发人员、Java Web开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。主要实现:
(1)同一个数据库建立连接;
(2)向数据库发送SQL语句;
(3)处理数据库返回的结果。
2.简述JDBC驱动和JDBC-ODBC桥的区别和联系。
答:JDBC-ODBC桥是一个JDBC驱动程序,它通过将JDBC操作转换为ODBC操作来实现JDBC操作。桥为所有对ODBC可用的数据库实现JDBC。由于ODBC被广泛地使用,该桥的优点是让JDBC能够访问几乎所有的数据库。建议尽可能使用纯Java JDBC驱动程序代替桥和ODBC驱动程序,这可以完全省去了ODBC所需的客户机配置,也免除了Java虚拟机被桥引入的本地代码中的错误所破坏的可能性。
6.10.4实验题
略
第7章企业信息管理系统项目实训
略
第8章JSP与JavaBean
8.7.1选择题
1.A
2.A
8.7.2填空题
1.application
2.JavaBean
8.7.3简答题
1.简述JavaBean的种类。
答:JavaBean是遵循特殊规范的Java类。按功能分,可以分为可视Bean和不可视两类。
●可视Bean是在画面上可以显示的Bean,通过属性接口接收数据并显示在画面。
●不可视Bean即JSP中时常使用的Bean,在程序的内部起作用,如用于求值、存储
用户数据等。
2.简述创建JavaBean的规则。
答:JavaBean定义(声明)应遵循的规范:
●必须有一个无参的构造函数。
●对在Bean中定义的所有属性提供getter和setter方法,并且这些方法是公共的。
●对于boolean类型的属性,其getter方法的形式为isXXX的,其中XXX为首字母
大写的属性名。
●对于数组类型的属性,要提供形式为getXXX和setXXX的方法。
8.7.4实验题
略
第9章Java Servlet技术
9.6.1选择题
1.C
2.B
9.6.2填空题
1.web.xml
2.Java
9.6.3简答题
1.简述什么是Servlet。
答:Servlet是Java Web应用程序中的组件技术,是与JSP—样运行在服务器端的Java 应用程序,实现与JSP类似的功能,Servlet本身是一个Java类,可以动态地扩展服务器的能力。所有的JSP文件要事先转换为一个Servlet才能运行,执行JSP文件的时候,首先JSP Container会将其转译为Servlet文件,并自动编译解释执行。JSP中使用到的所有对象都将被转换为Servlet,然后被执行。
2.简述Servlet的生命周期。
答:Servlet是在服务器端运行的。Servlet是javax.servlet包中HttpServlet类的子类,由服务器完成该子类的创建和初始化。Servlet的生命周期定义了一个Servlet如何被加载、初始化,以及它怎样接收请求、响应请求、提供服务。Servlet的生命周期主要由3个过程组成。
3.简述Servlet技术的特点。
答:(1)有效性
(2)方便性
(3)功能强大性
(4)可移植性
(5)安全性
(6)便宜
4.简述Servlet与JSP的区别。
答:Servlet与JSP相比有以下几点区别:
(1)编程方式不同
Servlet是按照Java规范编写的Java程序,JSP是按照Web规范编写的脚本语言。
(2)编译方式不同
Servlet每次修改后需要重新编译后才能运行,JSP是被JSP Container编译为Servlet文件。
(3)运行速度不同
由于一个JSP页面在第一次被访问时要被编译成Servlet需要一段时间,所以客户端得到响应所需要的时间比较长。当该页面再次被访问时,它对应的.class文件已经生成,不需要再次翻译和编译,JSP引擎可以直接执行.class文件,因此JSP页面的访问速度会大为提高。总之,在运行速度上,Serlvet比JSP速度快。
5.简述Servlet在web项目中的作用。
答:(1)Servlet在服务器端的作用
在浏览器访问服务器时,所有的JSP文件都会转化为Servlet文件,Servlet文件负责在服务器端处理用户的数据。这部分功能在开发服务器时已经封装成底层的功能,我们可不用关心这部分功能,除非自己在开发一个服务器时才用到。
(2)Servlet在MVC设计模式中应用
MVC是一种目前广泛流行的软件设计模式,早在70年代,IBM就进行了MVC设计模式的研究。近来,随着JavaEE的成熟,它成为在JavaEE平台上推荐的一种设计模型,是广大Java开发者非常感兴趣的设计模型。随着网络应用的快速增加,MVC模式对于Web应用的开发无疑是一种非常先进的设计思想,无论选择哪种语言,无论应用多复杂,它都能为理解分析应用模型提供最基本的分析方法,为构造产品提供清晰的设计框架,为软件工程提供规范的依据。MVC 设计模式是目前用得比较多的一种设计模式,被广泛应用于Web 应用程序中。Model(模型)表示业务逻辑层,View(视图)代表表示层,Controller(控制器)代表控制层。其中,控制器部分由Servlet完成,这也是我们实际在项目开发中用到的Servlet。
(3)Servlet在Web框架中的应用
在Java Web项目开发中用到的主要组件技术有JSP、Servlet、JavaBean、JDBC、XML、Tomcat等技术。为了整合Java Web组件技术提高软件开发效率,近年来推出许多基于MVC 模式的Web框架技术,如Struts、Maverick、WebWork 和Turbine 等。其中比较经典的框架技术是Struts。
在Struts框架技术中,实现了MVC模式,其中已封装好核心控制器,由Servlet实现;我们还需要实现Action来完成对数据流量的控制,Action在Struts1.X版本中由Servlet实现控制功能,在Struts2.X版本中Action是业务控制器,由Java类来实现。有关Servlet在Struts 中的应用请参考Struts相关资料。
9.6.4实验题
略
第10章基于MVC设计模式的个人信息管理系统项
目实训
略
《JSP 程序设计》复习题 一、 选择题 HTML 页面中加入( D )就构成了一个 JSP 页面文件。 A 、JAVA 程序片 B 、JSP 标签 C 、用“<%”、“%>”标记符号括起来的程序 2. 配置 JSP 运行环境,若 WEB 应用服务器选用 TOMCAT ,以下说法正确的是: ( A 、先安装 TOMCAT ,再安装 JDK ,再安装 TOMCAT B 、不需安装 JDK ,安装 TOMCAT 就可以了 C 、JDK 和 TOMCAT 只要都安装就可以了,安装顺序没关系 B ) 3. 对于“<%!”、“%>”之间声明的变量,以下说法正确的是:( B ) A 、不是 JSP 页面的成员变量 、多个用户同时访问该页面时,任何一个用户对这些变量的操作,都会影响到其他用 C 、多个用户同时访问该页面时,每个用户对这些变量的操作都是互相独立的,不会互 相影响 D 、是 JSP 页面的局部变量 4. 在客户端浏览器的源代码中可以看到( B A 、JSP 注释 C 、JSP 注释和 HTML 注释 D 、JAVA 注释 5. page 指令的作用是:( A ) JSP 页面的一些属性和这些属性的值 A 、用来在 JSP 页面内某处嵌入一个文件 B 、使该 JSP 页面动态包含一个文件 C 、指示 JSP 页面加载 Java plugin 6. page 指令的 import 属性的作用是( C A 、定义 JSP 页面响应的 MIME 类型 B 、 D 、定义 JSP 页面字符的编码 ) 7. ( C )可在 JSP 页面出现该指令的位置处,静态插入一个文件。 A 、page 指令标签 B 、page 指令的 import 属性 指令标签 D 、include 动作标签 8. 以下对象中的( D )不是 JSP 的内置对象。 A 、request B 、session C 、application
第1章JSP概述 习题一解答 1.答:确保Tomcat服务器使用的是Java_home环境变量设置的JDK 2.答:见1.3.2中的新建Web服务目录。 3.答:在浏览器的地址栏中键入:http://IP:端口号/Web服务目录/子目录/JSP页面。4.答:修改Tomcat服务器安装目录中conf文件夹中的主配置文件:server.xml,只要没有其他应用程序正在占用80,就可以将端口号设置为80。
第2章JSP页面与JSP标记 习题二解答 1.答:“<%!”和“%>”之间声明的变量在整个JSP页面内都有效,称为JSP页面的成员变量,成员变量的有效范围与标记符号<%!、%>所在的位置无关。所有用户共享JSP页面的成员变量,因此任何一个用户对JSP页面成员变量操作的结果,都会影响到其他用户。 “<%”和“%>”之间声明的变量称为局部变量,局部变量在JSP页面后继的所有程序片以及表达式部分内都有效。运行在不同线程中的Java程序片的局部变量互不干扰,即一个用户改变Java程序片中的局部变量的值不会影响其他用户的Java程序片中的局部变量。当一个线程将Java程序片执行完毕,运行在该线程中的Java程序片的局部变量释放所占的内存。 2. 答:两次。 3.答:不允许。允许。 4.答:第一个用户看到的sum的值是610,第二个用户看到的sum的值是1210 5. 答: <%@ page contentType="text/html;charset=GB2312" %>
<% for(char c='A';c<='Z';c++) { out.print(" "+c); } %> 6.答:include指令标记的作用是在JSP页面出现该指令的位置处,静态插入一个文件,即JSP页面和插入的文件合并成一个新的JSP页面,然后JSP引擎再将这个新的JSP页面转译成Java文件。因此,插入文件后,必须保证新合并成的JSP页面符合JSP语法规则,即能够成为一个JSP页面文件。include动作标记告诉JSP页面动态加载一个文件,不把JSP页面中动作指令include所指定的文件与原JSP页面合并一个新的JSP页面,而是告诉Java解释器,这个文件在JSP运行时(Java文件的字节码文件被加载执行)才被处理。如果包含的文件是普通的文本文件,就将文件的内容发送到客户端,由客户端负责显示;如果包含的文件是JSP文件,JSP引擎就执行这个文件,然后将执行的结果发送到客户端,并由客户端负责显示这些结果。 7. 答:习题1 JSP 简介 1. 安装Tomcat5.5所在的计算机需要事先安装JDK吗? 答:需要。 2. 运行startup.bat启动Tomcat服务器的好处是什么? 答:能够确保Tomcat服务器使用的是JA V A_HOME环境变量设置的JDK. 3. Boy.jsp和boy.jsp是否是相同的JSP文件名字 不是 4. 请在D:\下建立一个名字为water的目录,并将该目录设置成一个Web服务目录,然后编写一个简单的JSP页面保存到该目录中,让用户使用权虚拟目录fish来访问该JSP页面? 答:设置方法: ①建立D:\ water目录; ②修改server.xml文件,在上一行添加:
5. 假设Dalian是一个Web服务目录,其虚拟目录为moon, A.jsp保存在Dalian的子目录sea中。那么在Tomcat服务器(端口号8080)所在计算机的浏览器键入下列哪种方式是访问A.jsp的正确方式?A.http://127.0.0.1:8080/A.jsp B. http://127.0.0.1:8080/Dalian/A.jsp C. http://127.0.0.1:8080/moon/A.jsp D. http://127.0.0.1:8080/moon/sea/A.jsp 答:D 6. 如果想修改的端口号,应当哪个文件?能否将端口号修改为80?答:修改Tomcat服务器的conf目录下的主配置文件server.xml可以更改端口号. 若Tomcat服务器上没有其他占有80端口号的程序,可以将其修改为8080,否则不能。 习题2 JSP页面 1."<%!"和"%>"之间声明的变量与"<%"和"%>"声明的变量有何不同? 答: "<%!"和"%>"声明的变量为类的成员变量,其所占的内存直到
《JSP程序设计实用教程》期末考试试卷(A卷) (考试时间90分钟,满分100分) 一、选择题(1~40题,每题1分,共40分) 下面各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂抹在答题卡相应的位置上,答在试卷上不得分。 1.在传统的HTML页面中加入()就构成了一个JSP页面文件。 A.JAVA程序片B.JSP标签 C.用“<%”、“%>”标记符号括起来的程序D.JAVA程序片和JSP标签 2.配置JSP运行环境,若WEB应用服务器选用TOMCAT,以下说法正确的是:()A.先安装TOMCAT,再安装JDK B.先安装JDK,再安装TOMCAT C.不需安装JDK,安装TOMCAT就可以了 D.JDK和TOMCAT只要都安装就可以了,安装顺序没关系 3.对于“<%!”、“%>”之间声明的变量,以下说法正确的是:() A.不是JSP页面的成员变量 B.多个用户同时访问该页面时,任何一个用户对这些变量的操作,都会影响到其他用户C.多个用户同时访问该页面时,每个用户对这些变量的操作都是互相独立的,不会互相影响 D.是JSP页面的局部变量 4.在客户端浏览器的源代码中可以看到()。 A.JSP注释 B.HTML注释 C.JSP注释和HTML注释 D.JAVA注释 5.page指令的作用是:()。 A.用来定义整个JSP页面的一些属性和这些属性的值 B.用来在JSP页面内某处嵌入一个文件 C.使该JSP页面动态包含一个文件 D.指示JSP页面加载Java plugin 6.page指令的import属性的作用是()。 A.定义JSP页面响应的MIME类型 B.定义JSP页面使用的脚本语言 C.为JSP页面引入JAVA包中的类 D.定义JSP页面字符的编码 7.page指令的()属性可以设置JSP页面是否可多线程访问。 A.session B.buffer C.isThreadSafe D.info 8.()可在JSP页面出现该指令的位置处,静态插入一个文件。 A.page指令标签 B.page指令的import属性 C.include指令标签
一、判断题 HTML称为超文本元素语言,它是Hypertext Marked Language的缩写。(对) 一个HTML文档必须有
和