4.2 JSP内置对象概述
在第3章中,已经详细介绍了JSP的基本语法,使读者对JSP技术有一个比较初步的了解,但是应用第3章讲述的JSP知识只能编写一部分简单的程序,如果需要实现一些比较复杂高级的功能,例如网上购物、在线聊天室等,仅靠第3章介绍的知识是明显不够的。在JSP技术内部,已经定义好了若干个JSP内部对象,应用这些内部对象,可以实现很多很重要的功能。在JSP内部已经被定义完善的对象有:out对象、request对象、response对象、exception对象、config对象、page对象、pagecontext对象、application对象、session对象等。
本章首先介绍application、session、request、page 4个JSP内置对象的作用域,然后分别讨论各个内置对象的使用方法。
几乎所有的Web开发语言都支持Session功能,Servlet也不例外。Servlet/JSP中的Session功能是通过作用域(scope)这个概念来实现的,作用域分为4种,如表4-1所示。
表4-1 JSP内置对象作用域表
名称 | 作用域 |
application | 在所有应用程序中有效 |
session | 在当前会话中有效 |
request | 在当前请求中有效 |
page | 在当前页面有效 |
首先要声明一点,所谓"作用域"就是"信息共享的范围",也就是说一个信息能够在多大的范围内有效。
Web交互的最基本单位为HTTP请求。每个用户从进入网站到离开网站这段过程称为一个HTTP会话,一个服务器的运行过程中会有多个用户访问,就是多个HTTP会话。作用域解释如下。
application:服务器启动到停止这段时间。
session:HTTP会话开始到结束这段时间。
request:HTTP请求开始到结束这段时间。
page:当前页面从打开到关闭这段时间。
4.2.1 application 作用域
application作用域就是服务器启动到关闭的整段时间,在这个作用域内设置的信息可以被所有应用程序使用。application作用域上的信息传递是通过ServletContext实现的,它提供的主要方法如下所示:
Object getAttribute(String name):从application中获取信息。
void setAttribute(String name, Object value):向application作用域中设置信息。