九大内置对象(2)、四个域对象

来源:互联网 发布:电商销售数据查询 编辑:程序博客网 时间:2024/06/13 01:01

一、pageContext对象
1、定义:pageContext对象的类型是PageContext,叫jsp的上下文对象。

2、作用:
1)可以获取其他八个内置对象(伪代码)

public class 01_hello_jsp {    public void _jspService(request,response){        //创建内置对象        HttpSession session =....;        ServletConfig config = ....;        //把8个经常使用的内置对象封装到PageContext对象中        PageContext pageContext  = 封装;        //调用method1方法        //如果不封装,那么method方法想要使用内置对象,就要传递一堆参数进去        method1(pageContext);    }    public void method1(PageContext pageContext){        //使用内置对象从PageContext对象中获取其他8个内置对象        JspWriter out = pageContext.getOut();        HttpServletRequest rquest = pageContext.getRequest();        ........    }}


使用场景: 在自定义标签的时候,PageContext对象频繁使用到!

2)本身是一个域对象:
a)ServletContext –context域
b)HttpServletRequet –request域
c)HttpSession –session域
d)PageContext –page域
a、b、c在Servlet中学习,也就是说Servlet有三个域对象。
d是在Jsp中新引入的,而Jsp也是一个Servlet,所以Jsp中有四个域对象。

3、pageContext域对象详解: 保存数据和获取数据,用于共享数据
1)数据存取
a)

pageContext.setAttribute("name","值");//默认情况下,保存到page域pageContext.getAttribute("name");//默认情况下,从page域获取


b)可以向四个域对象存取数据

pageContext.setAttribute("name","值",域范围常量);pageContext.getAttribute("name",域范围常量);

c)域范围常量:
PageContext.PAGE_SCOPE
PageContext.REQUEST_SCOPE
PageContext..SESSION_SCOPE
PageContext.APPLICATION_SCOPE

2)自动在四个域中搜索数据

pageContext.findAttribute("name");

顺序: page域 -> request域 -> session域- > context域(application域)

二、 Jsp中的四个域对象
1、四个域对象:

    pageContext      page域                  request          request域    session          session域    application      context域

2、域对象作用:保存数据 和 获取数据 ,用于数据共享。

3、域对象方法:
1)setAttribute(“name”,Object) 保存数据
2)getAttribute(“name”) 获取数据
3)removeAttribute(“name”) 清除数据

4、域对象作用范围:

1)page域:只能在当前jsp页面中使用(当前页面)
2)request域:只能在同一个请求中使用(转发)
3)session域:只能在同一个会话(session对象)中使用(私有的)
4)context域:只能在同一个web应用中使用。(全局的)

0 0