JSP隐含对象是JSP为我们提供的,无须任何声明就可以直接使用的对象。
JSP为我们提供了 9 个隐含对象,见表3-6。
表3-6 JSP隐含对象列表
page对象代表JSP页面本身,是this变量的别名,对JSP页面创建者通常不可访问。作为JSP开发人员一般很少使用该对象。
config 对象是ServletConfig类的一个对象,存放着一些Servlet 初始的数据,且只有在JSP页面范围内才合法。config对象提供了一些访问应用级初始化参数、Servlet上下文和Servlet名字的方法,见表3-7。
表3-7 config对象的常用方法
JSP页面的主要目的是动态产生客户端需要的HTML结果,人们通常使用out.print( )和out.println( )将结果输出到网页上。out提供了一些用来控制管理输出缓冲区(buffer)和输出流(output stream)的方法,见表3-8。
表3-8 out对象的常用方法
用法举例(见例程3-4)。
例程3-4 out.jsp
out.jsp运行效果如图3-5所示。
本节实例的完整源代码请参考配套光盘的“源代码”部分。
图3-5 out.jsp运行效果
request对象封装了由客户端生成的HTTP请求的所有细节(请求参数、属性、请求头信息、cookies及数据)。request 对象实现了javax.servlet.http.HttpServletRequest接口,提供的方法见表3-9。
表3-9 request对象的常用方法
用法举例(见例程3-5)。
例程3-5 request.jsp
request.jsp运行效果如图3-6所示。
图3-6 request.jsp运行效果
本实例的完整源代码请参考配套光盘的“源代码”部分。
response对象用于向客户端发送响应数据。response对象实现了javax.servlet.http.HttpServletResponse接口,提供的方法见表3-10。
表3-10 response对象的常用方法
用法举例(见例程3-6)。
例程3-6 response.jsp
本实例的完整源代码请参考配套光盘的“源代码”部分。
大家都知道HTTP是无状态的通信协议,Web服务器为了区别不同的用户和跟踪用户的操作状态,在Java Servlet API中使用Session机制来实现。存放于服务器端的Session对象中保存每一个用户的信息,而Session的ID却保存在客户端的Cookie中,这样一来,客户端和服务器端在每次请求/响应过程中就能确保不会错位了。
每一个客户端都会得到一个唯一的SessionID,在服务器端有一个与之对应的Session对象。Session对象有其特定的生命周期,它开始于客户端的第一次访问,结束于以下几种情况:
·客户端关闭浏览器。
·Session过期。
·服务器端调用了Session对象的invalidate( )方法。
Session对象实现javax.Servlet.http.HttpSession接口,提供的方法见表3-11。
表3-11 Session对象的常用方法
用法举例(见例程3-7)。
例程3-7 session.jsp
session.jsp运行效果如图3-7所示。
图3-7 session.jsp运行效果
本实例的完整源代码请参考配套光盘的“源代码”部分。
application对象是应用级别的,同一个应用中的所有用户将共享此对象。因此,我们可以利用application对象来存取一些环境信息。application 对象实现javax.servlet. ServletContext接口,提供的方法见表3-12。
表3-12 application对象的常用方法
用法举例(见例程3-8)
例程3-8 application.jsp
application.jsp运行效果如图3-8所示。
图3-8 application.jsp运行效果
本实例的完整源代码请参考配套光盘的“源代码”部分。
pageContext对象用于管理JSP中特殊可见部分已经命名对象的访问。在指定范围的情况下,pageContext对象提供存取哪些隐含对象属性的方法。
pageContext对象为我们提供了 4 个范围常量。
·PAGE_SCOPE 代表Page范围。
·REQUEST_SCOPE代表Request范围。
·SESSION_SCOPE 代表Session 范围。
·APPLICATION_SCOPE 代表Application 范围。
pageContext对象中常用的方法见表3-13。
表3-13 pageContext对象的常用方法
用法举例(见例程3-9)。
例程3-9 pageContext.jsp
pageContext.jsp运行效果如图3-9所示。
图3-9 pageContext.jsp运行效果
本实例的完整源代码请参考配套光盘的“源代码”部分。
当我们在JSP中做了<%@ page isErrorPage='true' %>的设定后,就可以使用exception对象了,exception对象针对网页产生的错误进行异常处理。exception对象中常用的方法见表3-14。
表3-14 exception对象的常用方法
用法举例(见例程3-10 和例程3-11)。
例程3-10 throw.jsp
例程3-11 exception.jsp
throw.jsp运行效果如图3-10所示。
图3-10 throw.jsp运行效果
本实例的完整源代码请参考配套光盘的“源代码”部分。