JSP九大隐式对象/内置对象及四域范围

隐式对象/内置对象:不需要预先声明就可以在脚本代码和表达式中随意使用

JSP九大隐式对象/内置对象及四域范围

 

部分解析:

一.out对象

可实现功能:在JSP页面中,向客户端发送文本形式的实体内容,

                          与ServletResponse.getWriter()返回的PrintWriter对象相似。

实例对象   :javax.servlet.jsp.JspWriter类的实例对象,相当于带缓存功能的PrintWriter.

out对象与Servlet引擎提供的缓冲区之间的工作关系,

如图所示:

 

JSP九大隐式对象/内置对象及四域范围

 

即:JSP页面中,通过out对象写入数据相当于讲输入插入到JspWriter对象的缓冲区中,只有调用了ServletResponse.getWriter()方法,缓冲区的数据才能写入Servlet引擎所提供的缓冲区中。

 

二.pageContext对象

功       能:在JSP页面中,使用pageContext对象可以获取JSP的其他8个隐式对象;

                  存储数据。

实例对象:是javax.servlet.jsp.PageContext类的对象。

 

获取其他隐式对象方法,

如图示:

JSP九大隐式对象/内置对象及四域范围

 

存储数据:通过操作属性实现,

 

如图示:JSP九大隐式对象/内置对象及四域范围

参数解析:

name:指定的属性名称

scope:属性的作用范围

            如:

                           PageContext.PAGE_SCOPE------------------表示页面范围

                           PageContext.SESSION_SCOPE-------------表示会话范围

                           PageContext.REQUEST_SCOPE------------表示请求范围

                            PageContext.APPLICATION_SCOPE-------表示Web应用程序范围

 

注意:使用 findAttribute会从小到大搜索域的范围中的name属性,
   page域<request域<session域<application域 

四域范围

 

PageContext常量名

描述 作用域名称 域对象类型
PageScope 当前页面中有效 pageContext PageContext
RequestScope 一次请求范围 request HttpServletRequest
SessionScope 一次会话范围 session HttpSession
ApplicationScope 应用范围 application ServletContext

 

page:表示当前页,在jsp标签底层使用

request:表示一次请求。一般一次请求就一个页面,若采用请求转发,可涉及多页面

session:表示一次会话。在多次请求之间共享数据

application:表示一个web应用/项目。可整个web项目共享,多次会话共享数据。