2024年5月11日发(作者:)

博学谷——让IT教学更简单,让IT学习更有效

JavaWeb第4章配套习题A卷

一、 填空题(每小题2分,共20分)

1、 在Servlet接口中,负责Servlet初始化工作的方法是 _____。

2、 在Servlet程序中,当Servlet对象被移除时会被调用的方法是_______。

3、 在Servlet开发中,当我们要自定义一个Servlet时,必须继承GenericServlet或者_______

类。

4、 在文件中,/xxxxServlet中的第一个‘/’表示_______。

5、 如果某个Servlet的映射路径仅仅是一个正斜线(/),那么这个Servlet就是当前Web应用

的________。

6、 当Tomcat初始化一个Servlet时,会将该Servlet的配置信息封装到_______对象中。

7、 在Servlet开发中,实现了多个Servlet之间数据共享的对象是______。

8、 在Servlet API中,专门用来封装HTTP响应消息的接口是_______。

9、 在HttpServletResponse接口中,实现请求重定向的方法是_______。

10、 在RequestDispatcher接口中,实现请求转发的方法是_______。

1

博学谷——让IT教学更简单,让IT学习更有效

二、 判断题(每小题2分,共10分)

1、 要实现Servlet的多重映射,可以在元素下配置多个子元

素。()

2、 ServletConfig对象可以实现多个Servlet之间的数据共享。()

3、 在Servlet程序中,只有属于同一个请求中的数据才可以通过HttpServletRequest对象传递。

()

4、 HttpServletResponse对象的getOutputStream()和getWriter()方法可以同时发送响应消

息体。()

5、 使用RequestDispatcher对象的include()方法实现请求包含后,浏览器显示的URL会发生

变化的。()

三、 选择题(每小题2分,共20分)

1、 下列是Servlet映射路径中的一些通配符,其中错误的是( )。

A、/abc/*.do B、/abc/* C、*.do D、/*

2、 下面关于Servlet接口的说法中,哪些是正确的( )。(多选)

A、自定义一个Servlet类,它必须直接或间接实现Servlet接口。

2

博学谷——让IT教学更简单,让IT学习更有效

B、 Servlet接口中定义了Servelt的生命周期方法。

C、 每访问一次Servlet程序,Servlet中的service()方法会被执行一次。

D、 在servlet的生命周期中,init()和destroy()方法只被调用一次。

3、 下列关于ServletConfig对象的说法中,正确的是( )。

A、ServletConfig对象可以用来获取Servlet的配置信息。

B、 ServletConfig对象可以实现Servlet信息的共享。

C、 ServletConfig对象保存的信息是通过service()方法传递给Servlet的。

D、 ServletConfig对象可以读取文件中所有的信息。

4、 下列关于ServletContext的说法中,错误的是( )。

A、ServletContext对象用来保存当前Web应用中的所有信息。

B、 在一个Web应用中可以有多个ServletContext对象。

C、 ServletContext接口封装了获取当前Web应用中资源文件的方法。

D、 ServletContext对象中保存的属性可以被Web应用中的所有Servlet访问。

3

博学谷——让IT教学更简单,让IT学习更有效

5、 下列方法中,哪个不是Servlet接口中的方法( )。

A、init() B、service() C、getServlet() D、getServletInfo ()

6、 下面方法中,哪个是用于释放Servlet所占资源的方法( )。

A、service() B、init() C、doPost() D、destroy()

7、 在HttpServletRequest对象中,用于获取表单参数值的方法是( )。

A、getQuaryString() B、getPathInfo() C、getParameter() D、getAttribute()

8、 以下关于请求方式GET和POST的描述中,哪些是错误的( )。(多选)

A、使用GET请求方式传入的参数没有数据大小限制

B、 使用POST请求方式传入的参数没有数据大小限制

C、 使用GET请求方式提交的数据在地址栏中不会显示

D、 使用POST请求方式提交的数据在地址栏中不会显示

9、 在中存在如下代码:

4

博学谷——让IT教学更简单,让IT学习更有效

username:

value=”yourName”>

type=”text” name = “userName” id=”myName”

当表单提交时,下列选项中,能够获取到文本框中值的是( )。

A、ribute(“userName”);

B、 ameter(“myName”);

C、 ameter(“userName”);

D、 ribute(“myName”);

10、 当 元素中的值为正整数时,下列关于Servlet加载顺序说法中,哪些

是错误的( )。

A、Servlet容器将在客户端首次请求这个Servlet时加载它;

B、 Servlet容器将在Web应用启动时加载并初始化Servlet

C、 的值越小,它对应的Servlet就越先被加载。

D、 的值越大,它对应的Servlet就越先被加载。

5

博学谷——让IT教学更简单,让IT学习更有效

四、 程序分析题(每小题5分,共10分)

1、 请阅读下面的程序,在空白处填写正确的代码。(5分)

public class HelloWorldServlet extends GenericServlet {

public void _______(ServletRequest request, ServletResponse response)

throws ServletException, IOException {

PrintWriter out = ______.getWriter();

n("Hello World");

}

}

2、 阅读下面的程序,并简单分析一下当浏览器访问RedirectServlet时,会产生哪种情况。(5

分)

public class RedirectServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

6

博学谷——让IT教学更简单,让IT学习更有效

direct(" ");

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doGet(request, response);

}

}

五、 简答题(每小题5分,共20分)

1、 简述Servlet的生命周期。

2、 简单介绍一下ribute()和ameter()的区别。

3、 请说一说你对请求转发和请求重定向的理解。

4、 请列举出三个HttpServletResponse常用的响应状态码,并说出它们的意义。

六、 操作题(每小题10分,共20分)

7

博学谷——让IT教学更简单,让IT学习更有效

1、 请按照以下要求设计一个向页面输出中文的类ChineseServlet。

要求如下:

1) 创建一个ChineseServlet类,使其继承HttpServlet类并重写该类的doGet()方法。

2) 在doGet()方法中,使用HttpServletResponse对象的setContentType()方法将浏览器编码

改为utf-8。

3) 使用HttpServletResponse对象获取输出流,向浏览器输出“传智播客欢迎您”的中文字样。

2、 请按照以下要求设计一个表单验证类LoginServlet。

要求如下:

1) 已知项目中有一个页面,页面上包含用户名(username)、密码(password)的输

入框和登录按钮。当点击登录按钮时,表单信息会以Post请求方式提交给LoginServlet,

页面如下所示。

8

博学谷——让IT教学更简单,让IT学习更有效

2) 编写一个LoginServlet类,使其继承HttpServlet类并重写该类的doPost()方法。

3) 在doPost()方法中,获取中表单中的信息,当username=”itcast”,

password=”123”时重定向至页面,否则重定向至页面。

9