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__方法。
6.response.setHeader(“Refresh”, “5”)的含义是指 页面刷新时间为 5秒 _。
7.表单标记中的__action___属性用于指定处理表单数据程序url的地址。
8.使用cookie的基本步骤为:创建cookie对象,设置cookie对象的有效时间 ,传送cookie对象 , 读取cookie对象。
9.Servlet中使用Session对象的步骤为:调用HttpServletRequest.getSession()得到Session对象,查看Session对象,在会话中保存数据。
10. 在Servlet中,主要使用HttpServletResponse类的重定向方法sendRedirect() 方法实现重定向,以及使用RequestDispatcher类的转发方法 forward()方法实现转发功能。
11. javax.servlet.Servlet接口定义了三个用于Servlet生命周期的方法,它们是init() 、service()、 destroy()
12. Servlet中使用Session对象的步骤为:调用HttpServletRequest.getSession()得到Session对象,查看Session对象,在会话中保存数据。
13. Servlet运行于服务器端,与处于客户端的___ Applet___相对应。
14. 当Server关闭时,_Servlet __就被销毁。
15. 使用Servlet处理表单提交时,两个最重要的方法是_ doGet() _和_doPost()。
16. Serlvet接口只定义了一个服务方法就是_service()_。
17. MVC是三层开发结构,这三个字母按顺序分别代表_ model__、__view、__controller __。
18. Filter接口中最主要的方法是doFilter 方法。
19. 实现Filter接口的类需要重写doFilter方法、init方法、destroy方法。
20. ServletContext 被创建时的监听类需要实现ServletContextListener接口。
21. 配置事件监听类的配置文件是<listener><listener-class>监听类路径</listenr-class></listener>______
1.url-pattern配置方式都有那些:_____ /s、/*、*.do
22. 23."/"的问题。在浏览器发请求时它代表什么含义__代表服务器根目录__,_服务器内部跳转时代表什么含义___代表项目根目录_____
24. 下面代码有什么问题,请指出: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)方法可以设置响应所采用的字符编码类型。(选择一项)
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界面。

posted @ 2016-11-14 19:40  光何  阅读(11724)  评论(0编辑  收藏  举报