JavaWeb第4章配套习题B卷
一、填空题(每小题2分,共20分)
1.Servlet接口中负责处理客户端请求的方法是__________。
2.servlet就是一种实现了___________接口的类,它由web容器负责创建并调用。
3.Servlet接口中的init()、service()和_________这三个方法称为Servlet生命周期方法。
4.getServletConfig()方法用于返回__________对象,该对象包含Servlet的初始化信息。
5.在l文件中,一个<servlert-mapping>元素用于映射一个Servlet的对外访问路径,该路径也称为___________。
6.Servlet容器启动时,会为每个Web应用创建一个唯一的_________对象代表当前Web应用。
7.在Servlet开发中,当我们要自定义一个Servlet时,可以继承________或HttpServlet 类。
8.Servlet接口中的______方法载入时执行,且只执行一次,负责对Servlet进行初始化。
9.l文件中<url-pattern>/xxxServlet</url-pattern>中的“/”表示________路径。
10.HttpServlet类中的doGet和doPost方法通常抛出__________和IOException异常。
二、选择题(每小题2分,共20分)
1、下列选项中,不属于servlet生命周期方法的是()
A、init()
B、service()
C、getServletInfo()
D、destroy()
2、下列关于servlet的说法中,正确的是()(多选)
A、多个用户同时访问一个servlet时,也会为这个servlet创建多个实例
B、当servlet对象被销毁时,由servlet容器调用destroy()方法释放资源
C、servlet容器调用destroy()方法之后,它就再也不会调用这个servlet对象的service()
方法了
D、在servlet的一个生命周期中,service ()方法只会被调用一次
3、下列关于HttpServlet类的说法中,错误的是()
A、HttpServlet是位于javax.servlet.http包下抽象类
B、通过继承HttpServlet类可以创建和HTTP协议相关的servlet
C、通过继承HttpServlet类的方式创建servlet时,需要重写它的service()方法
D、HttpServlet类通过一个service()方法将HTTP请求和响应分别转为
HttpServletRequest和HttpServletResponse类型的对象。
4、下列选项中能正确实现一个servlet的方式有()(多选)
A、继承javax.servlet.http.HttpServlet类
B、实现javax.servlet.Servlet接口
C、继承javax.servlet. GenericServlet 类
D、自定义一个类,命名为Servlet
5、下列类和接口中,哪个用于封装servlet的配置信息()
A. Servlet
B. ServletContext
C. ServletConfig
D. GenericServlet
6、下列哪个方法当服务器关闭时被调用,用来释放servlet所占的资源()
A、service()
B、close()
C、doPost()
D、destroy()
7、HttpServlet类中,用来处理POST请求的方法是()
A、doHead
B、doGet
C、doPost
D、doPut
8、下列方法中,属于ServletConfig接口中定义的有()(多选)
A、getInitParameter(String name)
B、getInitParameterNames()
C、getServletConfig()
D、getServletName()
9、下列关于l文件中<load-on-startup>元素配置相关的说法,错误的是()
A、<load-on-startup>的值必须是一个整数
B、<load-on-startup>的值越小,它对应的Servlet就越先被加载
C、<load-on-startup>的值相同,Servlet按文档顺序从上往下加载
D、<load-on-startup>的值为一个负整数或0时,Servlet容器将在客户端首次请求这
个Servlet时加载它
10、下面是一个Servlet部署文件l中的片段
<servlet>
<servlet-name>Hello</servlet-name>
<servlet-class&le.FirstServlet</servlet-class> </servlet>
<servlet-mapping>
<servlet-name>Hello</servlet-name>
<url-pattern>/helpHello</url-pattern>
</servlet-mapping>
下列选项中,哪个是该Servlet的类名是()
A、FirstServlet
B、Hello
C、helpHello
D、/helpHello
三、判断题(每小题2分,共10分)
1、Servlet是在Web服务器上运行的小程序,它是Server Applet的简称。()
2、一个Servlet只能映射一个虚拟路径。()
3、Servlet接口中的三个生命周期方法都是由Servlet容器负责调用的。()
4、一个Servlet只会在第一次被访问时加载到内存并实例化,由此可知Servlet是单例的。()
5、/abc/*.do是一个合法的映射路径。()
四、程序分析题(每小题5分,共10分)
webserver接口开发1、请阅读下列程序,在空白处填写正确的代码,使程序能读取该servlet的配置信息,从中获得参数名为encoding对应的参数值,并输出到页面上。
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class MyServlet extends HttpServlet {
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = Writer();
ServletConfig config = __________;
String param = InitParameter("encoding");
out.println("encoding=" + param);
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
this.doGet(request, response);
}
}
2、请阅读下列程序,分析变量a和b的值的变化情况,并解释发生这种变化的原因。
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class LifeCycleServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private int a = 0, b = 0;
public void init() throws ServletException {
a++;
}
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
b++;
PrintWriter out = Writer();
String docType = "<!DOCTYPE HTML PUBLIC /" + "-//W3C//DTD HTML 4.0 "
+ "Transitional//EN/>";
out.println(docType + "<HTML>" + "<HEAD><TITLE>Hello</TITLE></HEAD>"
+ "<BODY BGCOLOR=/'#FDF5E6/'>"
+ "<H1>Please refresh the webpage, and compare two values:"
+ "<H1>a=" + a + ";    b=" + b + "</BODY></HTML>");
}
}
五、简答题(每小题5分,共20分)
1、请简要概述什么是Servlet的多重映射,并列出Servlet多重映射的实现方式。
2、请简述什么是缺省Servlet,以及缺省Servlet的作用。
3、请列举Servlet接口中的方法,并分别说明这些方法的特点及其作用。
4、请列举可以获得ServletContext的方法。
六、操作题(每小题10分,共20分)
1、编写一个servlet,实现统计网站被访问次数的功能。
步骤:
(1)新建一个类ShowTimesServlet继承HttpServlet,重写doGet和doPost方法(2)在doPost方法中调用doGet方法,在doGet方法中实现统计网站被访问次数的功能,用户每请求一次servlet,使访问次数times加1
(3)获取ServletContext,通过它的功能记住上一次访问后的次数
2、阅读下列l文件中的代码片段,根据它编写一个servlet,实现获取该文件中参数信息的功能。
<servlet>
<servlet-name>TestServlet</servlet-name>
<servlet-class>cn.itcast.chapter04.servlet.TestServlet</servlet-class>    <init-param>
<param-name>encoding</param-name
<param-value>UTF-8</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>TestServlet</servlet-name>
<url-pattern>/TestServlet</url-pattern>
</servlet-mapping>

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。