《JSP面试题及答案简答题 .docx》由会员分享,可在线阅读,更多相关《JSP面试题及答案简答题 .docx(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品名师归纳总结1、JSP 页面是如何被执行的? JSP 执行效率比 Servlet低吗?当客户端向一个JSP 页面发出请求时,Web Container将 JSP 转化成 Servlet的源代码 只在第一次请求时 ,然后编译转化后的Servlet并加载到内存中执行,执行的结果Response 到客户端。JSP只在第一次执行的时候会转化为Servlet,以后每次执行 Web容器都是直接执行编译后的 Servlet,所以 JSP 和 Servlet只是在第一次执行的时候不一样,JSP 慢一点,以后的执行都是相同的。2、JSP 如何处理运行时反常 run-timeexceptions.可以使用页面
2、的errorPage属性捕获没有处理的运行时反常,然后自动转向到一个错误处理页面,代码如下:假如在页面请求时显现运行时反常是,以上代码会把页面转向到JSP 页面 error.jsp,在error.jsp里面,可以通过以下代码定义这个页面是错误处理页:这样描述错误信息的Throwable 对象就可以在 error.jsp页面里面拜望到。3、假如 jsp 表单元素的值为空,如何防止null显现在页面上?可以写一个简洁的函数对空值进行处理,判定值是否为空,假如是空就返回空字符串。实例代码如下:在你的 JSP里面,可以使用以上函数输出文本框或者其他页面元素的值,实例代码如下:input type=”t
3、ext ” name=”shoesize ” value= ” 4、如何防止 JSP 页面自动生成session对象?为什么要这么做?在默认情形下,在对一个JSP 页面发出请求时,假如session仍没有建立, JSP 页面会自动为请求建立一个session对象,但是 session是比较消耗资源的,假如没必要保持和使 用 session ,就不应当创建 session,例如一些只是用来宣扬产品的网站,往往没必要使用session来储存信息,可以使用jsp页面指令 session= ” false ”来防止 JSP页面为每个请求都自动创建session.实例代码如下:5、在 servlets和
4、 JSP之间能共享 session对象吗? 当然可以,HttpSession session = request.getSessiontrue。session.putValue”variable”, ”value ” 。6、Servlet都有哪些方法?主要作用是什么?HttpServlet类 包含 init、destroy、service等方 法 。其 中init和destroy方法是继承的。(1) init方法在 Servlet的生命期中,仅执行一次init方法。它是在服务器装入Servlet时执行的。 可以配置服务器,以在启动服务器或客户机首次拜望Servlet时装入 Servlet。无论
5、有多少客户机拜望Servlet,都不会重复执行init。缺省的 init方法通常是符合要求的,但也可以用定制init方法来掩盖它,典型的可编辑资料 - - - 欢迎下载精品名师归纳总结是治理服务器端资源。 例如,可能编写一个定制 init 来只用于一次装入 GIF 图像, 改进 Servlet 返回 GIF 图像和含有多个客户机请求的性能。另一个示例是初始化数据库连接。缺省的 init 方法设置了 Servlet 的初始化参数,并用它的 ServletConfig 对象参数来启动配置, 因此全部掩盖 init 方法的 Servlet 应调用 super.init以确保仍然执行这些任务。在调用
6、service 方法之前,应确保已完成了 init 方法。(2) service方法service方法是 Servlet的核心。每当一个客户请求一个HttpServlet对象,该对象的 service方法就要被调用,而且传递给这个方法一个“请求”(ServletRequest) 对象和一个“响应”(ServletResponse)对象作为参数。在 HttpServlet中已存在service方法。缺省的服务功能是调用与HTTP 请求的方法相应的do功能。例如,假如 HTTP 请求方法为 GET ,就缺省情形下就调用doGet。 Servlet应当为 Servlet 支持的 HTTP 方法掩盖
7、do功能。由于 HttpServlet.service方法会检查请求方法是否 调用了适当的处理方法,不必要掩盖service方法。只需掩盖相应的do方法就可以了。= 当一个客户通过HTML 表单发出一个HTTP POST 请求时, doPost()方法被调用。与 POST 请求相关的参数作为一个单独的HTTP 请求从浏览器发送到服务器。当需要修改服务器端的数据时,应当使用doPost方法。= 当一个客户通过HTML 表单发出一个 HTTP GET 请求或直接请求一个URL 时, doGet方法被调用。与 GET 请求相关的参数添加到URL 的后面,并与这个请求一起发送。当不会修改服务器端的数据
8、时,应当使用doGet方法。Servlet的响应可以是以下几种类型:一个输出流,浏览器依据它的内容类型(如text/HTML)进行说明。一个 HTTP 错误响应 ,重定向到另一个 URL 、 servlet、 JSP 。(3) destroy方法destroy 方法仅执行一次,即在服务器停止且卸装 Servlet 时执行该方法。典型的,将Servlet 作为服务器进程的一部分来关闭。缺省的 destroy 方法通常是符合要求的,但也可以掩盖它,典型的是治理服务器端资源。例如,假如 Servlet 在运行时会累计统计数据,就可以编写一个 destroy 方法,该方法用于在未装入 Servlet
9、时将统计数字储存在文件中。另一个示例是关闭数据库连接。当服务器卸装 Servlet时,将在全部 service方法调用完成后,或在指定的时间间隔 过后调用 destroy方法。一个 Servlet在运行 service方法时可能会产生其它的线程,因此请确认在调用destroy方法时,这些线程已终止或完成。(4) GetServletConfig()方法GetServletConfig()方法返回一个ServletConfig对象,该对象用来返回初始化参数和 ServletContext。 ServletContext接口供应有关servlet的环境信息。5 GetServletInfo()方法
10、GetServletInfo ()方法是一个可选的方法,它供应有关 servlet 的信息,如作者、版本、版权。当服务器调用 sevlet 的 Service ()、 doGet ()和 doPost ()这三个方法时,均需要 “请求”和“响应”对象作为参数。“请求”对象供应有关请求的信息,而“响应”对象供应了一个将响应信息返回给浏览器的一个通信途径。javax.servlet软件包中的相关类为 ServletResponse和 ServletRequest,而 javax.servlet.http软件包中的相关类为 HttpServletRequest和 HttpServletRespons
11、e。 Servlet通过这些对象与服务器通信并最终与客户机通信。Servlet能通过调用“请求”对象的方法获知客户机环境,服可编辑资料 - - - 欢迎下载精品名师归纳总结务器环境的信息和全部由客户机供应的信息。Servlet可以调用“响应”对象的方法发送响应,该响应是预备发回客户机的。7、Java Servlet的主要功能和作用是什么?Servlet通过创建一个框架来扩展服务器的才能,以供应在Web 上进行请求和响应服务。当客户机发送请求至服务器时,服务器可以将请求信息发送给Servlet,并让 Servlet 建立起服务器返回给客户机的响应。当启动 Web 服务器或客户机第一次请求服务时,
12、可以自动装入 Servlet。装入后, Servlet连续运行直到其它客户机发出请求。Servlet 的功能涉及范畴很广。例如,Servlet可完成如下功能:(1) 创建并返回一个包含基于客户请求性质的动态内容的完整的HTML 页面。(2) 创建可嵌入到现有HTML 页面中的一部分 HTML 页面( HTML 片段)。(3) 与其它服务器资源(包括数据库和基于Java的应用程序)进行通信。(4) 用多个客户机处理连接,接收多个客户机的输入,并将结果广播到多个客户机上。例如, Servlet可以是多参与者的玩耍服务器。(5) 当答应在单连接方式下传送数据的情形下,在浏览器上打开服务器至apple
13、t的新连接,并将该连接保持在打开状态。当答应客户机和服务器简洁、高效的执行会话的情形下,applet也可以启动客户浏览器和服务器之间的连接。可以通过定制协议或标准(如IIOP)进行通信。(6) 对特殊的处理接受MIME 类型过滤数据,例如图像转换和服务器端包括(SSI)。(7) 将定制的处理供应应全部服务器的标准例行程序。例如,Servlet可以修改如何认证用户。8、Request 对象的主要方法有哪些?setAttributeString name,Object:设置名字为name的 request的参数值getAttributeString name:返回由 name 指定的属性值getA
14、ttributeNames:返回 request对象全部属性的名字集合,结果是一个枚举的实例getCookies:返回客户端的全部Cookie 对象,结果是一个Cookie 数组getCharacterEncoding:返回请求中的字符编码方式getContentLength:返回请求的 Body 的长度实例getInputStream:返回请求的输入流,用于获得请求中的数据getMethod:获得客户端向服务器端传送数据的方法getParameterString name:获得客户端传送给服务器端的有name指定的参数值getParameterNames:获得客户端传送给服务器端的全部参数的
15、名字,结果是一个枚举的实例getParameterValuesString name:获得有 name指定的参数的全部值getProtocol:猎取客户端向服务器端传送数据所依据的协议名称getQueryString:获得查询字符串getRequestURI:猎取发出请求字符串的客户端的址getRemoteAddr:猎取客户端的 IP 的址getRemoteHost:猎取客户端的名字getSessionBoolean create:返回和请求相关SessiongetServerName:猎取服务器的名字getServletPath:猎取客户端所请求的脚本文件的路径可编辑资料 - - - 欢迎下
16、载精品名师归纳总结getServerPort:猎取服务器的端口号removeAttributeString name:删除请求中的一个属性9、使用 JSP连接到数据库连接缓冲池的最好方法是什么?1. 使用 JDBC2。0 中带有此服务的 Driver2. 使用供应有此服务的Application server3. 自己写10、在 JSP中如何写文本文件? 使用 PrintWriter对象,如:11、 JSP 的缺点?1. 对 JAVA程序进行调试没有好东东2. 因大多数的 servlet引擎不支持 connection pooling 3.Servlet引擎没有标准4.JSP 与其它脚本语言的
17、交互12、在 JSP中如何删除一个 COOKIE.13、forward和redirect的区别14、 jsp有哪些内置对象 .作用分别是什么 .( 1)request表示 HttpServletRequest对象。它包含了有关浏览器请求的信息,并且供应了几个用于猎取cookie, header,和 session 数据的有用的方法。(2) response 表示 HttpServletResponse对象,并供应了几个用于设置送回浏览器的响应的方法(如cookies,头信息等)可编辑资料 - - - 欢迎下载精品名师归纳总结(3) out 对象是 javax.jsp.JspWriter的一个实
18、例,并供应了几个方法使你能用于向浏览器回送输出结果。(4) pageContext表示一个 javax.servlet.jsp.PageContext对象。它是用于便利存取各 种范畴的名字空间、 servlet相关的对象的 API,并且包装了通用的servlet相关功能的方法。(5) session表示一个请求的 javax.servlet.http.HttpSession对象。 Session 可以存贮用户的状态信息(6) applicaton表示一个 javax.servle.ServletContext对象。这有助于查找有关servlet引擎和 servlet环境的信息(7) confi
19、g表示一个 javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。(8) page 表示从该页面产生的一个servlet实例15、 jsp有哪些动作 .作用分别是什么 .16、 JSP 中动态 INCLUDE与静态 INCLUDE的区分?动态 INCLUDE用 jsp:include动作实现 它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。静态 INCLUDE用 include伪码实现 , 不会检查所含文件的变化,适用于包含静态页面17、两种跳转方式分别是什么.有什么区别.18、 JSP 的内置对象及方法r equest对
20、象、 response 对象、 application对象, session对象page对象, pageCotext对象, config对象, Exception对象, Out对象19、说一说Servlet的生命周期.Servlet是一种可以 在 Servlet容器中运行的组件,那么理所当然就应当有一个从创建到销毁的过程,这个过程我们可以称之为Servlet生命周期。 Servlet的生命 周期可以分为加载、实例化、初始化、处理客户请求和卸载五个阶段,表达在方法上主要是init()、service()和 destroy ()三个方法。生命周期的具体说明如下: Servlet容器完成加载Serv
21、let类和实例化一个 Servlet对象 init()方法完成初始化工作,该方法由Servlet容器调用完成可编辑资料 - - - 欢迎下载精品名师归纳总结23、如何现实servlet的单线程模式24、页面间对象传递的方法25、 JSP 和 Servlet有哪些相同点和不同点,他们之间的联系是什么?JSP技术是建立在Servlet技术基础之上的,本质上是Servlet的简易方式,更强调应用的外表表达。JSP 编译后是 类 servlet,全部的 JSP页面最终都要被转换成Servlet来运行。目前 , 一个 web 应用往往由多个 servlet和 jsp组成。 Servlet于, ServletJSP 的情形是的应用规律是在Java 文件中,并且完全从表示层中的和 JSP 最主要的不同点在HTML里分别开来。而Java 和 HTML可以组合成一个扩展名为.jsp的文件。 JSP 侧重于视图,负责显示工作完成。 Servlet主要用于把握规律, 负责流程把握功能。service()方法处理客户端请求,并返回响应结果源destroy()方法在 Servlet容器卸载 Servlet之前被调用,释放一些资可编辑资料 - - - 欢迎下载