1,自定义servlet类需要() 分值5分


○A. extends HttpServlet
○B. extends GenericServlet
○C. implements Servlet
●D. 以上都可以
答案: D

2. 点击超链接后,自定义servlet重写哪个方法会出现405错误() 分值5分


○A. public void service(ServletRequest req,ServletResponse resp)
○B. public void service(HttpServletRequest req,HttpServletResponse resp)
○C. public void doGet(HttpServletRequest req,HttpServletResponse resp)
●D. public void doPost(HttpServletRequest req,HttpServletResponse resp)
答案: D

3. 在web.xml中下面哪一个标签标识servlet的URL映射 分值5分


○A.
○B.
●C.
○D. [

答案: C](”test”)


4. 关于servlet生命周期描述错误的是() 分值5分

[
○A. Servlet生命周期托管,服务器会创建单实例Servlet对象
●B. 服务器启动时就会创建Servlet
○C. Servlet的生命周期可以由init,service,destory 3个方法体现
○D. 每请求一次Servlet就会调用一次service方法,但init方法只会调用一次

答案: B](”test”)


5. web程序a中有一个index.html网页文件, 现部署在tomcat上的名字是b,以下哪个url可以访问到index网页() 分值5分


○A. http://localhost:8080/index.html
○B. http://localhost:8080/a/index.html
●C. http://localhost:8080/b/index.html
○D. http://localhost:8080/a/b/index.html[

答案: C](”test”)


6. 以下哪一个方法可以解决post请求时传递的中文参数乱码问题() 分值5分

[
●A. req.setCharacterEncoding(“utf-8”);
○B. new String( req.getParameter(key).getBytes() , “utf-8” );
○C. resp.setContentType(“text/html;charset=utf-8”);
○D. 可以任意传递中文参数,不会出现乱码

答案: A](”test”)
[
7. 在开发Java Web应用程序的时候,HTTP请求消息使用Get或POET方法以便在WEB上传输数据,下列关于GET和POST 方法描述正确的是() 分值5分
○A. POST请求的数据在地址栏不可见
●B. GET请求提交的数据在理论上没有长度限制
○C. POST请求对发送的数据的长度限制在240—255个字符
○D. GET请求提交数据更加安全

正确答案:
A. POST请求的数据在地址栏不可见](”test”)

解析: 1、Http get方法提交的数据大小长度并没有限制,Http协议规范没有对URL长度进行限制。
目前说的get长度有限制,是特定的浏览器及服务器对它的限制。
各种浏览器和服务器的最大处理能力如下:
IE:对URL的最大限制为2083个字符,若超出这个数字,提交按钮没有任何反应。
Firefox:对Firefox浏览器URL的长度限制为:65536个字符。
Safari:URL最大长度限制为80000个字符。
Opera:URL最大长度限制为190000个字符。
Google(chrome):URL最大长度限制为8182个字符。
Apache(Server):能接受的最大url长度为8192个字符(这个准确度待定???)
Microsoft Internet Information Server(IIS):n能接受最大url的长度为16384个字符。
2、理论上讲,post是没有大小限制的。Http协议规范也没有进行大小限制,起限制作用的是服务器处理程序的处理能力。
Tomcat下默认post长度为2M,可通过修改conf/server.xml中的“maxPostSize=0”来取消对post大小的限制。


8. 利用三层结构搭建某网上书店系统,设计用户登陆界面,如果你是设计人员,你将在三层结构的()中实现 分值5分

[
○A. 模型层
○B. 视图层
○C. 数据访问层
●D. 业务逻辑层

B. 视图层
](”test”)


9. 下列哪一个方法用于设置HttpServletResponse的响应内容类型 分值5分

[
○A. setParameter()
○B. setContentType()
○C. setAttribute()
○D. doPost()
●E. 以上方法都不对

正确答案:
B. setContentType()
](”test”)解析:
Content-Type(内容类型),一般是指网页中存在的 Content-Type,用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件,这就是经常看到一些 PHP 网页点击的结果却是下载一个文件或一张图片的原因。
Content-Type 标头告诉客户端实际返回的内容的内容类型。
语法格式:
Content-Type: text/html; charset=utf-8
Content-Type: multipart/form-data; boundary=something


10. 从以下哪一个选项中可以获得Servlet的初始化参数() 分值5分

[
○A. Servlet
○B. ServletContext
●C. ServletConfig
○D. GenericServlet

答案: C](”test”)


11. 简述Servlet生命周期。 分值10分


答案解析:
Servlet对象是单实例管理 底层采用生命周期托管的方式实现的
Servlet对象是延迟加载的机制 在第一次访问它时候创建对象 且只加载一次
Servlet对象的创建 使用 销毁由三个方法对应表述
分别是
init() 第一次访问Servlet时执行 同时含有一个带ServletConfig参数的重载
service() 每一次访问Servlet时执行一次
destroy() 重新配置或重新部署项目时候执行 用于销毁Servlet对象

12. 简述HttpServlet中,public service() ,protected service() , doGet() , doPost() 4个方法的调用过程 分值10分


答案解析:
服务器接收请求后,会根据web.xml的配置找到与之匹配的servlet对象,按照Servlet接口规则(强转成Servlet),调用public service() 在该方法中,将2个无协议状态的参数对象request和response转换成Http协议的两个对象,调用proptected service(),在该方法中,根据请求的类型(get/post) 分别调用doGet或doPost 。
所以自定义servlet可以根据需求,重写上述4个中的某一个方法即可。但需要注意405问题。
13.简述一次请求-响应的流程。

答案解析:
浏览器发送请求至服务器
服务器接收请求
服务器参考web.xml或注解的配置找到与之匹配的servlet对象
调用对象的service/doGet/doPost方法
在方法中处理请求
根据业务调用指定的service和dao
请求处理完毕后,根据处理结果,给与响应
转发
重定向
直接响应