Jsp有四种属性范围和Jsp的九大内置对象

一、jsp有四大作用域范围:

  page   --页面级别,只有在一个页面内可用;

  request   --请求级别,服务器跳转,一次请求后消失;

     session    --会话级别,客户端跳转(服务器跳转),与浏览器有关,IE是在重新打开IE时才会不同;

  application  --应用级别,当重新启动服务器才会消失;

  作用域大小:application > session >request > page

二、jsp中九大内置对象:

  1、request          请求对象                 类型 javax.servlet.ServletRequest             作用域      Request

      2、response         响应对象                类型 javax.servlet.ServletResponse           作用域      Page

      3、pageContext    页面上下文对象       类型 javax.servlet.jsp.PageContext            作用域      Page

  4、session            会话对象               类型 javax.servlet.http.HttpSession           作用域     Session

  5、application       会话对象               类型 javax.servlet.ServletContext              作用域     Application

  6、out                  输出对象              类型 javax.servlet.jsp.JspWriter                 作用域    Page

      7、config         配置对象        类型javax.servlet.ServletConfig        作用域    Page

      8、page       页面对象      类型 javax.lang.Object           作用域   Page

  9、exception          例外对象       类型javax.lang.Throwable           作用域    Page

     ~~1.out   相当于response.getWriter();

   区别在于out对象自带缓冲区,如果out 和 response.getWriter()混用可能会造成输出顺序上混乱;

   page指令中buffer和autoflush就是用来设置out缓冲区的,如果要在JSP页面中输出内容,直接使用out,尽量不要使用response.getWriter();

  2.pageContext:代表当前JSP页面的运行环境的对象,通过该对象可以访问页面中的共享数据。

    (1)作为入口对象获取其他八大隐式对象

      getPage方法                              返回page隐式对象

      getRequest方法                         返回request隐式对象

      getResponse方法         返回response隐式对象

      getServletConfig方法       返回config隐式对象

      getServletContext方法       返回application隐式对象

      getSession方法          返回session隐式对象

      getException方法         返回exception隐式对象

      getOut              返回out隐式对象

        (2)同时也是一个域对象,并且可以作为入口对象来操作其他三大作用域中的数据;

      1、作为域对象时:

              setAttribute(String name,Object obj);

              getAttribute(String name);

              removeAttribute(String name);

              getAttributeNames();

      生命周期:访问JSP页面开始创建,访问JSP页面结束时销毁

      作用范围:当前JSP页面

          主要功能:在当前JSP页面中共享数据

      ServletContext  > Session  > request  >pageContext

      2、入口对象,可以操作其他三大作用域

      setAttribute(String name, Object value, int scope)

      getAttribute(String name,int scope)

      removeAttribute(String name,int scope)

      其中pageContext中代表域的常量:

      PageContext.APPLICATION_SCOPE

      PageContext.SESSION_SCOPE

      PageContext.REQUEST_SCOPE

      PageContext.PAGE_SCOPE

    

      额外提供了:findAttribute(String name);//按照由小到大的顺序在四大作用域中搜寻指定名称的属性,如果找到就返回,如果都找不到就 返回null

      ServletContext  >session  >request  >page

      (3)提供了便捷方法实现转发和包含

      转发  request.getRequestDispatcher("/7.jsp").forward(request,response);

      包含  request.getRequestDispatcher("/7.jsp").include(request,response);

      <%@include file="xxx.jsp"%>

      pageContext.forward("7.jsp");

      pageContext.include("7.jsp");

   

原文地址:https://www.cnblogs.com/dgsh/p/6552670.html