初识jsp中的九大内置对象和四大域


 废话不多说了,直接就走干货了。
 
jsp的九大内置对象
 page  ,request ,session ,application ,response ,config ,out ,pageContext ,exception。

    page:page对象代表当前JSP页面   
    config:标识Servlet配置,类型:ServletConfig,api跟Servlet中的ServletConfig对象是一样的,能获取该servlet的一些配置信息,能够获取ServletContext
    application:标识web应用上下文,类型:ServletContext,详情就看Servlet中的ServletContext的使用
    request:请求对象,类型:httpServletRequest
    response:响应对象,类型:httpServletResponse
    session:表示一次会话,在服务器端记录用户状信息的技术
    out:输出响应体 类型:JspWriter
    exception 表示发生异常对象,类型 Throwable,在上面我们介绍page指令中的一个errorPage属性时就有说到他
    pageContext:表示 jsp页面上下文(jsp管理者) 类型:PageContext

关于page和pageContext有一个理解坑,不知道为什么会这样子取名。批评一下。。。好了,看货,
 1. page对象表示的是当前的页面,即jsp文件被编译成servlet后的servlet对象的this
 2. pageContext对象表示的是page域对象,表示jsp页面的上下文对象。类型是PageContext 

<% 
       String name = "张三";
      //使用page对象的方法 
      out.print(page.name);//输出结果是 张三

      //pageContext对象的使用方法
      pageContext.setAttribute("name" ,"李四");

      //使用EL表达式
      out.print(${pageScope.name});//输出结果是李四
      //或者不使用EL表达式,在指定的域中查找值,具体的域值在文章的最后会给出
       out.print(pageContext.getAttribute("name",pageContext.PAGE_SCOPE));
%>

 

jsp的四大域

page域:它的操作需要使用pageContext对象来完成。

request域:request对象来完成。

session域:session域来完成。

application域:application对象类完成。

 

<%
        //在page域设置值
        pageContext.setAttribute("name","张三");
        //在request域设置值
        request.setAttribute("name","张三");
        //在session域设置值
        session.setAttribute("name","张三");
        //在application域设置值
        application.setAttribute("name","张三");
%>

 域值的详细说明:

  1. PAGE_SCOPE:public static final int PAGE_SCOPE

页面范围: (缺省情况) 直到从当前Servlet.service()调用中得到返回值才在PageContext中一直保持有效的指定名字的参考。


REQUEST_SCOPE:public static final int REQUEST_SCOPE

请求范围:指定的参考将从ServletRequest关于servlet一直保持有效,直到当前的请求完成。


SESSION_SCOPE:public static final int SESSION_SCOPE

会话范围 (只有档本页面参与了一个会话时有效):源自有关servlet的HttpSession (如果有的话)的指定的参考一直保持有效,直到 HttpSession无效。


APPLICATION_SCOPE:public static final int APPLICATION_SCOPE

应用范围: 指定的引用一直在ServletContext中保持有效直到被重新声明

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值