JSP期末测试复习题总结

一、选择题

  1. 下面哪个是JSP指令标记(C)
    A、<% %>
    B、<%! %>
    C、<%@ %>
    D、<%= %>

  2. JavaBean的生命周期中,哪个是用来跟踪用户会话的(B)
    A、session
    B、request
    C、page
    D、application

  3. http是一个(A)协议
    A、无状态
    B、有状态
    C、状态良好的
    D、局域网

  4. 以下称述是错误的(C)
    A、在web项目的共享数据范围内,application是范围最广泛的。
    B、当我们在一个JSP页面新开窗口时,新开窗口的页面也共享session范围内的数据
    C、当在JSP页面中通过
    D、当用户重新打开浏览器时,原session对象不再有效。

  5. JSP页面经过编译后,将创建一个(B)
    A、applet
    B、servlet
    C、application
    D、exe文件

  6. 哪个动作用于转向另一个页面(B)
    A、next
    B、forward
    C、include
    D、param

  7. 下列变量声明在(C)范围内有效。
    <%!
         Date dateTime;
         int countNum;
    %>
    A、从定义开始处有效,客户之间不共享
    B、在整个页面内有效,客户之间不共享
    C、在整个页面内有效,被多个客户共享
    D、从定义开始处有效,被多个客户共享

  8. include指令用于在JSP页面静态插入一个文件,插入文件可以是JSP页面、HTML页面、文本文件或一段Java代码,但必须保证插入后形成的文件(B)
    A、是一个完整的HTML文件
    B、是一个完整的JSP文件
    C、是一个完整的TXT文件
    D、是一个完整的Java源文件

  9. 下面哪一个不能作为JSP的服务器(D)
    A、IBM WebSphere
    B、BEA WebLogic
    C、Tomcat
    D、pws

  10. 在下面哪个web应用目录中可以放置需要的class文件(D)
    A、/WEB-INF/lib
    B、/META-INF/lib
    C、/classes放置已经编译的类文件
    D、 /WEB-INF/classes

  11. 当一个Servlet首次被请求的时候,服务器首先会调用(D)方法。
    A、doGet
    B、doPost
    C、doInit
    D、init

  12. 当发布web应用程序时,通常把web应用程序的目录及文件放到Tomcat的(C)目录下。
    A、work
    B、temp
    C、webapps
    D、conf

  13. page指令中的哪个属性可多次出现(C)
    A、contentType
    B、extends
    C、import指令
    D、不存在这样的属性

  14. 当访问一个Servlet时,Servlet中的方法执行顺序是(A)。
    A、init() service() destroy()
    B、initB() destroy() service()
    C、service() init() destroy()
    D、service() destroy() init()

  15. 在JSP中,重定向到另一个页面,以下哪项是正确的(C)
    A、request.sendRedirect(“http://www.hncu.net”)
    B、request.sendRedirect( )
    C、response.sendRedirect(“http://www.hncu.net”)
    D、response.sendRedirect( )

  16. 以下不属于JavaBean作用范围的是(D)
    A、request
    B、session
    C、application
    D、scope

  17. 当JSP页面执行自定义标签,遇到结束标签时将调用(B)方法执行处理。
    A、doStartTag()
    B、doEndTag()
    C、doInitBody()
    D、doAfterBody()

  18. 当Servlet过滤器的生命周期方法中,每当传递请求或响应时,web容器会调用(C)方法。
    A、init
    B、service
    C、doFilter
    D、destory

  19. Servlet中,使用()接口中定义的()方法来处理客户端发出的表单数据请求(B)
    A、HttpServlet doHead
    B、HttpServlet doPost
    C、ServletRequest doGet
    D、ServletRequest doPost

  20. web应用中,常用的会话跟踪方法不包括(D)
    A、URL重写
    B、Cookie
    C、隐藏表单域
    D、有状态HTTP协议

  21. servlet的生命周期又一系列事件组成,把这些事件按照先后顺序排序,以下正确的是(B)
    A、加载类,实例化,请求处理,初始化,销毁
    B、加载类,实例化,初始化,请求处理,销毁
    C、实例化,加载类,初始化,请求处理,销毁
    D、加载类,初始化,实例化,请求处理,销毁

二、填空题

  1. 指令标识通常以<%@标记开始,以%>标记结束。
  2. 如果想在JSP页面中调用exception对象输出错误信息,需要将页面指令的isErropage属性设置为true。
  3. 页面指令的import属性可出现多次。
  4. 表达式用于向页面输出信息,其使用格式是以<%=标记开始,以%>标记结束。
  5. 在页面中通过<%! 声明标识 %> 声明的变量和方法 的有效范围为整个页面,他们将成为JSP页面被转换成Java类后类中的属性方法
  6. 通常应用< jsp:useBean >动作标识可以在JSP页面中创建一个Bean实例,并且通过属性的设置可以将该实例存储到jsp中的指定范围内。
  7. 在jsp内置对象中,request对象是从客户端向服务器端发出请求,包括用户提交的信息以及客户端的一些信息,此对象的getParameter方法可以获取客户端表单中某输入框提交的信息。
  8. 在jsp内置对象中,response对象提供了设置HTTP响应报头的方法。
  9. cookie不是jsp的内置对象。
  10. jsp内置对象的有效范围由小到大pagerequestsessionapplication
  11. 按功能JavaBean可以分为可视化JavaBean非可视化JavaBean
  12. JSP注释分为
    < !- - 输出注释 - - >:可以通过查看源代码看见的注释
    < %- - 隐藏注释 - -%>:注释虽然写在jsp程序中,但是不会发送给客户。
  13. JSP使用声明< %! 变量、方法 % >:JSP程序中要用到的变量或方法必须首先进行声明,声明语言中,可以一次性声明多个变量和方法。
  14. JSP使用表达式< %= 输出 % >:显示结果。
  15. JSP使用脚本程序< % 代码段 % >:客户端请求时先被服务器执行的Java代码。
  16. page指令作用与整个JSP页面,page指令可以出现多次,但是该指令中的属性只能出现一次
  17. page指令的属性:language、extends、import、session、buffer、autoFlush、isThreadSafe、info、errorPage、isErrorPage、contentType、pageEncoding、isELIgnored
  18. page指令的常用格式:<%@ page import="java.util.* , java.text .* " ; language="java%>,“ ;”分隔多个属性,“,”分隔同一个属性中的多个值。
  19. include指令用于在JSP页面中静态包含一个文件。
  20. include指令的常用格式:< %@ include file="data.jsp % >
  21. JSP中的标准动作元素包括:< jsp:include >< jsp:param >< jsp:forward >< jsp:useBean >< jsp:getProperty >< jsp:setProperty >< jsp:plugin >
  22. include动作允许包含动态文件和静态文件,动态文件会被JSP编译器执行。
    其常用格式:< jsp:include page=“title.jsp” flush=“ture” >。
  23. param动作用来传递参数名和参数值。
    其常用格式:< jsp:param >
  24. forward动作允许将请求转发到其他文件 ,< jsp:forward > 标签以下的代码将不能执行。

二、简答题

  1. 简述JSP的处理过程。
    ① 客户端通过浏览器向服务器发出请求,该请求中包含了请求的资源和路径;
    ② 服务器根据被加载的客户端的请求加载被请求的JSP页面
    ③ Web服务器中的JSP引擎把被加载的JSP页面转换成servlet
    ④ JSP引擎把生成的JSP页面编译成class文件
    ⑤ 服务器执行这个class文件
    ⑥ 服务器把执行结果发送给浏览器显示

  2. 简述请求发送和请求重定向的区别?
    ① 请求转发时:存储在request对象中的信息会被保留并带到目标页面中;
    ② 请求重定向:生成一个request请求,然后将该请求重定向到指定的URL,所以事先存储在request对象中的信息都不存在了。

  3. 简述include指令标识和< jsp:include >动作标识的差异?
    ① include指令:通过file属性来确定被包含的页面,将file属性值看做一个实际存在的文件路径,所以该指令不支持任何的表达式
    ② < jsp:include >动作标识:通过page属性确定被包含的页面,支持JSP表达式
    ③ include指令:包含的文件,内容会原封不动的插入到该指令的位置,与该指令合成进行编译,若改变了被包含文件,主文件要重新编译;
    ④ < jsp:include >动作标识:包含文件时,当该标识被执行时,程序会将请求转发到被包含的文件,并将执行结果输出到浏览器中,然后返回到包含文件继续执行后面的代码,JSP编译器对两个文件分别进行编译,被包含文件改动不会影响源文件。

  4. 简述内置对象session和application的区别。
    ① session对象和用户会话相关,不同用户的session是完全不同的对象,而用户的application对象都是相同的一个对象,即共享这个对象。

  5. 简述数据库连接池的实现原理。
    ① 预先创建一定数量的连接,存放在连接池中,
    ② 当程序请求一个连接时,连接池是为该请求分配一个空闲连接,而不是去重新建立一个连接;当程序使用完连接后,该链接将重新回到连接池中,而不是直接将连接释放
    ③ 当连接池中空闲连接数量低于下限时,连接池将根据管理机制追加创建一定数量的连接,当空闲连接数量高于上限时,连接池将释放一定数量的连接。

  6. 简述JSP内置对象、作用及有效范围。
    ① application
    有效范围:application
    作用:用于保存所有应用程序中公有数据,服务器启动并且自动创建application对象后,只要没关闭服务器,application对象将一直存在;
    ②Config
    有效范围:page
    作用:将初始化数据传递给一个JSP页面
    ③ exception
    有效范围:page
    作用:该对象含有只能由指定的JSP“错误处理页面”访问的异常数据;
    ④ out
    有效范围:page
    作用:该对象主要用来向客户端输出各种数据类型的内容,并且管理应用服务器上的输出缓冲区;
    ⑤ page
    有效范围:page
    作用:该对象代表JSP页面对应的servlet类实例;
    ⑥ pageContext
    有效范围:page
    作用:管理不同作用域的属性;
    ⑦ request
    有效范围:request
    作用:从客户端向服务器发出请求,包括用户提交的数据以及客户端的一些数据;
    ⑧ response
    有效范围:page
    作用:用于响应客户请求,向客户端输出信息;
    ⑨ session
    有效范围:session
    作用:用来保存服务器与客户端之间需要保存的数据;

  7. JSP有哪些内置对象?作用分别是什么?
    JSP有9中基本内置组件
    ① request:客户端请求,此请求会包含来着get/post请求的参数;
    ② response:网页传回服务端的回应
    ③ pageContext:网页的属性是在这里管理
    ④ session:与请求有关的会话期
    ⑤ application :servlet 正在执行的内容
    ⑥ out 用于传送回应的输出
    ⑦ config: servlet 的构架部件
    ⑧ page:JSP页面本身
    ⑨ exception:针对错误网页,未捕捉的例外

  8. JSP有哪些动作?作用分别是什么?
    JSP共有6中基本动作
    ① jsp:include:在页面被请求的时候引入一个文件
    ② jsp:userBean:寻找或实例化一个JavaBean
    ③ jsp:setProperty:设置JavaBean的属性
    ④ jsp:getProperty:输出某个JavaBean的属性
    ⑤ jsp:forward:把请求转到一个新的页面
    ⑥ jsp:plugin:根据浏览器类型为Java插件生成object或embed标记

  9. forward和redirect的区别
    ① forward:的服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容在发个浏览器,浏览器根本不知道服务器发送的内容是从哪里来的,所以它的地址栏中还是原来的地址;
    ② redirect:就是服务器根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session、request参数都可以获取。

  10. JSP中动态include与静态的include的区别
    ① 动态include用 jsp:include 动作实现
    ② < jsp:include page=“included.jsp” flush=“true” /> 它总会检测所含文件中的变化,适用于包含动态页面,并且可以带参数,
    ③ < %@ include file=“included.jsp” % >静态include用include指令实现,不会检测所含文件的变化,适用于包含静态页面,

  11. 两种跳转方式分别是什么?有什么区别?
    两种方式为:
    < jsp:include page=“included.jsp” flush=“true” >
    < jsp:forward page=“nextPage.jsp” />
    区别:前者页面不会转向 include 所指的页面,只是显示该页的结果,主页面还是原来的页面。执行完后还会回来,相当于函数调用,并且可以带参数;后者完全转向新页面,不会再回来,相当于go to 语句。

  12. JSP内置对象及方法
    ① request:表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie、header和session数据的有用的方法。
    ② response:表示HttpServletResponse对象,并提供了几个方法用于设置送回,浏览器的响应方法,如:cookie、head头信息等
    ③ out :对象是

你可能感兴趣的:(jsp)