Servlet题库

一、   填空题

  1. Servlet中使用Session对象的步骤为:调用  HttpServletRequest.getSession() 得到Session对象,查看Session对象,在会话中保存数据  
  2. http全称是___HyperText Transfer Protocol_____
  3. 用户可以有多种方式请求Servlet,如 浏览器直接调用页面form中提交调用   、 超链接调用   Servlet调用 等。
  4. out对象的 _out.flush()_方法,功能是输出缓冲的内容。
  5. response对象的_ sendRedirect(URL url)__方法可以将当前客户端的请求转到其他页面去。表单的提交方法包括__get__和___post__方法。
    1. response.setHeader(“Refresh”, “5”)的含义是指 页面刷新时间为   5秒   _。
  6. 表单标记中的__action___属性用于指定处理表单数据程序url的地址。
  7. 使用cookie的基本步骤为:创建cookie对象,设置cookie对象的有效时间,传送cookie对象读取cookie对象  
  8. Servlet中使用Session对象的步骤为: 调用  HttpServletRequest.getSession() 得到Session对象,查看Session对象,在会话中保存数据。    
  9. 在Servlet中,主要使用HttpServletResponse类的重定向方法  sendRedirect()   方法实现重定向,以及使用RequestDispatcher类的转发方法   forward()    方法实现转发功能。
  10. javax.servlet.Servlet接口定义了三个用于Servlet生命周期的方法,它们是  init()service() destroy() 
  11. Servlet中使用Session对象的步骤为: 调用  HttpServletRequest.getSession() 得到Session对象,查看Session对象,在会话中保存数据。            
  12. Servlet运行于 服务器 端,与处于客户端的___ Applet ___相对应。
  13. 当Server关闭时,_  Servlet__就被销毁。
  14. 使用Servlet处理表单提交时,两个最重要的方法是_ doGet()_和_doPost()  
  15. Serlvet接口只定义了一个服务方法就是_  service()  _。
  16. MVC是三层开发结构,这三个字母按顺序分别代表_ model__、__view __controller__。
  17. Filter接口中最主要的方法是  doFilter方法。
  18. 实现Filter接口的类需要重写doFilter方法、init方法、destroy方法。
  19. ServletContext 被创建时的监听类需要实现  ServletContextListener接口。
  20. 配置事件监听类的配置文件是  <listener><listener-class>监听类路径</listenr-class></listener>______
    1.   url-pattern配置方式都有那些:_____ /s/**.do
  21. "/"的问题。在浏览器发请求时它代表什么含义__代表服务器根目录__,_服务器内部跳转时代表什么含义___代表项目根目录_____
  22. 下面代码有什么问题,请指出:resp.setContentType("text/html,charset=gbk");

_______中间应该是;而不是,_____

 

二、   选择题

1.

对于B/S架构的工作流程,以下说法正确的是( A )(选择一项)

 

 

 

 

A.

浏览器接受用户的输入-->浏览器向服务器端发送请求-->服务器端数据处理-->响应数据至客户端

 

B.

发送响应-->浏览器接受用户的输入-->浏览器向服务器端发送请求-->服务器端数据处理

 

C.

发送响应-->浏览器接受用户的输入-->服务器端数据处理-->浏览器向服务器端发送请求

 

D.

浏览器接受用户的输入-->发送响应-->服务器端数据处理-->浏览器向服务器端发送请求

 

2.

关于动态网页的特点,以下说法正确的是(D)(选择一项)

 

 

 

A.

交互性

 

B.

自动更新

 

C.

随机性

 

D.

以上说法均正确

 

3.

如果做动态网站开发,以下(A)可以作为服务器端脚本语言(选择一项)

 

 

 

 

A.

Java

 

B.

Jsp

 

C.

Javascript

 

D.

Html

 

4.

关于Tomcat服务器的说法中正确的是( AC )(选择二项)

 

 

 

 

A.

tomcat出自于apache,可以为web应用程序提供运行环境

 

B.

使用tomcat需要支付费用,否则不允许授权使用

 

C.

tomcat是一款开源服务器,性能优良

 

D.

 以上全正确

 

5.

在WEB项目的目录结构中,web.xml文件位于(C)中(选择一项)

 

 

 

 

A.

Src

 

B.

META-INF

 

C.

WEB-INF

 

D.

WebRoot

 

6.

在Servlet生命周期中,对应服务阶段的方法是(C)(选择一项)

 

 

 

 

A.

init()

 

B.

destroy()

 

C.

service()

 

D.

initial()

 

7.

在web编程中,对于cookie的作用说法正确的有( A )(选择一项)

 

 

 

 

A.

为了识别不同的用户信息

 

B.

为了简化程序开发

 

C.

为了提高程序执行速度

 

D.

以上说法都不对

 

 

 

8.

对于ServletRequest接口的getAttribute()方法,说法正确的是( A )(选择一项)

 

 

 

 

A.

获取指定名称的属性值

 

B.

设置指定属性的值

 

C.

删除指定属性的值

 

D.

以上都不对

 

9.

<servlet>

         <servlet-name>testServlet</servlet-name>

         <servlet-class>com.accp.servlet.TestServlet</servlet-class>

</servlet>

对于以上代码片段,说法正确的是( AB )(选择二项)

 

 

 

 

A.

配置了逻辑名为testServlet的Servlet组件

 

B.

其对于的类的路径是:com.accp.servlet.TestServlet

 

C.

客户端可以通过testServlet访问

 

D.

以上说法都不对

 

10.

在java Web应用开发中,Servlet程序需要在(B)文件中配置。(选择一项)

 

 

 

 

A.

Jsp

 

B.

web.xml

 

C.

struts.xml

 

D.

servlet.xml

 

11.

Java EE,HttpServletResponse( B )方法用于一个HTTP请求重定向到另一个资源。选择一项

 

 

 

 

A.

sendURL()

 

B.

sendRedirect()

 

C.

forward()

 

D.

redirectURL()

 

12.

以下哪种格式是正确的URL(A)(选择一项)

 

 

 

 

A.

http://localhost:8080/news/index.jsp>

 

B.

http://localhost/8080/news/index.jsp>

 

C.

http://localhost/8080:news/index.jsp>

 

D.

http:localhost://8080/news/index.jsp

 

13.

以下代码中可以正确设置客户端请求编码为UTF-8 的是(A)(选择一项)

 

 

 

A.

request.setCharacterEncoding("UTF-8")

 

B.

request.setCharset("UTF-8")

 

C.

request.setContentType("UTF-8")

 

D.

request.setEncoding("UTF-8")

 

14.

通过response的()方法可以设置响应所采用的字符编码类型。(选择一项)

 

 

 

 

A.

setCharacterEncoding()

 

B.

setCharset()

 

C.

setEncoding()

 

D.

setContentType()

 

15.

在部署带有Servlet的Java Web程序时,(  D )不是必需的。(选择一项)

 

 

 

A.

web.xml文件

 

B.

WEB-INF文件夹

 

C.

classes文件夹

 

D.

csses文件夹

 

16.

 对于servlet在程序中的作用,以下说法正确的是( AB )(选择二项)

 

 

 

 

A.

分离业务逻辑代码与表现层代码

 

B.

让程序执行流程更加清晰

 

C.

加快了程序访问速度

 

D.

大大减少了编码工作量

 

17.

在WEB应用程序开发中,有时会出现Tomcat端口号已经被占用的情况,为此我们需要修改配置文件,下列选项中修改正确的是(B)(选择一项)

 

 

 

 

A.

在tomcat目录\bin文件夹\server.xml文件中,修改 Connection的port

 

B.

在tomcat目录\conf文件夹\server.xml文件中,修改 Connector的port

 

C.

在tomcat目录\bin文件夹\server.xml文件中,修改 Connector的port

 

D.

在tomcat目录\conf文件夹\server.xml文件中,修改 Connection的port

 

18.

如果要把一个accp字符串信息放在session对象里,则下列正确的是(A)(选择一项)

 

 

 

 

A.

session.setAttribute("message","accp");

 

B.

session.setAttribute(message,"accp");

 

C.

session.setAttribute("accp","message");

 

D.

session.setAttributes("message","accp");

 

19.

如果要从session范围取出名为flag的变量,则以下说法正确的是(A)(选择一项)

 

 

 

 

A.

session.getAttribute("flag");

 

B.

session.getAttributes("flag");

 

C.

session.getParameter("flag");

 

D.

session.get("flag");

 

 

20.

假设session对象中存放了一个Book对象:session.setAttribute("book",new Book()) ,则取出Book对象的正确语句是(  B  )(选择一项

 

 

 

 

A.

Book book = session.getAttribute("book")

 

B.

Book book = (Book)session.getAttribute("book")

 

C.

Book book = session.getValue("book")

 

D.

Book book = (Book)session.getValue("book")

 

21.

在JSP中,以下可以实现请求转发的是(D)(选择一项)

 

 

 

A.

request.getRequestDispatcher("list.jsp");

 

B.

response.getRequestDispatcher("list.jsp");

 

C.

response.getRequestDispatcher("list.jsp").forward(request,response);

 

D.

request.getRequestDispatcher("list.jsp").forward(request,response);

 

22.

web.xml中预先对Servlet进行初始化设置的代码如下:

<init-param>

         <param-name>myWord</param-name>

         <param-value>hello</param-value>

</init-param>

则如下获取初始化参数的语句正确的是(  A  )选择一项

 

 

 

 

A.

String myWord = getInitParameter("myWord");

 

B.

String myWord = getInitParameter("hello");

 

C.

String myWord = getInit("myWorld");

 

D.

String myWord= getInit("hello");

 

23.

以下代码片段是使用cookie存储数据,横线处填写(D)可以在look.jsp页面显示用户名:Jack";(选择一项)

<%

         response.addCookie(new Cookie("uname","Jack");

___________________________(1)____________

%>

look.jsp页面部分代码

<%

         Cookie[]cookies=___________(2)______________

         String user="";

         if(cookies !=null){

                   for(int i =0;i<cookies.length;i++){

                            if(cookies[i].getName().equals("uname"))

                                     user = cookies[i].getValues();

                   }

         }

         out.print("用户名+user);

%>

 

 

 

 

A.

(1)request.getRequestDispatcher("look.jsp").forward(request,response)

(2)response.getCookies();

 

B.

(1)request.getRequestDispatcher("look.jsp").forward(request,response)

(2)request.getCookies();

 

C.

(1)response.sendRedirect("look.jsp")

(2)response.getCookies();

 

D.

(1)response.sendRedirect("look.jsp")

(2)request.getCookies();

 

24.

以下关于Servlet生命周期说法错误的是(C)。(选择一项)

 

 

 

 

A.

Servlet容器根据Servlet类的位置加载Servlet类,成功加载后,由0容器创建Servlet的实例

 

B.

对于每一个Servlet实例,init()方法只被调用一次

 

C.

当Servlet容器接收到客户端请求时,调用 Servlet的service()方法以及destory()方法处理客户端请求

 

D.

servlet的实例是由servlet容器创建的,所以实例销毁也由容器业完成

 

25.

以下关于转发和重定向的说法错误的是(  C )(选择一项)

 

 

 

 

A.

转发通过request的getRequestDispatcher().forward()方法即可实现,它的作用是在多个页面交互过程中实现请求数据的共享。

 

B.

重定向可以理解为是浏览器至少提交了两次请求,它是在客户端发挥作用,通过请求新的地址实现页面转向

 

C.

转发和重定向都可以共享request范围内的数据

 

D.

转发时客户端的URL地址不会发生改变,而重定向时客户端浏览器中显示的是新的URL地址。

 

26.

以下Servlet代码主要实现添加功能,并进行了中文乱码的处理。其中第(C)处有错误。(选择一项)

public void doPost(HttpServletRequest request, HttpServletResponse response)

        throws ServletException, IOException {

  response.setContentType("text/html;charset=utf-8");     //1

  response.setCharacterEncoding("utf-8");            //2

  String name=request.getparam("uname");                  //3

  ......

 PrintWriter out = response.getWriter();  //4

  ......

}

 

 

 

 

A.

1

 

B.

2

 

C.

3

 

D.

4

 

27.

自定义标签的配置文件放在___D___

 

 

 

A.

WebRoot

 

B.

lib

 

C.

classes

 

D.

WEB-INF

 

28.

在J2EE中,给定某Servlet的代码如下,编译运行该文件,以下陈述正确的是(  B )。(选择一项)

Public class Servlet1 extends HttpServlet{

         Publicvoid init() throws ServletException{

         }

         Publicvoid service(HttpServletRequest request,HttpServletResponse response)

                            ThrowsServletException,IOException{

                   PrintWriterout = response.getWriter();

                   out.println(hello!);

         }

}

 

 

 

 

A.

编译该文件时会提示缺少doGet()或者dopost()方法,编译不能够成功通过

 

B.

编译后,把Servlet1.class放在正确位置,运行该Servlet,在浏览器中会看到输出文字:hello!

 

C.

编译后,把Servlet1.class放在正确位置,运行该Servlet,在浏览器中看不到任何输出的文字

 

D.

编译后,把Servlet1.class放在正确位置,运行该Servlet,在浏览器中会看到运行期错误信息

 

29.

J2EE中,Servlet API为使用Cookie,提供了( A )类。

 

 

 

 

A.

javax.servlet.http.Cookie

 

B.

javax.servlet.http.HttpCookie

 

C.

javax.servlet. Cookie

 

D.

javax.servlet.http.HttpCookie

 

30

能够保留请求作用域中数据的转向方式是__D___

 

 

 

 

A.

response.forward()

 

B.

response.sendRedirect()

 

C.

session.getRequestDispatcher().forward(request,response)

 

D.

request.getRequestDispatcher().forward(request,response)

 

三、   判断题

  1. out对象是一个输出流,它实现了javax.servlet.JspWriter接口,用来向客户端输出数据。(  T
  2. 利用response对象的sendRedirect方法只能实现本网站内的页面跳转,但不能传递参数。( T
  3. respone对象主要用于向客户端发送数据。( T )  
  4. Post属于表单的隐式提交信息方法。( T
  5. 表单提交的信息就封装在HTTP请求消息的信息体部分,用户使用request对象的getParameter方法可以得到通过表单提交的信息。( T )  
  6. request对象的getRemoteHost()方法既能获取客户机的名称,又能获取客户IP地址的方法是( T )   
  7. 同一个客户在同一个Web服务目录中的session对象是相同的,在不同的Web服务目录中的session对象是不相同的。( T )
  8. session对象是HttpSession接口类的实例,由客户端负责创建和销毁,所以不同客户的session对象不同。( F )  
  9. publiclongsession.setMaxInactiveInterval()设置最长发呆时间,单位毫秒。( F )
  10. session对象可以用来保存用户会话期间需要保存的数据信息。( T )
  11. url重写可以把session对象的id作为url参数传带过去,可以使用request对象的encodeURL(“”)。( F )
  12. application对象对所有用户都是共享的,任何对它的操作都会影响到所有的用户。( T )
  13. application对象可以用来保存数据。( T )  
  14. 使用request对象获取信息的时候,可能会出现NullPointerException异常( F )   
  15. Servlet与Applet它们都运行在服务器端。( F )
  16. Cookie由浏览器保存在客户端,通常保存为一个文本文件。( T )  
  17. 客户机与Servlet间可以直接的交互。( F )
  18. servlet容器中,一个Servlet类只会new一个servlet对象( T  )
  19. 当服务器收到一个请求时,会new一个新的线程来处理该请求( T )
  20. request.getSession(),调用两次后,返回的Session对象是完全不同的两个对象( F )
  21. servlet能脱离服务器运行( F )
  22. 一个servlet可以对应多个url( T )
  23. servlet程序通过HttpServletResponse对象直接将信息发送给客户端( F )

 

四、   简答题

  1. 创建并运行一个Servlet的基本流畅是什么?
  2. 简述Servlet的声明周期
  3. 简述请求转发于重定向的区别
  4. 简述tomcat的目录结构及其作用
  5. 简述HTTP协议的特点
  6. 简述Cookie和Session机制
  7. tomcat配置文件web.xml中,DefalutServlet的作用是? JspServlet的作用是?
  8. server.xml中,我们修改哪个元素的哪个属性可以将服务器监听端口改成其他端口?80端口有什么特别吗?
  9. 请说明:service,doGet,doPost方法的调用顺序

10.下面的问题如何解决:405   http method post is not supported by this url


11. Servlet中可以随意定义成员变量和随意使用它。对不对?为什么?

12. 我想让session对象使用完后,立马失效。可以调用哪些方法?

13. 翻译如下英文,明白session的基本用法:

Provides a way to identify a user across more than one page request or visit to a Web site and to store information about that user.

The servlet container uses this interface to create a session between an HTTP client and an HTTP server. The session persists for a specified time period, across more than one connection or page request from the user. A session usually corresponds to one user, who may visit a site many times. The server can maintain a session in many ways such as using cookies or rewriting URLs.

 

This interface allows servlets to

    View and manipulate information about a session, such as the session identifier, creation time, and last accessed time

    Bind objects to sessions, allowing user information to persist across multiple user connections

14. tomcat目录:lib、webapps分别有什么作用?

15. 如何手工发布一个web项目到tomcat服务器上?

 

五、   编码题

1. 动手操作:解压tomcat,配置JAVA_HOME。启动tomcat,关闭tomcat。

2. 动手操作:建立一个web项目,建立一个servlet并配置,将该项目发布到tomcat下。然后访问你写好的servlet

3. 动手操作:建立第二个servlet,使用HttpServletRequest对象读取某个请求头信息,使用HttpServletResponse对象向客户端写比较复杂的html、css、js代码。

4.使用纯Servlet技术实现网站登陆功能,要求链接数据库,创建一个User表。User表包括id、用户名,密码,昵称,用户创建日期,性别,年龄这些字段,并使用cookie技术实现三天免登陆功能。要求有用户密码登陆错误提示,以及用户名和密码格式检验,验证码,并有友好的HTML界面。