JavaWeb高级开发技术第四章答案

单选题

1、

Servlet程序的入口点是()

2分

  • A、A、init()

  • B、B、main()

  • C、C、service()

  • D、D、doGet()

参考答案 :

A

答案说明 :

当客户端向Servlet容器发出HTTP请求访问Servlet时,Servlet容器首先会解析请求,检查内存中是否已经有了该Servlet对象,如果有,直接使用该Servlet对象;如果没有,就创建Servlet实例对象,然后通过调用init()方法完成Servlet的初始化。需要注意的是,在Servlet的整个生命周期内,它的init()方法只被调用一次。

2、

ServletRequest接口中用于获取请求客户端的IP地址的方法是()

2分

  • A、A、getRemoteAddr()

  • B、B、getRemoteHost()

  • C、C、getRemotePort()

  • D、D、getLocalAddr()

参考答案 :

A

答案说明 :

B选项是获取请求客户端的完整主机名;C是获取请求客户端网络连接的端口号;D是获取获取Web服务器上接收当前网络连接的IP地址

3、

下面选项中,与web应用具有相同的生命周期的对象是()

2分

  • A、A、Servlet

  • B、B、ServletConfig

  • C、C、GenericServlet

  • D、D、ServletContext

参考答案 :

D

答案说明 :

4、

request对象的哪个方法是根据组件名称获取提交数据的()

2分

  • A、A、getParameterValues()

  • B、B、getParameter()

  • C、C、getHeaderNames()

  • D、D、getRequestURI()

参考答案 :

B

答案说明 :

5、

下面选项中, 用于实现一个Web应用中的所有Servlet共享数据的对象是()

2分

  • A、A、HttpSession

  • B、B、ServletContext

  • C、C、ServletConfig

  • D、D、ServletRequest

参考答案 :

B

答案说明 :

当Servlet容器启动时,会为每个Web应用创建一个唯一的ServletContext对象代表当前Web应用。ServletContext对象不仅封装了当前Web应用的所有信息,而且实现了多个Servlet之间数据的共享。

6、

给定Servlet程序的代码如下所示: public class Servlet1 extends HttpServlet{ public void doGet(HttpServletRequest request,HttpServletResponse response) Throws ServletException IOException{ System.out.println(“get”); } public void doPost(HttpServletRequest request.HttpServletResponse response) Throws ServletException,IOException{ System.out.println(“post”); doGet(reauest,response); } } 通过GET方式请求访问Servlet1时,控制台上显示的结果是()

2分

  • A、A、get

  • B、B、post

  • C、C、get post

  • D、D、post get

参考答案 :

A

答案说明 :

7、

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

2分

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

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

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

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

参考答案 :

B

答案说明 :

当Servlet容器启动时,会为每个Web应用创建一个唯一的ServletContext对象代表当前Web应用。ServletContext对象不仅封装了当前Web应用的所有信息,而且实现了多个Servlet之间数据的共享。

8、

下列选项关于Servlet的作用说法正确的是()

2分

  • A、A、处理客户端请求并做出响应

  • B、B、打开并显示网页内容

  • C、C、连接数据库

  • D、D、页面跳转

参考答案 :

A

答案说明 :

9、

下面关于Servlet的技术特点,正确的是()

2分

  • A、A、功能强大

  • B、B、不可移植

  • C、C、安全性不高

  • D、D、不可扩展

参考答案 :

A

答案说明 :

Servlet的技术特点主要表现在以下几个方面:功能强大、可移植、性能高效、安全性高、可扩展。

10、

下列关于Servlet接口的说法中,正确的是()

2分

  • A、A、Servlet接口中只有一个默认的实现类HttpServlet

  • B、B、Servlet接口中定义了4个抽象方法

  • C、C、Servlet接口的抽象方法中,init()、service()和destroy()方法可以表现Servlet的生命周期

  • D、D、GenericServlet类不是Servlet接口的实现类

参考答案 :

C

答案说明 :

Servlet接口中定义了5个抽象方法,分别是init()、getServletConfig()、getServletInfo()、service()和destroy()。

11、

HttpServlet类中,用来处理POST请求的方法是()

2分

  • A、A、doHead

  • B、B、doGet

  • C、C、doPost

  • D、D、doPut

参考答案 :

C

答案说明 :

12、

关于servlet生命周期描述错误的是()

2分

  • A、A、Servlet的每一次访问请求,Servlet容器都会调用一次Servlet的service( )方法

  • B、B、服务器启动时就会创建Servlet

  • C、C、Servlet的生命周期可以由init,service,destory 3个方法体现

  • D、D、每请求一次Servlet就会调用一次service方法,但init方法只会调用一次

参考答案 :

B

答案说明 :

13、

下列哪一个方法用于设置HttpServletResponse的响应内容类型()

2分

  • A、A、setParameter()

  • B、B、setContentType()

  • C、C、setAttribute()

  • D、D、doPost()

参考答案 :

B

答案说明 :

14、

Servlet接口中的service()方法,说法错误的是()

2分

  • A、A、当容器接收到客户端访问Servlet对象的请求时,就会调用此方法

  • B、B、服务器请求一次,service方法就被调用一次

  • C、C、service方法有两个参数,request和response

  • D、D、request负责响应信息,response负责接收参数

参考答案 :

D

答案说明 :

在service()方法中,可以通过ServletRequest对象得到客户端的相关信息和请求信息,在对请求进行处理后,调用ServletResponse对象的方法设置响应信息

15、

下列选择中,用于封装HTTP请求消息的是()

2分

  • A、A、HttpServlet类

  • B、B、HttpServletRequest接口

  • C、C、HttpServletResponse接口

  • D、D、ServletContext接口

参考答案 :

B

答案说明 :

16、

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

2分

  • A、A、Servlet

  • B、B、ServletContext

  • C、C、ServletConfig

  • D、D、GenericServlet

参考答案 :

C

答案说明 :

17、

程序中创建了一个Servlet,该Servlet重写了其父类的doGet()和doPost()方法,那么其父类可能是 ()

2分

  • A、A、RequestDispatcher

  • B、B、HttpServletResponse

  • C、C、HttpServletRequest

  • D、D、HttpServlet

参考答案 :

D

答案说明 :

18、

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

2分

  • A、A、req.setCharacterEncoding(“utf-8”);

  • B、B、new String( req.getParameter(key).getBytes() , “utf-8” );

  • C、C、resp.setContentType(“text/html;charset=utf-8”);

  • D、D、resp.getOutputStream( )

参考答案 :

A

答案说明 :

19、

关于ServletRequest对象的setAttribute()方法,说法正确的是()

2分

  • A、A、如果ServletRequest对象中已经存在指定名称的属性,setAttribute()方法将会先删除原来的属性,然后再添加新的属性

  • B、B、如果ServletRequest对象中已经存在指定名称的属性,setAttribute()方法将会将新添加的属性直接覆盖原来的属性

  • C、C、如果ServletRequest对象中已经存在指定名称的属性,setAttribute()方法会直接在原来的属性后面追加上新的属性

  • D、D、以上说法都不正确

参考答案 :

A

答案说明 :

20、

关于getParameter(String name)获取请求参数方法的说法中,正确的是()

2分

  • A、A、如果请求消息中没有包含指定名称的参数,getParameter()方法返回空字符串

  • B、B、如果请求消息中没有包含指定名称的参数,getParameter()方法返回null

  • C、C、如果请求消息中包含多个指定名称的参数,getParameter()方法返回最后一个出现的参数值

  • D、D、如果请求消息中包含多个指定名称的参数,getParameter()方法返回任意一个参数

参考答案 :

B

答案说明 :

如果请求消息中包含多个指定名称的参数,getParameter()方法返回第一个出现的参数。

21、

LoginServlet是一个Servlet类,代码如下 public class LoginServlet extends ___________ { public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { … } public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { … } }在下划线处应填写()

2分

  • A、A、Servlet

  • B、B、HttpServlet

  • C、C、GenericServlet

  • D、D、Cookie

参考答案 :

B

答案说明 :

HttpServlet是GenericServlet的子类,它继承了GenericServlet的所有方法,并且为HTTP请求中的POST、GET等类型提供了具体的操作方法。通常情况下,编写的Servlet类都继承自HttpServlet。

判断题

22、

在getIntHeader(String name)方法中,如果指定的头字段不存在,返回值为0。

2分

参考答案 :

答案说明 :

返回值应该为-1。

23、

设置request对象的解码方式,可以使用setCharacterEncoding()方法。

2分

参考答案 :

答案说明 :

24、

Servlet 对象主要封装了对HTTP请求的处理,并且它的运行需要Servlet容器的支持。

2分

参考答案 :

答案说明 :

Servlet是运行在Web服务器端的Java应用程序,它使用Java语言编写。与Java程序的区别是,Servlet 对象主要封装了对HTTP请求的处理,并且它的运行需要Servlet容器的支持。

25、

WEB-INF目录中的内容对RequestDispatcher对象是可见的。

2分

参考答案 :

答案说明 :

26、

Servlet主要用于服务器端。

2分

参考答案 :

答案说明 :

27、

如果发送到客户端的内容是jpeg格式的图像数据,就需要将响应头字段的类型设置为“image/jpeg”。

2分

参考答案 :

答案说明 :

28、

HTTP请求消息中可以有多个相同名称的参数。

2分

参考答案 :

答案说明 :

29、

一个Servlet可以匹配多个URL。

2分

参考答案 :

答案说明 :

urlPatterns属性值用于指定一组Servlet的URL的匹配模式,等价于<url-pattern>标签。

30、

在多数情况下,一个头字段在请求消息中只出现一次,但有时候可能出现多次。

2分

参考答案 :

答案说明 :

31、

ServletConfig对象是由Web容器(或Tomcat)创建出来的。

2分

参考答案 :

答案说明 :

当Tomcat初始化一个Servlet时,会将该Servlet的配置信息封装到一个ServletConfig对象中,通过调用init(ServletConfig config)方法将ServletConfig对象传递给Servlet。

32、

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

2分

参考答案 :

答案说明 :

当Tomcat初始化一个Servlet时,会将该Servlet的配置信息封装到一个ServletConfig对象中,通过调用init(ServletConfig config)方法将ServletConfig对象传递给Servlet。

33、

创建好的Servlet,客户端可以对其进行直接访问。

2分

参考答案 :

答案说明 :

Servlet的请求首先会被HTTP服务器(如Apache)接收,HTTP服务器只负责静态HTML页面的解析,对于Servlet的请求转交给Servlet容器,Servlet容器会根据web.xml文件中的映射关系,调用相应的Servlet,Servlet将处理的结果返回给Servlet容器,并通过HTTP服务器将响应传输给客户端。

34、

在Servlet的整个生命周期中,destroy()方法会被调用多次。

2分

参考答案 :

答案说明 :

当服务器关闭或web应用被移除出容器时,Servlet随着web应用的销毁而销毁。在销毁Servlet之前,Servlet容器会调用Servlet的destroy()方法,以便让Servlet对象释放它所占用的资源。在Servlet的整个生命周期中,destroy()方法也只被调用一次。

35、

HttpServletResponse接口的sendError(int sc)方法会向客户端发出一条错误信息。

2分

参考答案 :

答案说明 :

该方法只用于发送表示错误信息的状态码。例如,404状态码表示找不到客户端请求的资源。

36、

Servlet不需要部署就可以直接使用。

2分

参考答案 :

答案说明 :

Servlet是运行在Web服务器端的Java应用程序,它使用Java语言编写。与Java程序的区别是,Servlet 对象主要封装了对HTTP请求的处理,并且它的运行需要Servlet容器的支持。

37、

Web服务器接收到客户端的请求后,可能由于某些条件限制,不能访问当前请求URL所指向的Web资源,而是指定了一个新的资源路径,让客户端重新发送请求,这就是请求重定向。

2分

参考答案 :

答案说明 :

38、

定义@WebServlet 注解时,value 或者 urlPatterns 属性通常是必需的,但二者不能共存。

2分

参考答案 :

答案说明 :

定义@WebServlet 注解时,value 或者 urlPatterns 通常是必需的,但二者不能共存,如果同时指定,通常是忽略value的取值。

39、

ServletRequest接口的setAttribute()方法用于将一个对象与一个name关联后存储进ServletRequest对象中。

2分

参考答案 :

答案说明 :

40、

Response对象的getOutputStream()和getWriter()方法可以同时发送响应消息体。

2分

参考答案 :

答案说明 :

getOutputStream( )方法所获取的字节输出流对象为ServletOutputStream类型。它可以直接输出字节数组中的二进制数据。 getWriter( )方法所获取的字符输出流对象为PrintWriter类型,PrintWriter类型的对象可以直接输出字符文本内容。

41、

getOutputStream()方法所获取的字节输出流对象为ServletOutputStream类型。

2分

参考答案 :

答案说明 :

42、

Servlet对象一旦创建就会驻留在内存中等待客户端的访问,直到服务器关闭,或Web应用被移除出容器时Servlet对象才会被销毁。

2分

参考答案 :

答案说明 :

填空题

43、

为了实现请求,HttpServletResponse接口定义了一个sendRedirect( )方法。

2分

参考答案 :

【重定向】

答案说明 :

44、

对象可以实现多个Servlet数据的共享。

2分

参考答案 :

【ServletContext】

答案说明 :

45、

Servlet接口有两个默认的接口实现类,分别是和HttpServlet类。

2分

参考答案 :

【GenericServlet】

答案说明 :

46、

ServletContext接口可以获取Web应用程序的参数。

2分

参考答案 :

【初始化】

答案说明 :

47、

Servlet的配置主要有两种方式,分别是通过Web应用的配置文件来完成配置和使用@WebServlet注解的方式完成。

2分

参考答案 :

【web.xml】

答案说明 :

若想让Servlet正确地运行在服务器中并处理请求信息,必须进行适当的配置,关于Servlet的配置主要有两种方式,分别是通过Web应用的配置文件web.xml来完成配置和使用@WebServlet注解的方式完成。

48、

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

2分

参考答案 :

【HttpServletResponse】

答案说明 :

49、

Servlet的生命周期大致可以分为三个阶段,分别是初始化阶段、运行阶段和。

2分

参考答案 :

【销毁阶段】

答案说明 :

50、

如果当前Web资源不想处理请求,RequestDispatcher接口提供了一个forward()方法,该方法可以将当前请求传递给其他Web资源对这些信息进行处理并响应给客户端,这种方式称为。

2分

参考答案 :

【请求转发】

答案说明 :

  • 0
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

迷茫、Peanut

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值