zoukankan      html  css  js  c++  java
  • 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目录in文件夹server.xml文件中,修改 Connection的port

     

    B.

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

     

    C.

    在tomcat目录in文件夹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界面。

  • 相关阅读:
    angular转场动画
    css常用单位
    css3美化滚动条样式
    grid布局
    angular使用material组件库和tailwindcss样式
    使用 BaGet 搭建 nuget 仓库
    net core api 文件下载,断点续传
    netcore 使用中间件响应文件下载请求
    angular通知组件--angular2-toaster
    angular图标组件--@visurel/iconify-angular
  • 原文地址:https://www.cnblogs.com/guanghe/p/6063130.html
Copyright © 2011-2022 走看看