《Java Web技术及案例开发》 课件 第5章 JSP内置对象_第1页
《Java Web技术及案例开发》 课件 第5章 JSP内置对象_第2页
《Java Web技术及案例开发》 课件 第5章 JSP内置对象_第3页
《Java Web技术及案例开发》 课件 第5章 JSP内置对象_第4页
《Java Web技术及案例开发》 课件 第5章 JSP内置对象_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章

JSP内置对象本章思维导图本章目标熟悉JSP内置对象的分类及组成掌握request、response和out对象的特性及常用方法的使用掌握session、application对象的特性及常用方法的使用理解pageContext、request、session、application四种作用域的区别和联系了解page、config对象掌握exception对象的使用方式JSP内置对象是指在JSP页面中,不用声明就可以在脚本和表达式中直接使用的对象。JSP内置对象也称隐含对象,它提供了Web开发常用的功能,为了提高开发效率,JSP规范预定义了内置对象。JSP内置对象有如下特点:内置对象由Web容器自动载入,不需要实例化;内置对象通过Web容器来实现和管理;在所有的JSP页面中,直接调用内置对象都是合法的。内置对象简介内置对象简介对象名称类型功能说明requestjakarta.servlet.http.HttpServletRequest请求对象,提供客户端HTTP请求数据的访问responsejakarta.servlet.http.HttpServletResponse响应对象,用来向客户端输出响应outjakarta.servlet.jsp.JspWriter输出对象,提供对输出流的访问sessionjakarta.servlet.http.HttpSession会话对象,用来保存服务器与每个客户端会话过程中的信息applicationjakarta.servlet.ServletContext应用程序对象,用来保存整个应用环境的信息pageContextjakarta.servlet.jsp.PageContext页面上下文对象,用于存储当前JSP页面的相关信息configjakarta.servlet.ServletConfig页面配置对象,JSP页面的配置信息对象pagejakarta.servlet.jsp.HttpJspPage当前JSP页面对象,即thisexceptionjava.lang.Throwable异常对象,用于处理JSP页面中的错误与Input/Output(输入/输出)有关的隐含对象包括:request对象、response对象和out对象,这类对象主要用来作为客户端和服务器间通信的桥梁。request对象表示客户端对服务器端发送的请求;response对象表示服务器对客户端的响应;out对象负责把处理结果输出到客户端。与Input/Output有关的内置对象request对象即请求对象,表示客户端对服务器发送的请求,主要用于接受客户端通过HTTP协议传送给服务器端的数据。request对象的类型为jakarta.servlet.http.HttpServletRequest,与Servlet中的请求对象为同一对象。request对象的作用域为一次request请求。requestrequest对象拥有HttpServletRequest接口的所有方法,其常用方法如下:voidsetCharacterEncoding(Stringcharset):设置请求体参数的解码字符集;StringgetParameter(Stringname):根据参数名获取单一参数值;String[]getParameterValues(Stringname):根据参数名获取一组参数值;voidsetAttribute(Stringname,Objectvalue):以名/值的方式存储请求域属性;ObjectgetAttribute(Stringname):根据属性名获取存储的对象数据。requestresponse对象即响应对象,表示服务器对客户端的响应。主要用来将JSP处理后的结果传回到客户端。response对象类型为jakarta.servlet.http.HttpServletResponse,与Servlet中的响应对象为同一对象。response对象拥有HttpServletResponse接口的所有方法,其常用的方法如下:voidsetContentType(Stringname):设置响应内容的类型和字符编码;voidsendRedirect(Stringurl):重定向到指定的URL资源。responseout对象即输出对象,用来控制管理输出的缓冲区(buffer)和输出流(outputstream)向客户端页面输出数据。out对象类型为jakarta.servlet.jsp.JspWriter,与HttpServletResponse接口的getWriter()方法获得的PrintWriter对象功能相同,并都由java.io.Writer类继承而来。out对象的方法可以分为两类:数据的输出;缓冲区的处理。outout对象数据输出的方法及描述示例out内置对象<% inti=0; java.util.Datedate=newjava.util.Date(); out.print(i); out.newLine(); out.println(date);%>方法描述print/println(基本数据类型)输出一个基本数据类型的值print/println(Objectobj)输出一个对象的引用地址print/println(Stringstr)输出一个字符串的值newLine()输出一个换行符print/println(基本数据类型)输出一个基本数据类型的值out对象缓冲区的处理方法及描述out内置对象方法描述voidclear()清除输出缓冲区的内容。若缓冲区为空,则产生IOException异常voidclearBuffer()清除输出缓冲区的内容。若缓冲区为空,不会产生IOException异常voidflush()直接将目前暂存于缓冲区的数据刷新输出voidclose()关闭输出流。流一旦被关闭,则不能再使用out对象做任何操作。intgetBufferSize()获取目前缓冲区的大小(KB)intgetRemaining()获取目前使用后还剩下的缓冲区大小(KB)booleanisAutoFlush()返回true表示缓冲区满时会自动刷新输出;false表示缓冲区满时不会自动清除并产生异常处理向out对象的输出流中写入数据时,数据会先被存储在缓冲区中,在JSP默认配置下,缓冲区满时会被自动刷新输出。JSP页面通过page指令的autoFlush属性和buffer属性配置缓冲区参数:autoFlush属性表示是否自动刷新,默认值为true;buffer属性表示缓冲区大小,默认值为8kb。在此配置下,out对象在输出缓冲区内容每达到8kb后,会自动刷新输出而不会产生异常处理。演示在取消自动刷新功能时,页面输出信息超过缓冲区指定大小的情况和使用out.flush()刷新方法后的情况。out内置对象与Context(上下文)有关的内置对象包括session、application和pageContext。其中:session对象表示浏览器与服务器的会话上下文环境;application对象表示应用程序上下文环境;pageContext对象表示当前JSP页面上下文环境。与Context有关的内置对象session对象即会话对象,表示浏览器与服务器之间的一次会话。一次会话的含义是:从客户端浏览器连接服务器开始,在关闭浏览器或主动退出后,会话结束。这个过程可以包含浏览器与服务器之间的多次请求与响应。session对象的类型为jakarta.servlet.http.HttpSession,session对象具有HttpSession接口的所有方法,其常用方法如下:voidsetAttribute(Stringname,Objectvalue):以名/值对的方式存储session域属性;ObjectgetAttribute(Stringname):根据属性名获取属性值;voidinvalidate():使session对象失效,释放所有的属性空间。sessionapplication对象即应用程序上下文对象,表示当前应用程序运行环境,用以获取应用程序上下文环境中的信息。application对象在容器启动时实例化,在容器关闭时销毁。作用域为整个Web容器的生命周期。application对象实现了javax.servlet.ServletContext接口,具有ServletContext接口的所有功能。application对象常用方法如下:voidsetAttribute(Stringname,Objectvalue):以名/值对的方式存储application域属性;ObjectgetAttribute(Stringname):根据属性名获取属性值;voidremoveAttribute(Stringname):根据属性名从application域中移除属性。applicationpageContext即页面上下文对象,表示当前页面运行环境,用以获取当前JSP页面的相关信息。pageContext对象作用范围为当前JSP页面。pageContext对象类型为jakarta.servlet.jsp.PageContext,pageContext对象可以访问当前JSP页面所有的内置对象,访问方法如下表:pageContext方法描述ServletRequestgetRequest()获取当前JSP页面的请求对象ServletResponsegetResponse()获取当前JSP页面的响应对象HttpSessiongetSession()获取和当前JSP页面有联系的会话对象ServletConfiggetServletConfig()获取当前JSP页面的ServletConfig对象ServletContextgetServletContext()获取当前JSP页面的运行环境对象ObjectgetPage()获取当前JSP页面的Servlet实体ExceptiongetException()获取当前JSP页面的异常对象,不过此页面的page指令的isErrorPage属性要设为trueJspWritergetOut()获取当前JSP页面的输出流pageContext对象存取域属性的方法及描述存取域属性的方法setAttribute()中scope参数被定义为四个常量,分别代表四种作用域范围:PAGE_SCOPE=1代表page范围;REQUEST_SCOPE=2代表request范围;SESSION_SCOPE=3代表session范围;APPLICATION_SCOPE=4代表application范围。pageContext对象方法描述ObjectgetAttribute(Stringname,intscope)获取范围为scope,名为name的属性对象voidsetAttribute(Stringname,Objectvalue,intscope)以名/值对的方式存储scope范围域属性voidremoveAttribute(Stringname,intscope)从scope范围移除名为name的属性EnumerationgetAttributeNamesInScope(intscope)从scope范围中获取所有属性的名称【示例】pageContext对象存取域属性pageContext对象<% pageContext.getSession().setAttribute("sessionKey",“zkl"); Objectobject=pageContext .getAttribute("sessionKey",pageContext.SESSION_SCOPE);%><%=object%>与Servlet有关的内置对象,它们包括page对象和config对象。page对象表示JSP翻译后的Servlet对象;config对象表示JSP翻译后的Servlet的ServletConfig对象。与Servlet有关的内置对象page对象即this,代表JSP本身,更准确地说它代表JSP被翻译后的Servlet,因此它可以调用Servlet类所定义的方法。page对象的类型为jakarta.servlet.jsp.HttpJspPage,在实际应用中,page对象很少在JSP中使用。pageconfig对象即页面配置对象,表示当前JSP页面翻译后的Servlet的ServletConfig对象,存放着一些初始的数据结构。config对象实现于jakarta.servlet.ServletConfig接口。config对象和page对象一样都很少被用到。config与Error有关的内置对象只有一个成员:exception对象。当JSP网页有错误时会产生异常,exception对象就用来对这个异常做处理。与Error有关的内置对象exception对象即异常对象,表示JSP页面产生的异常。如果一个JSP页面要应用此对象,必须将此页面中page指令的isErrorPage属性值设为true,否则无法编译。exception对象是java.lang.Throwable的对象。exception页面域(pagescope),页面域的生命周期是指页面执行期间。存储在页面域的对象只对于它所在页面是可访问的。请求域(requestscope),请求域的生命周期是指一次请求过程,包括请求被转发(forward)或者被包含(include)的情况。存储在请求域中的对象只有在此次请求过程中才可以被访问。会话域(sessionscope),会话域的生命周期是指某个客户端与服务器所连接的时间;客户端在第一次访问服务器时创建会话,在关闭浏览器或主动退出后,会话结束。存储在会话域中的对象在整个会话期间(可能包含多次请求)都可以被访问。应用域(applicationscope),应用域的生命周期是指从服务器开始执行服务到服务器关闭为止,是四个作用域中时间最长的。JSP的四种作用域JSP的四种作用域分别对应pageContex、request、session和application四个内置对象。四个内置对象都通过setAttribute(Stringname,Objectvalue)方法来存储属性,通过getAttribute(Stringname)来获取属性,从而实现属性对象在不同作用域的数据分享。JSP的四种作用域本章总结JSP内置对象是指不用声明就可以在JSP页面的脚本和表达式中直接使用的对象。request对象即请求对象,表示客户端向服务器端发送的请求。request对象的类型为jakarta.servlet.http.HttpServletRequest。response对象即响应对象,表示服务器对客户端的响应。response对象类型为jakarta.servlet.http.HttpServletResponse。out对象即输出对象,用来控制管理输出的缓冲区(buffer)和输出流(outputstream)向客户端页面输出数据。out对象类型为jakarta.servlet.jsp.JspWriter。session对象即会话对象,表示浏览器与服务器之间的一次会话。session

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论