Servlet题库

时间:2022-05-29 21:37:02

一、    填空题

  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界面。