强化练习Servlet.docx
- 文档编号:27241200
- 上传时间:2023-06-28
- 格式:DOCX
- 页数:13
- 大小:22.08KB
强化练习Servlet.docx
《强化练习Servlet.docx》由会员分享,可在线阅读,更多相关《强化练习Servlet.docx(13页珍藏版)》请在冰豆网上搜索。
强化练习Servlet
Ⅰ.选择题
1、基于HTTP协议的Servlet通常继承______,也可以继承_______。
这些类型都实现了接口________。
A.
B.答案:
CBA
2、MVC模式的优势有哪些(三个答案)
AMVC模式使应用程序的结构更加清晰,通过将代码按照层次划分为业务逻辑/数据层、用户界面和应用流程控制这三个层次,能够增强代码的稳定性。
BMVC模式实现了很好的分布式组件架构;
C对于项目开发而言,MVC三层的分离有利于在项目小组内按照小组成员各自的擅长进行分工,有利于三个部分并行开发、加快项目进度。
DMVC模块功能的划分有利于在代码修改过程中进行模块的隔离,而不需要把具有不同功能的代码混杂在一起造成混乱。
3、在Servlet中使用硬编码的HTML输出作为请求的响应具有哪些严重缺陷(三个答案)
A很难对HTML做出修改,因为每次修改都必须重新编译Servlet。
B由于HTML是硬编码的,所以维护不同的语言很困难。
判断用户的语言、所处的地区以及其他变化情况,然后再显示输出非常困难。
C当在Servlet中混合使用HTML和Java代码时,就很难分清页面设计和编程的职责。
D很难做出动态的相应。
4、下述Servlet的处理流程中表述不正确的步骤是:
A客户端发送一个请求至服务器端;服务器将请求信息发给Servlet;
BServlet引擎,也就是ejb容器会调用Servlet的service方法;
CServlet构建一个响应,并将其传给服务器。
这个响应是动态构建的,相应的内容通常取决于客户端的请求,这个过程中也可以使用外部资源。
D服务器将响应返回给客户端。
答案:
B
5、以下哪个方法不是Servlet的生命周期接口定义的
Ainit()
Bservice()
Cdestroy()
Dcreate()
答案:
D
6、以下是文档的一部分:
请问以上文档中的设置是指示服务器首先装载和初始化哪个servlet
ADisplay
BDisplayServlet
C
D由生成的servlet
答案:
D
7、以下有关Servlet常用的请求头的含义说法错误的是:
AAccept-Language头指出客户端倾向的语言。
如en。
BContent-Length头以字节为单位给出POST数据的长度。
CHost表明了主机和端口。
DUser-Agent头表明了发出请求的客户代理的信息。
答案:
D
8、以下关于JavaServletAPI说法错误的是:
AJavaServletAPI是一组Java类,它定义了Web客户端和WebServlet之间的标准接口。
BJavaServletAP由两个包组成:
和。
C包对http协议提供了特别的支持。
D包提供了对除http协议外其他协议的支持。
答案:
D
9、下列有ServletRequest和ServletResponse的描述错误的是
AServlet引擎使用ServletRequest来向Servlet提供有关客户请求的信息,使用ServletResponse向客户端传送经过MIME编码的数据。
BHttpServletRequest类和HttpServletResponse类能够提供进一步的与协议相关的数据。
Servlet的Service方法的参数是ServletRequest对象或ServletResponse对象中的一个。
C发送文本数据时,使用getWriter方法返回PrintWriter对象;发送二进制数据时,使用getOutputStream方法返回ServletOutputStream对象。
D在调用getWriter或getOutputStream方法之前必须调用setContentType方法。
答案:
B
10、有关Cookie下列说法正确的是(两个答案)
ACookie是将会话数据保存在客户端来维护会话状态的一种方式。
它是服务器发送给浏览器的体积很小的纯文本信息
B获得cookie后,用户以后再访问同一个Web服务器时,浏览器会把cookie原样发送给服务器。
CCookie是服务器端状态管理机制
DCookie是相对安全的一种状态管理机制
答案:
AB
11、下图中,两个客户端client1和Client2访问同一个ServletA。
ServletA为两个不同的客户端创建了两个不同的线程Thread1和Thread2。
以下关于它们的各个对象说法正确的是:
(三个答案)
A因为访问的是同一个Servlet,所以Thread1和Thread2共享一个ServletConfig对象
B因为访问的是同一个Servlet,所以Thread1和Thread2共享一个ServletContext对象
CServletRequest和ServletResponse对象是针对Servlet实例的。
所以Thread1和Thread2各自有各自的ServletRequest和ServletResponse对象。
D对于HttpSession对象,因为是同一个Servlet,因此它们是相同的。
答案:
ABC
12、有关过滤器init()方法错误的是:
A每次调用过滤器时都会执行init方法。
Binit方法可以访问FilterConfig对象。
FilterConfig对象提供了对servlet环境及文件中指派的过滤器名的访问。
C利用init将FilterConfig对象存放在一个字段中,以便doFilter方法能够访问servlet环境或过滤器名。
DFilterConfig对象具有一个getInitParameter方法,它能够访问部署描述符文件()中分配的过滤器的初始化参数。
答案:
A
13、当读取多值参数值时通常使用()方法,该方法返回一个()
A.getValues()
()
()
DgetParameterAtrributes()
A.枚举类型
B.字符串
C.字符串数组
D.其他
答案:
BC
14、Servlet程序中存储信息的几种不同的范围:
其中仅在一次请求范围内有效的消息是存放在()范围内的信息;在同一次会话内均能访问的信息是存放在()范围内的信息;在整个应用运行期间都有效的消息是存放在()范围内的信息,这三种访问范围依次()
A.ServletContext
C.seesion
D.增大
E.减小
答案:
BCAD
15、AJavaservletcanbedeclaredwiththetypeofcontentitwillproduce,suchasimage/gifortext/html,byusingacalltowhichofthefollowingmethodsofHttpServletResponse()
AencodeURL
BsetContentType
CresetBuffer
DaddCookie
答案:
B
16、有两个Servlet:
servlet1和servlet2,servlet1把HttpServletRequest和HttpServletResponse成功发送到servlet2,在servlet1中有如下代码:
IntegerI=newInteger(10);
(“x”,I);
以下是在servlet2中对属性x操作的代码,正确的是():
A.Integery=(“x”);
B.Objecty=(“x”);
C.inty=((Integer)(“x”)).intValue();
D.Integery=(Integer)(x);
E.(“x”);
答案:
BCD
17、对于以下描述,正确的是:
A.定义了默认的会话超时时长。
时长为30秒。
B.可以使用HttpSession接口的getMaxInactiveInterval()方法把该值取出来。
C.定义了默认的会话超时时长。
时长为30小时。
D.可以使用Session类的getMaxInactiveInterval()方法把该值取出来。
18、对于自己编写的Servlet1,以下对Servlet1的定义正确的是:
()
A.classServlet1implements
B.classServlet1extends
C.classServlet1extends
D.classServlet1extends答案:
C
19、假如编译Servlet要具备的环境都已经建立好。
现在用完全正确的命令编译该文件,对于以下陈述正确的是:
()
A.编译该文件时会提示缺少doGet()或者doPost()方法,编译不能够成功通过
B.编译后,把放在正确位置,在浏览器中查看该Servlet1,会看到输出文字:
hello!
。
C.编译后,把放在正确位置,在浏览器中查看该Servlet1,却看不到任何输出的文字。
D.编译后,把放在正确位置,在浏览器中查看该Servlet1,却看到产生运行时错误的出错信息。
答案:
B
20、把请求传递到Servlet:
myservlet。
文件如下:
sample1
sample2
在myservlet中,使用哪个方法,可以查看到用户在浏览时选择的所有值。
()
A.getParameterValues方法
B.getParameter方法
C.getQueryString方法
D.getAttribute方法
答案:
B
21、在J2EE中,对于HttpServlet类的描述,正确的是()。
(选择三项
A.我们自己编写的Servlet继承了HttpServlet类,一般只需要覆盖doPost或者doGet方法,不必覆盖service()方法。
因为一个service()方法是空的
B.HttpServlet类扩展了GenericServlet类,实现了GenericServlet类的抽象方法service()
C.HttpServlet类有两个service()方法
D.我们自己编写的Servlet继承了HttpServlet类,一般只需要覆盖doPost或者doGet方法,不必覆盖service()方法。
因为一个service()方法会调用doPost或者doGet方法
答案:
ABD
22、在J2EE中,ServletResponse的()方法可以返回在应答中写入二进制数据的对象,()方法可以返回应答中发送字符文本的对象()
A.getOutputStream()和getWrite()方法
B.getWrite()和getOutputStream()方法
C.getInputStream()和getPrint()方法
D.getStream()和getPrint()方法
答案:
A
23、Servlet程序的入口点是:
(A)
A.init()
B.main()
C.service()
D.doGet()
答案:
A
24、在一个Filter中,处理filter业务的是()方法。
A.dealFilter(ServletRequestrequest,ServletResponseresponse,FilterChainchain)
B.dealFilter(ServletRequestrequest,ServletResponseresponse)
C.doFilter(ServletRequestrequest,ServletResponseresponse,FilterChainchain)
D.doFilter(ServletRequestrequest,ServletResponseresponse)
答案:
C
25、下面对servlet中重定向说法描述错误的是(D)
A.使用的是HttpServletResponse接口的sendRedirect()方法
B.源组件的响应结果不会发送给客户端
C.sendRedirect()方法后的代码仍会执行
D.源组件和目标组件共享ServletRequest对象
答案:
D
26、所有的servlet过滤器类都必须实现()接口。
A.答案:
A
27、forward和sendredirect都是用来做页面跳转的,描述错误的是
A.forward之后可以使用原来的request对象,而且效率更高。
B.sendredirect之后不可以使用原来的request对象,而且效率低。
C.forward地址栏不变化,只能在web应用程序内的页面间跳转。
D.forward地址栏变化,可以跳转到任何页面和机器。
28、在运行Web项目时,IE提示“404错误”,可能的原因包括哪些
A.未启动Tomcat服务
B.未部署Web项目
C.URL中的上下文路径书写错误
D.URL中的文件名称书写错误
E.浏览器版本不符合Servlet要求
F.网络连接不正常
29、以下HTTP响应状态码的含义描述正确的是
A.200OK表示请求成功
B.400不良请求表示服务器未发现与请求URI匹配的内容。
C.404未发现表示由于语法错误而导致服务器无法理解请求信息500内部服务器错误,无法处理请求
Ⅱ.填空题
1.Servlet通常是通过_________协议进行工作的,Servlet运行时需要_________的支持。
2.ServletAPI所位于的包是:
_________和_________,因此在编写Servlet时这两个包都需要导入。
3.Servlet的主要成员方法包括init()、service()、dotGet()、doPost()和destroy()等其中_________方法执行一些Servlet的初始化操作,_________方法用于在卸载Servlet时执行一些功能,如果没有特殊的初始化和结束操作要做,这两个方法可以不重写。
大多数情况下,自己只需要重写服务类方法即可,服务类方法包括_________、_________和_________等,其中_________方法一般不推荐重写。
4.Servlet编写完毕之后,如果要作为Web应用的组成部分,必须在Web应用的配置文件_________(位于_________子目录下)中进行配置。
Ⅲ.简答题
1.简述Servlet的生命周期大概可以分为几个阶段
答案:
(1)、初始化阶段:
当支持Servlet运行的Web容器解说到客户端请求时,会现判断用户所请求的Servlet对象是否存在,如果不存在,则需要加载Servlet类,创建Servlet对象并实例化,然后调用Servlet的init()方法进行初始化。
(2)、运行阶段:
容器创建requeset和response对象,并且创建一个线程,调用Servlet对象的service()方法,service()方法在根据客户端请求方式间接调用doGet()方法或者doPost()方法,service()方法运行结束后产生响应,容器将响应发回客户端。
(3)、销毁阶段:
当Web应用别卸载或是服务器关闭的时候,容器会销毁为本次客户端请求创建request和response对象以及相应的线程,此时会调用destory()方法释放资源。
需要注意的是:
加载Servlet类,创建对象、调用初始化方法init()和销毁方法destory()在Servlet的整个生命周期都只有一次。
2.Servlet的整个生命周期中会有一些方法被服务器自动调用,其中的主要方法有:
答案:
Init()方法,用户初始化
destory()方法,用于释放资源
service()方法,服务类方法,对用户的请求进行处理,并对用户进行响应,几乎所有的处理功能都在这里完成。
Service()方法通常会激活doGet()或doPost()方法
3.客户端提交请求的方式有哪些什么情况下客户端提交请求的方式是GET或POST描述GET和POST方法的不同点
4.描述实现WEB资源跳转的方式并比较异同点
5.第一个Servlet1文件,读取两个请求参数first和second,将其转换为int值后相加,和存放在请求范围内,然后把请求转发第二个Servlet2.。
第二个Servlet2文件(url为output),向客户输出Servlet1计算的结果。
根据注释补充下列代码。
publicclassServlet1extendsHttpServlet{
publicvoidservice(ServletRequestrequest,ServletResponseresponse)
throwsServletException,IOException{
ntValue();3分)
intsecond=________________________________________________________
答案:
(“second”)).intValue();分)
写一个Servlet,显示客户端的IP地址。
补充下列代码
import.*;
import._[1]_.*;
import.*;
publicclassGetIPextendsHttpServlet{
publicvoiddoGet(HttpServletRequestrequest,
HttpServletResponseresponse)
throwsServletException,IOException{
_[2]("text/html");
PrintWriterout=_[3]();
("");
("
("
");("YourIPAddressis"+_[4]()+"\n");
("");
_[5]();
}
}
答案:
[1]:
http
[2]:
response
[3]:
response
[4]:
request
[5]:
out
Ⅳ.编程题
1、实现用户管理系统的用户注册功能:
创建、、;
创建;
在中配置RegisterServlet;
测试。
2、完善用户管理系统的登录功能,要求:
以请求转发的方式跳转到登录成功页面;
以请求重定向的方式跳转到登录失败页面;
与数据库交互实现用户登录信息的验证。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 强化 练习 Servlet