一:内置对象
request -- javax.servlet.http.HttpServletRequest -- Request
response -- javax.servlet.http.HttpServletResponse -- Page
pageContext -- javax.servlet.jsp.PageContext (核心) -- Page
session -- javax.servlet.http.HttpSession -- Session
application -- javax.servlet.ServletContext -- Application
out -- javax.servlet.jsp.JspWriter -- Page
config -- javax.servlet.ServletConfig -- Page
page -- javax.servlet.jsp.HttpJspPage -- Page
exception -- java.lang.Throwable Error -- Page
二:内置对象的声明周期和可见范围
1. 共同点
(1) void setAttribute (String key , Object value)
(2) Object getAttribute (String key )
(3) void removeAttribute(String key )
注意:pageContext.removeAttribute(“data”) 会直接删除所有范围内的 data 属性。
2. 不同点
生命周期和可见范围不同,范围如下:
pageContext -- request -- session -- application 生命周期和可见范围越来越长
3. pageContext 的使用
(1)取得不同范围的属性
pageContext.getAttribute( String key , int scope);
int 值的取值有:
pageContext.PAGE_SCOPE;
pageContext.REQUEST_SCOPE;
pageContext.SESSION_SCOPE;
pageContext.APPLICTION_SCOPE
pageContext.getAttribute(String key );
(2)设置不同范围的属性
pageContext.setAttribute( String key ,Object value, int scope);
pageContext.setAttribute(String key, Object value );
(3)删除不同范围的属性
pageContext.removeAttribute(String key, int scope);
pageContext. removeAttribute (String key );
(4)查找属性
pageContext.findAttribute(String key );
按可见范围从小到大开始查找,如果没找到返回 null。