本文主要是介绍JSP中的PageContext,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
JSP九大隐式对象:在翻译过来的Servlet中Service方法自动帮我们前置定义的九个对象,可以在jsp页面中直接使用page confingapplication response request session out exception pageContext
下面详细说一下pageContext
(1)可以作为入口对象获取其他八大隐式对象的引用getException方法返回exception隐式对象
getPage方法返回page隐式对象
getRequest方法返回request隐式对象
getResponse方法返回response隐式对象
getServletConfig方法返回config隐式对象
getServletContext方法返回application隐式对象
getSession方法返回session隐式对象
getOut方法返回out隐式对象
(2)域对象,四大作用域的入口,可以操作四大作用域中的域属性
//JSP中的四大作用域对象:page,request,session,application(从小到大排列)
作用范围: 当前jsp页面
生命周期: 当对jsp页面的访问开始时,创建代表当前jsp的PageContext,当对当前jsp页面访问结束时销毁代表当前jsp的pageContext
作用:在当前jsp中共享数据
作为域对象,很容易得出,里面必定有三个方法,setAttribute,getAttribute和removeAttribute
即:
public void setAttribute(java.lang.String name,java.lang.Object value)
public java.lang.Object getAttribute(java.lang.String name)public void removeAttribute(java.lang.String name)
但是查看文档得知还有其他三个方法:
public void setAttribute(java.lang.String name, java.lang.Object value,int scope)
public java.lang.Object getAttribute(java.lang.String name,int scope)
public void removeAttribute(java.lang.String name,int scope)
和上面三个方法相互比较而言,里面多了一个参数int scope,这是一个代表另外三个作用域的常量
可以取值为:
PageContext.APPLICATION_SCOPE
PageContext.SESSION_SCOPE
PageContext.REQUEST_SCOPE
PageContext.PAGE_SCOPE
可以操作每个作用域上的值
pageContext,request,session,applicition
里面还包括一个非常重要的findAttribute方法。在四大作用域中从小到大开始搜寻。
如果一个数据只在当前jsp页面使用,可以使用pageContext域存储
如果一个数据,除了在当前Servlet中使用,还要在请求转发时带到其他Servlet处理或jsp中显示,这个时候用request域
如果一个数据,除了现在我自己要用,过一会我自己还要用,存在session域
如果一个数据,除了现在我自己要用过一会其他人也要用,存在ServletContext域中
(3)提供了请求转发和请求包含的快捷方法
pageContext.include("/index.jsp");
pageContext.forward("/index.jsp");
这篇关于JSP中的PageContext的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!