admin 管理员组

文章数量: 1184232


2023年12月17日发(作者:transaction failed邮政)

Java Web 复习题集(1)

一、单项选择题(请将所选择的答案号码填写在每小题中的圆括号内)

1、下列( )不属于JSP动作指令标记。

A. B.

C. D.

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属性的值已经预先由中的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.可以通过修改文件中的内容来改变Mapping URL相对映射路径

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.标签的功能与JSP中的<%=表达式%>类似

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、动作标记与<%@include>指令标记包含文件的处理时间和方式不同。( )

5、标记的page属性值是相对的URL地址,只能是静态的URL。( )

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、标签中属性test的值为true,则会跳过其标签体的执行。( )

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的应用中需要注意不能在一个中同时使用property和value。( )

35、对数据库的访问,通常使用JavaBean来实现。( )

36、JavaBean组件在JSP页面中主要用于封装页面的逻辑代码。( )

37、使用EL表达式语言能够实现对JSP内置对象、请求参数、Cookie和其他请求数据的各种操作。( )

38、在Web应用的文件中设置一个初始化参数song,具体代码如下:

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"

<%--检查请求中是否有用户名和密码信息,如有但不符要求则输出错误信息--%>

<% if (___________________&&___________________) { %>

<%}%>

用户登录
用户名或密码错误,请重新登录!
登录名:
密码

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映射设置为/ShowUser)。在该页面输入登录用户名,如果用户名为张三、密码为12345,则跳转到页面并在该页面分别利用request对象和EL表达式获取并输出登录用户名(如图2所示),否则重定向到页面。

图1 页面 图2 页面

(1)编写。

(2)编写。

(3)写出布署描述文件中配置Servlet程序的代码。

(4)编写。

5、编写JavaBean的简单应用程序。

(1)编写一个封装用户信息的JavaBean,类名为UserForm,类中包含姓名、登录密码属性,该类置于bean包中。

(2)编写一个页面,在该页面中调用UserForm对象,通过JSP动作,设置其姓名为张三、密码为12345,然后再分别通过JSP动作和EL表达式获取其姓名、密码并显示(如图3所示)。

图3 页面


本文标签: 对象 页面 属性 请求 方法