admin 管理员组文章数量: 1184232
2023年12月17日发(作者:transaction failed邮政)
Java Web 复习题集(1)
一、单项选择题(请将所选择的答案号码填写在每小题中的圆括号内)
1、下列( )不属于JSP动作指令标记。
A.
C.
2、JSP的( )指令允许页面使用者自定义标记库。
A.include指令 B.taglib指令
C.lib指令 D.plugin指令
3、下面变量声明在( )范围内有效。
<%! Date dateTime; int countNum; %>
A. 从定义开始处有效,客户之间不共享
B.在整个页面内有效,客户之间不共享
C.在整个页面内有效,被多个客户共享
D.从定义开始处有效,被多个客户共享
4、include指令用于在JSP页面静态插入一个文件,插入文件可以是JSP页面、HTML页面、文本文件或一段Java代码,但必须保证插入后形成的文件是( )。
A.一个完整的HTML文件 B.一个完整的JSP文件
C.一个完整的TXT文件 D.一个完整的Java源文件
5、JSP页面可以在“<%=”和“%>”标记之间放置Java表达式,直接输出Java表达式的值。组成“<%=”>”标记的各字符之间( )。
A.可以有空格 B.不可以有空格
C.必须有空格 D.不确定
6、关于page指令的一些属性,说法错误的是( )。
A.contentType属性用于设置传回网页的文件格式和编码方式
B.pageEncoding属性用于指定本页面编码的字符集
C.在JSP标准语法中,如果contentType属性存在,则由其决定JSP页面的字符编码方式
D.JSP页面的默认字符编码方式为ISO8859-1
7、使用response对象进行重定向时,使用的方法是( )。
A.getAttribute() B.setContentType()
C.sendRedirect() D.setAttribute()
8、不能在不同用户之间共享数据的方法是( )。
A.通过Cookie B.利用文件系统
C.利用数据库 D.通过ServletContext对象
9、在JSP中作用域由小到大的组合是( )
A.request page session application
B.page request session application
C.pageContext request session application
D.pageScope request sessionScope applicationScope
10、以下关于session对象说法错误的是( )。
A.session对象是用户首次访问服务器时由服务器自动为其创建的
B.在JSP中可以通过pageContext对象获得session对象
C.只有访问JSP、Servlet等程序时才会创建session对象
D.只访问HTML、IMAGE等静态资源并不会创建session对象
11、以下关于application对象说法错误的是( )。
A.application对象的生命周期是JSP所有隐含对象中最长的
B.application对象是tContext接口的实例对象
C.application对象在用户首次访问服务器时由服务器自动创建
D.application对象可用于聊天室当前在线人数据的统计
12、可以利用JSP动态改变客户端的响应,使用的语法是( )
A.der() B.der()
C.Header() D.rHeader()
13、获取本地所有Cookie的方法是( )。
A.kies() B.kie()
C.kies() D.kies()
14、关于JavaBean编写及使用的说法错误的是( )。
A.所有属性都是private的,访问属性的方法必须是public的
B.默认构造方法是public的,并且是无参的
C.属性值的获取采用get加上第一个字母大写的属性名来命名方法,并且该方法是public的,返回值类型是对应属性的类型
D.如果只有get()方法,则对应的属性无法访问
15、关于动作
A.name属性的值已经预先由
B.
C.如果同时省略了value和param属性,则等价于设置value和param两者属性值一致
D.可以设置property值为”*”并同时省略value和param实现property值和request参数自动匹配
16、以下关于Servlet的说法错误的是( )。
A.Servlet的核心方法是doGet()和doPost()
B.默认的service()服务功能是调用 与HTTP请求方法相应的doGet()或doPost()方法
C.Servlet只需被加载一次,然后将会实例化该类的一个实例或多个实例。情况下Servlet实例在第一个请求到来时创建,以后复用
D.可以通过修改文件中
17、以下说法错误的是( )。
A.HttpServletRequest接口提供了获取客户端的输入流的方法
B.HttpServletResponse接口提供了添加一个Cookie对象到当前会话中的方法
C.每个Web应用只有一个ServletContext实例,通过该实例可与其他Web应用交换信息
D.每个ServletConfig对象对应着一个唯一的Servlet
18、关于Servlet过滤器的说法错误的是( )。
A.Servlet过滤器能够对Servlet窗口的请求和响应对象进行检查和修改
B.Servlet过滤器可以通过设置字符集解决Post方法提交的表单数据的中文乱码问题
C.
D.请求信息时要经过过滤器,回应信息时就不需要了
19、以下说法错误的是( )
A.EL(Expression Language)提供了在JSP中进行数据表达的另一种简便方法
B.EL(Expression Language)提供了“[ ]”、“.”两种运算符来取数据。“[ ]”可以访问域空间中集合或数组的元素、Beanr属性等
C.page范围在EL(Expression Language)中使用名称是pageContextScope
D.对id为”user”的JavaBean的属性username的获取,${me}与${user[“usernme”]}是等价的
20、关于JSTL核心标签库的说法错误的是( )
A.
B.
C.
D.
21、配置JSP运行环境,若Web应用服务器选用Tomcat,则以下说法正确的是( )
A.先安装Tomcat再安装JDK
B.先安装JDK再安装Tomcat
C.不需要安装JDK,安装Tomcat就可以
D.JDK和Tomcat都需要安装,但安装顺序没有要求
22、以下关于Tomcat的目录说法错误的是( )
A.biri目录 —— 包含启动、关闭脚本
B.conf目录 —— 包含不同的配置文件
C.lib目录 —— 包含Tomcat使用的Jar文件
D.work目录 —— 包含Web项目示例,当发布Web应用时,默认情况下把Web文件夹放在这里
23、关于JSP描述不正确的是( )
A. JSP技术可以建立先进、安全和跨平台的动态网站
B.JSP页面可以将内容的动态生成部分和静态显示部分进行分离
C.JSP可以一次编写,处处运行
D.每次请求JSP页面都要先将JSP编译成Servlet后由Java虚拟机执行
24、在JSP页面中如果要导入包,需要使用( )指令
A.page B.taglib C.include D.forward
25、如果当前JSP页面出现异常时需要转到另一个异常页,需要设置pagc指令的( )属性
A.error B.errorPage C.isErrorPage D.excception
26、JSP中的隐式注释是( )
A.//注释内容 B.
C. <%- - 注释内容 --%> D./* 注释内容 */
27、在JSP中,( )动作用于将请求转发给其他JSP页面
A.forward B.include C.param D.plugin
28、下面不属于JSP内置对象的是( )
A.out对象 B.respone对象 C.application对象 D.page对象
29、以下( )对象提供了访问和放置页面中共享数据的方式
A.pageContext B.response C.request D.session
30、在JSP中为内建对象定义了4种作用范围,即Application Scope、Session Scope、Page
Scope和( )4个作用范围。
A.Request Scope B.Response Scope C.Out Scope D.Writer Scope
31、Form表单的method属性能取( )项的值
A.submit B.puts C.post D.out
32、可以利用JSP动态改变客户端的响应,使用的语法是( )
A.der() B.der()
C.Header() D.rHeader()
33、JSP页面中ameter(String)得到的数据,其类型是( )
A.Double B.int C.String D.Integer
34、当利用request的方法获取Form中的元素时,默认情况下字符编码是( )
A.ISO-8859-1 B.DB2312 C.GB3000 D.ISO-8259-1
35、以下关于Servlet的说法错误的是( )
A.调用getServletConfig()方法,可得到传递到init()方法的ServletConfig对象
B.调用getServletContext()方法,可得到config对象中引用的ServletContext
C.如果要处理所有类型的请求,则只需实现service()方法即可。但是,假如选择实现service()方法,则不必实现doGet()或doPost()方法
D.当用户首次调用对应于Servlet的URL或再次启动服务器时,就会创建Servlet。当有客户再请求Servlet服务时,Web服务器将调用已创建的Servlet对象响应客户的请求
36、以下说法错误的是( )
A.ServletContext接口主要定义Servlet用于获取容器信息的方法
B.Servlet接口主要定义所有Servlet必须实现的方法
C.包中定义了采用HttpcewyrHttpServlet类
D.包中未定义Cookie类
37、( )不是JavaBean类的编码规范
A.所有属性都是私有的,必须加private修饰。
B.默认构造方法是公有的(public修饰),并且没有参数。
C.属性值的获取采用get加上第一个字母大写的属性名来命名方法,并且该方法是公有的(public修饰),返回值类型是对应属性的类型。
D.如果属性类型为boolean,也可以使用is加上第一个字母大写的属性名来命名。
38、以下关于EL表达式的说法错误的是( )
A.取得某一范围中名称为username的值可用${username}实现
B.对某ArrayList类型变量aryList中索引值为0 的元素的访问可通过${aryList[0]}实现
C.${true || false}的结果是true
D.可通过${}获得当前页面对象
39、执行以下表达式语句后的结果是( )
${i}
A.1 3 5 7 9
B.1 4 7 10
C.1 5 9
D.运行错误
40、执行以下标签语句后的结果是( )
${var1}
A.11
B.22
C.12
D.运行错误
二、判断题(以下论述中你认为正确的请选择“√”,错误的请选择“×”,并将所有的选择结果填写在每小题后面的一对圆括号内)
1、程序片段中声明的变量的有效范围与其声明位置有关,即从声明位置向后有效,可以在声明位置后的程序片、表达式中使用。( )
2、JSP表达式的值由服务器负责计算,并将计算值按字符串发送给客户端显示。( )
3、不能用一个page指令指定多个属性的取值。( )
4、
5、
6、request的生命周期比session的生命周期长。( )
7、当request对象获取客户端提交的汉字字符时,会出现乱码问题,解决方式是改变编码格式为UTF-8。( )
8、JSP内置对象是指不用声明就可以在JSP页面的脚本部分使用的对象。( )
9、out对象的clearBuffer()方法用来清除缓冲区里的数据,但并不把数据写到客户端。( )
10、session对象的存在期限是指浏览器未关闭之前及默认时间内。( )
11、JavaBean从应用形式或功能上一般可以分为封装数据的JavaBean和封装业务的JavaBean。( )
12、Servlet通常用于在服务器端完成处理页面请求的操作。( )
13、通过ServletContext对象可以获取Web容器的相关信息。( )
14、可以从ServletConfig对象中得到ServletContext对象。( )
15、过滤器是特殊的Servlet。( )
16、通过${me}可以取得request中的变量username的值。( )
17、EL表达式中的param对象可以直接读取页面提交的控件变量的多个值。( )
18、
19、
20、
21、静态网页时指网页一旦制作完成,就不能随意更改或者需要专业的技术人员才能修改,而动态网页是指能够根据用户的需求而动态改变的页面。( )
22、JSP就是一种动态网页编程语言,应用开发模式采用的就是浏览器/服务器模式。( )
23、JSP是在静态的HTML网页文件中加入JSP标记和Java程序片段构成JSP页面(.jsp文件)的。( )
24、当客户端再次访问某个JSP文件时,服务器直接装载JSP对应的servlet的字节码文件,结果再嵌入到HTML中返回给客户端。( )
25、JSP指令与JSP动作的区别是JSP指令是静态的,而JSP动作是动态的。( )
26、客户端向服务器端发送数据时,通常采用get方式或post方式,get方式较post方式安全性低但是执行效率高。( )
27、重定向(redirect)与跳转(forward)的区别之一是:重定向可以通过绝对URL重定向到其他
站点的资源,而跳转不能跳转到其他站点的资源。( )
28、application对象的基类是tContext类。( )
29、session中存储的信息在当前用户连接的所有页面中都是可以被访问到的。( )
30、仅通过pageContext对象不能访问到本页面中所有的其他对象。( )
31、所有针对因特网应用的Servlet编程都通过继承 rvlet 实现。( )
32、可以使用Servlet实现文件的上传和下载。( )
33、若要将Servlet做成既能处理GET请求,也能够处理POST请求,只需要实现doGet()方法,然后在doPost()方法中调用doGet()方法。( )
34、在JavaBean的应用中需要注意不能在一个
35、对数据库的访问,通常使用JavaBean来实现。( )
36、JavaBean组件在JSP页面中主要用于封装页面的逻辑代码。( )
37、使用EL表达式语言能够实现对JSP内置对象、请求参数、Cookie和其他请求数据的各种操作。( )
38、在Web应用的文件中设置一个初始化参数song,具体代码如下:
通过${}可获得参数song的值。( )
39、要获得名字为userCookie的cookie对象的值,可以使用语句:${}或${cookie[“userCookie”].value}。( )
40、以下代码执行后的输出结果是5。( )
三、填空题(请将答案填写在下面各小题的下划线上)
1、JSP页面动态部分包括JSP注释、____________________、JSP表达式、____________________、JSP指令和____________________。
2、Page指令用来设置整个JSP页面的________________________________________。
3、JSP页面的字符编码方式默认是____________________。
4、<%@page %>指令不能包含用____________________指令指定的动态包含文件,因为动态包含时实际上仍是________________________________________而静态包含实际上是________________________________________。
5、jsp:forward动作从当前页面转发到另一个页面时,实际完成的还是____________________,因此在转发过程中request对象在新的页面中也是____________________,这种跳转也称为____________________。
6、客户每次向JSP服务器发送请求时,JSP引擎都会创建一个____________________对象。
7、____________________对象是用户首次访问服务器时由服务器自动为其创建的。
8、在编写JSP时,对一些常用的复杂功能,通常将它们的共同功能抽象出来,组织为____________________。
9、在实际编程中,不需要编写service()方法,只需编写相应的____________________和____________________方法。
10、过滤器执行doFilter( )方法时,会自动获得____________________对象,使用该对象的doFilter( )方法可继续调用下一级过滤器。
11、对____________________方法提交的表单数据的乱码问题可以通过编写过滤器的方法解决。
12、迭代标签有两种:
13、____________________文件对标签thgjod和标签之间建立映射关系,这样在JSP页面中只要引入标签库,就可以使用标签库中声明的所有标签。
14、JSP是指_______________________________________,是由Sun Microsystems公司倡导、许多公司参与一起建立的一种____________________网页技术标准。
15、将Tomcat压缩版解压后,启动前还需要配置环境变量__________________________。
16、Web是一个基于____________________协议的一种B/S模式应用。
17、JSP指令元素包含三种,它们是:page、____________和____________。
18、JSP技术开发的应用模式只能是________________________或________________________。
19、客户端和服务器端通信是通过________________________协议来完成的。
20、
21、include指令只有一个属性:____________________。
22、当用户登录网站时,系统会自动分配给用户一个________________________,用来标识________________________访问客户。
23、rvlet实现了专门用于响应________________________的Servlet,提供了响应请求的________________________和________________________方法。
24、JavaBean组件在JSP页面中主要用于____________________。
25、____________________对象用于获取HTTTP请求的一个具体的header的值,但在有些时候,可能存在同一个header拥有多个不同的值,这时就需要使用____________________。
26、核心标签____________________用于导入站内或其他网站的静态和动态文件到Web页面中
四、程序填空题(请将答案按注释要求填写在带下划线的空行上)
1、编写一个用户登录的示例演示如何存取request及session对象中的属性。示例中有两个JSP文件,其中为登录页面,用于输入用户登录的信息,如果用户输入的登录名为“admin”,密码为“123”,则将登录名存入session中,跳转到页面,页面将获取到的用户名和密码显示出来。
//
<%@ page language="java" import=".*" pageEncoding="utf-8"%>
<%--进行登录验证--%>
<%
//对表单提交的数据进行编码设置,设置编码集为“UTF-8”
request. ________________________________________ ;
//获取用户请求信息,首次请求是没有这些信息的,从页面填写了信息提交后的再次请求就有这些信息了。
String user = request. _______________________________;
String password = request. ___________________________;
if ("admin".equals(user) && "123".equals(password)) {
//将用户名保存在session中
request. _____________________._____________________;
%>
//跳转到页面时传参数name="info" value="你好!"
<%
}
%>
//设置对表单的处理文件为"",提交方式为"post"
2、图书实体类(封装数据的JavaBean)用于封装图书表Titles中的一本图书记录,设计代码如下。
package bean;
public class Title {
private String isbn; //Isbn号
private String title; //书名
private String copyright; //版权
private String imageFile; //封面图像文件名称
private int editionNumber; //版本号
private int publisherId; //出版商ID
private float price; //价格
//以下是相应的set()和get()方法
……
}
按JavaBean规范写出的购书项CartItem类拥有图书对象和选购数量两个属性和相应的get()和set()方法。现按Servlet规范写出将所选图书添加到购物车的操作类AddTitlesToCar,其中doPost()方法编写如下。
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//获取session对象。若无session对象就不创建
HttpSession session = _______________________________________
RequestDispatcher dispatcher;
// 如果session不存在,则跳转到浏览图书(“”)页面
if (session == null) {
dispatcher = request. ________________________________ ("/");
dispatcher. _______________________________________
}
// 从session中取出购物车("cart"),和要添加的书籍对象("titles")
Map cart = (Map) ________________________________
Title titles = (Title) ________________________________
// 如果购物车不存在,创建购物车
if (cart == null) {
cart = new HashMap();
}
// 将购物车存入session之中
session. ________________________________
// 从购物车对象(“cart”)中根据图书书号取出相应的图书项对象
CartItem cartItem = (CartItem) ________________________________
if (cartItem != null) // 如果购物车中已有图书项对象,则更新其选购数量
ntity(________________________________);
else{ // 否则,创建一个图书项对象条目到购物车(Map cart)中
CartItem cartItem1=________________________________
les(titles);
ntity(1);
//
(n(),_____________________);
}
//成功添加到购物车后,转向显示购物车
……
}
5、以下代码利用application对象设计一个所有用户对某网页的访问次数,并显示当前服务器的版本号。
<%
//判断application对象中有没有保存名为count的参数
//如果没有,在application对象中新增一个名为count的参数
if(application. ____________________==null){
application. _______________________________;
}
Integer count = (Integer)application. ____________________;
//使用application对象读取count参数的值,再在原值基础上累加1
application. ______________________________________________;
%>
欢迎您访问,本页面已经被访问过 <%=application.
____________________ %>次。
当前服务器的版本为 <%=application. ____________________%>
6、以下代码简单地写入和读出cookie。
<%@ page language="java" import=".*" pageEncoding="GB2312"%>
<%
String str1="hello";
//创建名为“str2”、值为str1的Cookie对象c
Cookie c = _______________________________;
//将Cookie对象c保存到客户端
_______________________________;
%>
正在将<%=str1%>写入Cookie。。。
_______________________________
<%@ page language="java" import=".*" pageEncoding="GB2312"%>
读出名为“str2”的Cookie的值:
<%
Cookie cookies[] = _______________________________;
for(int i=0;i<;i++){
if(cookies[i]. ____________________________________)
(cookies[i]. ______________________);
}
%>
7、如图所示,在JSP页面中放置一个名称为song的文本框和一个名称为songer的复选框。通过EL获取表单信息。
<%@page contentType="text/html;charset=GBK"%>
提交的内容如下:
<% request. ____________________________________; %>
歌名:${_______________________}
歌手:_____________________________________________________________________
8、应用
<%@ page contentType="text/html;charset=GBk"%>
<%@ taglib prefix=______________ uri="/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="/jsp/jstl/fmt" %>
_____________________________________________
_____________________________________________
_____________________________________________
_____________________________________________
五、编程题(请将程序写在相应题后空白处)
1、写出完整的JSP网页,利用application对象实现网站计数器。页面的标题栏内容为“网站访问计数器”,运行效果如图1、图2所示。
图1 第1次访问网站效果图 图2 第2次访问网站效果图
2、用于封装图书表Title中的一本图书记录的图书实体类(封装数据的JavaBean)设计代码见前面第四大题(程序填空题)中第2小题,请按JavaBean规范写出购书项CartItem类,其位于bean包,拥有图书对象title(Title类型)和选购数量quantity(int类型)两个属性和相应的get()和set()方法。
3、用核心标签和EL表达式设置Title对象的属性bookName的值即书名为“JSP程序设计”, CartItem对象的属性bookName的值即书名为“JSP程序设计”,用核心标签设置其对象的属性quantity值即选购数量为2,然后再用核心标签和EL表达式将这两个属性的值用表格输出,如图3所示。(JSP指令部分设计如下
<%@ page contentType="text/html;charset=utf-8"%>
<%@ taglib uri="/jsp/jstl/core" prefix="c"%>
)
图3 购书效果图
4、编写一个JSP页面(如图1所示),该页面的请求将提交给一个Servlet程序处理(Servlet映射设置为
图1 页面 图2 页面
(1)编写。
(2)编写。
(3)写出布署描述文件中配置Servlet程序的代码。
(4)编写。
5、编写JavaBean的简单应用程序。
(1)编写一个封装用户信息的JavaBean,类名为UserForm,类中包含姓名、登录密码属性,该类置于bean包中。
(2)编写一个页面,在该页面中调用UserForm对象,通过JSP动作,设置其姓名为张三、密码为12345,然后再分别通过JSP动作和EL表达式获取其姓名、密码并显示(如图3所示)。
图3 页面
版权声明:本文标题:Java Web 复习题集(1)期末考试题库含答案 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1702795226a431208.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论