JSP经典笔试题(含答案-见结尾处) - 高飞网
9人看过

JSP经典笔试题(含答案-见结尾处)

2014-05-21 01:23:38

1)在Java EE中,Servlet是在服务器端运行,以处理客户端请求而做出的响应的程序,下列选项中属于Servlet生命周期阶段的是( )

  1. 加载和实例化
  2. 初始化
  3. 服务
  4. 销毁
  5. 以上全部
  1. 在Java EE中的MVC设计模式中,( )负责接受客户端的请求数据
    1. JavaBean
    2. JSP
    3. Servlet
    4. HTML

    3)过滤器应实现的接口是( )。

    A. HttpServlet B. HttpFilter

    C. ServletFilter D. Filter

  2. 开发Java Web应用程序的时候,创建一个Servlet,该Servlet重写了父类的doGet()和doPost()方法,那么其父类可能是( )
    1. RequestDispatcher
    2. HttpServletResponse
    3. HttpServletRequest
    4. HttpServlet
  3. 在Java Web开发中,如果某个数据需要跨多个请求存在,则数据应该存储在( )中
    1. session
    2. page
    3. request

    D.Response

    6)在开发Java Web应用程序的时候,HTTP请求消息使用Get或POET方法以便在WEB上传输数据,下列关于GET和POST 方法描述正确的是( )

    1. POST请求的数据在地址栏不可见
    2. GET请求提交的数据在理论上没有长度限制
    3. POST请求对发送的数据的长度限制在240——255个字符
    4. GET请求提交数据更加安全

    7)在JSP中有EL表达式${10*10 ne 10},结果是( )

    A.100

    B. true

    C. fasle

    D. 以上都不对

    8)JSTL标签的分类以下说法正确的是( )

    A. 通用标签与迭代标签 B. 核心标签与迭代标签

    C. 核心标签与sql标签 D. 以上都不是

    9)在Java Servlet API中,HttpServletRequest接口的( )方法用于返回当前请求相关联的会话,如果没有,返回null

    1. getSession() //=gerSession(true)默认为:getSession(true)
    2. getSession(true)
    3. getSession(false)
    4. getSession(null)

    10)在Java Web开发中,不同的客户端需要共享数据,则数据应该存储在( )中

    1. session
    2. application
    3. request
    4. response

    11)利用三层结构搭建某网上书店系统,设计用户登陆界面,如果你是设计人员,你将在三层结构的( )中实现

    1. 模型层
    2. 表示层
    3. 数据访问层
    4. 业务逻辑层

    12)在Java EE中,( )接口定义了getSession()方法

    1. httpServlet
    2. HttpSession
    3. HttpServletRequest
    4. HttpServletResponse

    13)JSP标准标签库(JSTL)提供的主要标签库中,其中( )可用于操作数据库。

    A. 核心标签库 B. I18N与格式化标签库

    C. XML标签库 D. SQL标签库

    14)JSP表达式语言可用于在网页上生成动态的内容并代替JSP元素,JSP表达式语言的语法是( )

    1. {EL expresion}
    2. ${EL expresion}
    3. @{EL expresion}
    4. #{EL expresion}

    15)在J2EE的体系结构中,系统的业务和功能代码组成了三层结构中的( )层

    1. 表示层
    2. 中间层
    3. 数据层

    D.客户端层

    16)在JSTL的达代标签<forEach>的属性中,用于指定要遍历的对象集合( )

    1. var
    2. items
    3. value
    4. varStatus

    17)如果不希望JSP网页支持Session,应该( )。

    A. 调用HttpSession的invalidate()方法

    B. <%@ page session= “false”>

    C. 在jsp页面中写入如下代码HttpSession session=request.getSession(false);

    D. 调用HttpSession的setMaxInactiveInterval(),将时间设置为0

    18)Servlet是一个在服务器上运行、处理请求信息并将其发送到客户端的Java程序()接受服务请求、找到Servlet类、加载Servlet类并创建Servlet对象。

    A) 客户端

    B) IE浏览器

    C) Servlet容器

    D) Servlet本身

    19)MVC设计模式包含模型层、视图层和控制层,在下列组件扮演控制器角色的是( ) A) Servlet

    B) JSP

    C) javaBean

    D) HTML

  4. JSP标准标签库(JSTL)的标签库描述符文件的后缀是( )

    A) .tld

    B) .jar

    C) .properties

    D).xml

    21)在J2EE中,以下不是JSP隐式对象的是( )

    A. pageContext B. context C. application D. out

    22)在Java Web应用程序中,给定servlet A的代码片段如下所示:

    Public void doPost(HttpServletRequest request,HttpServletResponse response)

    throws ServletException,IOException{

    String id=”kingdom”;

    _________________

    }

    Servlet B与servlet A同在一个有效的会话范围内,当把请求转发给servlet B后,要

    使B能够获得”kingdom”值,下划线处应填入( )

    1. request.getSession().setAttribute(“ID”,id);
    2. request.getSession().getAttribute(“ID”,id);
    3. request.getSession().setParameter(“ID”,id);
    4. request.getSession().getParameter(“ID”,id);

    23)在Java Web应用程序中,包含两个名为Servlet1和Servlet2的HttpServlet,在web.xml中指定Servlet2的访问路径为”/servlet2″,Servlet1的doGet方法中的代码为:

    PrintWriter out=response.getWriter();

    out.print(“Servlet1″);

    RequestDispatcher dispatcher=request.getRequestDispatcher(“/servlet2″);

    dispatcher.forword(request,response);

    out.close();

    Servlet2的doGet方法中的代码为:

    PrintWriter out=response.getWriter();

    out.print(“Servlet2″);

    out.close();

    如果用户在浏览器中访问Servlet1,则浏览器将( )

    1. 显示”Servlet1″
    2. 显示”Servlet2″
    3. 显示”Servlet1Servlet2″
    4. 什么也不显示

    24)在Java Web应用程序中,使用数据源与JNDI获得数据库连接时,应把JDBC驱动程序jar文件放在( )下:

    1. 应用程序的src目录
    2. 应用程序的/WEB-INF/lib目录
    3. Tomcat的根目录
    4. Tomcat的common/lib目录

    25)在Java Web 应用中,下面关于HttpSession的说法正确的是( )(选择二项)

    1. Servlet容器负责创建HttpSession对象
    2. 每个HttpSession对象都有唯一的ID
    3. 客户端浏览器负责为HttpSession分配唯一的ID

    d) HttpSession 对象的ID值,由程序员进行分配

    26)在HTTP协议中,请求消息使用( )方法用于通过Internet发送大量数据,没有长度的限制。

    1. get
    2. post
    3. put
    4. head

    27)在Java Web应用程序中,JSP EL 表达式可用于访问( )中存储的数据

    1. Web.xml
    2. Servlet
    3. Applet

    D. JavaBean

    28)在Java Web应用程序中,给定某Servlet程序的代码如下所示:

    Public class Servlet extends Httpservlet{

    Public void doGet(HttpServletRequestrequest,HttpServletResponse response)throws ServletException,IOException{

    System.out.println(“get”);

    }

    Public void doPost(HttpServletRequestrequest,HttpServletResponse response)throws ServletException,IOException{

    System.out.println(“Post”);

    doGet(request,response);

    }

    }

    用户在游览地址栏中建入正确的请求URL并回车后,在控制台上显示的结果是( )

    1. Get //只有表单提交为Post请求的会调用DoPost方法
    2. Post //其它无论是键入请求还是超链接请求均调用的是DoGet方法

    get

    Post

    1. Post
    2. Get

    29)在JSP中,使用<jsp:useBean>动作可以将javaBean嵌入JSP页面,对JavaBean的访问范围不能是( )。

    A. page B. request C. response D. application

    30)在Java Web应用程序中,包含jsp1.jsp和jsp2.jsp,以及封装在user包下的名为User的Javabean,user中包含loginName属性以及相应的setter和getter方法,如果用户A在浏览器中访问jsp1.jsp后,用户B在浏览器中访问jsp2.jsp,则用户B的浏览器将( )

    Jsp1.jsp代码:

    <html>

    <jsp:useBean id=”user” class=”user.User” scope=”session”/>

    <jsp:setProperty name=”user” property=”loginName” value=”Mart”/>

    </html>

    Jsp2.jsp代码:

    <html>

    <jsp:useBean id=”user” class=”user.User” scope=”session”/>

    <jsp:getProperty name=”user” property=”loginName”/>

    </html>

    1. 什么也不显示
    2. 显示”null”
    3. 显示”Mart”
    4. 报错,提示无法显示网页

    31)在servlet的服务方法(如doPost() )中,如何从请求获得”userID”值 ( )

    1. String userID = request.getParameter(“userID”);
    2. String userID = request.getHeader(“userID”);
    3. String userID = request.getRequestHeader(“userID”);
    4. String userID = getServletContext().getInitParameter(“userID”);

    32)HttpServletResponse的哪些方法用于将一个HTTP请求重定向到另一个URL( )

    1. sednURL()
    1. redirectURL()
    2. redirectHttp()
    3. sendRedirect()
    4. getRequestDispatcher()

    33)以下哪个代码段会得到一个输出流,用于向HttpServletResponse输出字符文本 ( )

    1. java.io.PrintWriter out = response.getWriter();
      1. ServletOutputStream out = response.getOutputStream(); //输出为字节文本
      2. java.io.PrintWriter out = new PrintWriter(response.getReader());
      3. Servlet OutputStream out = response.getBinaryStream();

    34)servlet开发人员在扩展HttpServlet时如何处理HttpServlet的service()方法( )(选择二项)

    1. 大多数情况下都应该覆盖service()方法
    2. 应当从doGet()或doPost()调用service()方法
    3. 应当从init()调用service()方法
    4. 应当至少覆盖一个doXXX( )方法(如doPost())

    35)关于会话属性,以下哪些说法是正确( )(选择两项)

    1. HttpSession.getAttribute(String)的返回类型是Object
    2. HttpSession.getAttribute(String)的返回类型是String
    3. 在HttpSession上调用setAttribute(“keyA”, “valueB”)时,如果这个会话中对应键keyA已经有了一个值,就会导致抛出一个异常
    4. 在HttpSession上调用setAttribute(“keyA”, “valueB”)时,如果这个会话中对应键keyA已经有一个值,则会导致这个属性原先的值被String valueB替换

    36)给定req是一个HttpServletRequest,哪个代码会在不存在会话的情况下创建一个会话( ) (选择两项)

    1. req.getSession()
    2. req.getSession(true)
    3. req.getSession(false)
    4. req.createSession()
    5. req.getNewSession()
    6. req.createSession(true)
    7. req.createSession(false)

    37)给定一个会话对象s,有两个属性,属性名分别为myValue1和myValue2,哪个代码段会把这两个属性从会话中删除( )

    1. s.removeAllValues();
    2. s.removeAttribute(“myValue1″);

    s.removeAttribute(“myValue2″);

    1. s.removeAllAttributes();
    2. s.getAttribute(“myValue1″,UNBIND);

      s.getAttribute(“myValue2″,UNBIND);

    3. s.getAttributeNames(UNBIND);

    38)给定TheBean类,假设还没有创建TheBean类的实例,以下哪些JSP标准动作语句能创建这个bean的一个新实例,并把它存储在请求作用域 ( )

    1. <jsp :useBean name=”myBean” type=”com.example.TheBean”/>
    2. <jsp :takeBean name=”myBean” type=”com.example.TheBean”/>
    3. <jsp :useBean id=”myBean” class=”com.example.TheBean” scope=”request”/>
    4. <jsp :takeBean id=”myBean” class=”com.example.TheBean” scope=”request”/>

    39)给定一个Model1体系结构,其中有一个JSP页面处理所有控制器函数,这个JSP控制器要把请求分派给另一个JSP页面 ( )

    1. <jsp:forward page=”view.jsp”/>
    2. <jsp:forward file=”view.jsp”/>
    3. <jsp:dispatch page=”view.jsp”/>
    4. <jsp:dispatch file=”view.jsp”/>

    40)有关<jsp:useBean>标准动作,以下哪些说法是正确的 ( ) (选择两项)

    1. id属性表示对象的名称
    2. scope属性是必要的 //是比不可少的,虽说可省略不写,但默认仍存在
    3. scope属性是可选的,默认为page
    4. class属性是可选的 //class 属性与 type属性一样,二者(必须)任选一

    41)在JSP页面上使用JSTL标签时,应使用taglib指令导入标签库描述文件,并设置taglib指令的( )属性指定标签的前缀。

    A) prefix B) name C) tag D) uri

    42)JavaBean是在Java中开发的可以跨平台的重用组件,JavaBean必须满足的要求中不包括( )

    A)是一个共有类

    B)实现java.io.Serializable接口

    C)具有不带任何参数的共有构造函数

    D)具有访问属性的共有的getter和setter方法

    43)在JSP页面中使用<c:froEach>标签,对session中集合对象arr进行迭代时,items属性赋值正确的是( )。

    A)<c:forEach var=”bean” items=”session.arr”/>

    B)<c:forEach var=”bean” items=”${session.arr}”/>

    C)<c:forEach var=”bean” items=”sessionScope.arr”/>

    D)<c:forEach var=”bean” items=”${sessionScope.arr}”/>

    44)下列选项中不属于JSP标准动作的是( )

    A)<jsp:forward/>

    B)<c:out/> //这个是属于标签

    C)<jsp:useBean/>

    D)<jsp:setProperty/>

    45)在JavaEE中,初始化Servlet实例的时候,init()方法是由( )执行

    A) 程序员编写代码来调用执行

    B)每次执行当前的Servlet时,由系统自动执行

    C) 当第一次执行当前的Servlet时,由系统自动执行

    D)以上说法都不对

    46)在Java Web应用程序中,要完成将用户会话中的”counter”计数器的值增加1,下列( )是正确的Servlet代码片段。

    A).HttpSession session=request.getSession(true);

    int ival=session.getAttribute(“counter”);

    if(ival==null){

    ival=1;

    }else{

    Ival=ival+1;

    session.setAttribute(“counter”,ival);

    }

    B).HttpSession session=request.getSession(true);

    Integer ival=(Integer)session.getAttribute(“counter”);

    session.setAttribute(“counter”,ival+1);

    C).HttpSession session =request.getAttribute(“counter”);

    if(ival==null){

    ival=new Integer(1);

    }else{

    ival=new Integer(ival.intValue()+1);

    }

    session.setAttribute(“counter”,ival);

    D)HttpSession session=request.getSession();

    Integer ival=(Integer)session.getAttribute(“counter”);

    If(ival==null){

    ival=1;

    }else{

    ival=ival+1;

    }

    session.setAttribute(“counter”,new Integer(ival));

    47)在JSP页面中,( )可以取得名为boxes的复选框第一个值。(选两项)

    A)${param.boxes}

    B)${paramValues.boxes}

    C)${paramValues.boxes[0]}

    D)${paramValue.boxes[1]}

    48)下面这一段JSP代码片断的输出结果是( )。

    <%! int i=1;%> //<%! Int i=1;%>代表声明的是全局变量或方法

    <%!int getNumber(){ //<% int i=1;%> 代表声明的是局部变量或方法

    return i;

    }

    %>

    <% int i=10;

    out.println(“first i=”+i);

    %>

    <% out.println(“second i=”+i); %>

    <% out.println(“third i=”+getNumber()) ; %>

    A. first 1=10 second i=1 third i=1

    B. first i=10 second i=10 third i=1

    C. first 1=10 second i=1 third i=10

    D. first 1=1 second i=1 third i=1

    49)在J2EE中,test.jsp文件如下。试图运行时,将发生( )。

    <html>

    <% String str=null ;%>

    str is <% =”str”%>

    </html>

    A. 转译期错误 B. 编译期错误

    C. 运行后,浏览器上显示:str is null D. 运行后,浏览器上显示:str is str

    50)对于以下代码,说法正确的是( )。

    session.setAttribute(“count”,new Integer(0));

    Integer count = session.getAttribute(“count”);

    A. 不能通过编译 B. 能通过编译,并且能正常运行

    C. 编译通过,但运行时抛出ClassCastException D. 以上说法都不正确

    答案:

    1-5:E C D D A
    6-10:
    A B C C B
    11-15:
    B C D B B
    16-20:
    B B C A A

    21-25:
    B A B D AB
    26-30:
    B D A C A
    31-35: A D A AD AD

    36-40:
    AB B C A CD
    41-45:
    A C D B C
    46-50:
    D AC B D A

    APP

还没有评论!
54.224.164.166