JSP九大隐式对象/内置对象及四域范围
隐式对象/内置对象:不需要预先声明就可以在脚本代码和表达式中随意使用
部分解析:
一.out对象
可实现功能:在JSP页面中,向客户端发送文本形式的实体内容,
与ServletResponse.getWriter()返回的PrintWriter对象相似。
实例对象 :javax.servlet.jsp.JspWriter类的实例对象,相当于带缓存功能的PrintWriter.
out对象与Servlet引擎提供的缓冲区之间的工作关系,
如图所示:
即:JSP页面中,通过out对象写入数据相当于讲输入插入到JspWriter对象的缓冲区中,只有调用了ServletResponse.getWriter()方法,缓冲区的数据才能写入Servlet引擎所提供的缓冲区中。
二.pageContext对象
功 能:在JSP页面中,使用pageContext对象可以获取JSP的其他8个隐式对象;
存储数据。
实例对象:是javax.servlet.jsp.PageContext类的对象。
获取其他隐式对象方法,
如图示:
存储数据:通过操作属性实现,
如图示:
参数解析:
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项目共享,多次会话共享数据。