Jsp的隐式对象和EL的隐式对象学习
JSP共有九大内置对象:
(1) HttpSession类的session对象
作用:主要用于来分别保存每个用户信息,与请求关联的会话;
会话状态维持是Web应用开发者必须面对的问题。
(2) HttpServletRequest类的request对象
作用:代表请求对象,主要用于接受客户端通过HTTP协议连接传输到服务器端的数据。
(3) HttpServletResponse类的respone对象
作用:代表响应对象,主要用于向客户端发送数据
(4) JspWriter类的out对象
作用:主要用于向客户端输出数据;
Out的基类是JspWriter
(5) ServletContex类的application对象
作用:主要用于保存用户信息,代码片段的运行环境;
它是一个共享的内置对象,即一个容器中的多个用户共享一个application对象,故其保存的信息被所有用户所共享.
(6) PageContext类的pageContext对象
作用:管理网页属性,为JSP页面包装页面的上下文,管理对属于JSP中特殊可见部分中已命名对象的访问,它的创建和初始化都是由容器来完成的。
(7) ServletConfig类的config对象
作用:代码片段配置对象,表示Servlet的配置。
(8) Object类的page(相当于this)对象
作用:处理JSP网页,是Object类的一个实例,指的是JSP实现类的实例,即它也是JSP本身,只有在JSP页面范围之内才是合法的。
(9)Exception
作用:处理JSP文件执行时发生的错误和异常
EL共有11大内置对象:
* JSP 隐式对象。
*作用域访问隐式对象。
*参数访问隐式对象。
*首部访问隐式对象。
*初始化参数访问隐式对象。
JSP 隐式对象类中只有一个 EL 隐式对象,这就是 pageContext 隐式对象。这与同名的 JSP隐式对象 实际上就是同一个对象。余下的 EL 隐式对象都是 Java 映射( map ),他们只是提供了更容易的途径来访问 pageContext 隐式对象的某些性质。
共有 4 个作用域隐式对象,分别为 pageScope, requestScope, sessionScope 和 applicationScope. 这些隐式对象都是映射,利用他们可以很容易的访问作用域属性。例如:附加到 request 作用域的 username 属性可以通过 EL 表达式 ${ requestScope.username} 来直接访问。
有两个参数访问隐式对象,可以用来访问 HTTP 请求参数(表单提交参数),即 param 和 paramValues. param 是一个用于访问单值参数的映射, paramValues 则可用于访问可能包含多个值的参数。接下来的实验会展示这将如何处理。
有 3 个首部访问隐式对象,可以用于访问 HTTP 首部,分别是 header, headerValues 和 cookie 。如果想以原始的方式访问 HTTP 首部或 cookie, 这些映射就很有用。
另外还有一个初始化参数访问隐式对象: initParm 。这个映射可以用于访问初始化参数的值,初始化参数的值一般都在 web.xml 中设置。
类别
|
标识符
|
描述
|
JSP
|
pageContext
|
PageContext 实例对应于当前页面的处理
|
作用域
|
pageScope
|
与页面作用域属性的名称和值相关联的
Map 类
|
requestScope
|
与请求作用域属性的名称和值相关联的
Map 类
| |
sessionScope
|
与会话作用域属性的名称和值相关联的
Map 类
| |
applicationScope
|
与应用程序作用域属性的名称和值相关联的
Map 类
| |
请求参数
|
param
|
按名称存储请求参数的主要值的
Map 类
|
paramValues
|
将请求参数的所有值作为
String 数组存储的
Map 类
| |
请求头
|
header
|
按名称存储请求头主要值的
Map 类
|
headerValues
|
将请求头的所有值作为
String 数组存储的
Map 类
| |
Cookie
|
cookie
|
按名称存储请求附带的 cookie 的
Map 类
|
初始化参数
|
initParam
|
按名称存储 Web 应用程序上下文初始化参数的
Map 类
|