jsp九大内置对象与四大域对象(转载)

一,什么是内置对象?

在jsp开发中会频繁使用到一些对象,如ServletContext HttpSession PageContext等.如果每次我们在jsp页面中需要使用这些对象都要自己亲自动手创建就会特别的繁琐.SUN公司因此在设计jsp时,在jsp页面加载完毕之后自动帮开发者创建好了这些对象,开发者只需要使用相应的对象调用相应的方法即可.这些系统创建好的对象就叫做内置对象.

在servlet程序中,如果开发者希望使用session对象,必须通过request.getSession()来得到session对象;而在jsp程序中,开发中可直接使用session(系统帮我们创建好的session对象的名字就叫session)调用相应的方法即可,如:session.getId().

二,九大内置对象到底是哪九大呢?

[plain]  view plain  copy
 print ?
  1. 内置对象名          类型  
  2. request        HttpServletRequest  
  3. response       HttpServletResponse  
  4. config         ServletConfig  
  5. application    ServletContext  
  6. session        HttpSession  
  7. exception      Throwable  
  8. page           Object(this)  
  9. out            JspWriter  
  10. pageContext    PageContext   

三,解析几个内置对象

1)out对象对象,对象类型是JspWriter类,相当于带缓存的PrintWriter(不带缓存)

PrintWriter:write("内容")           直接向浏览器输出内容

JspWriter:writer("内容")            向jsp缓冲区写出内容

JspWriter当满足以下条件时之一时,缓冲区的内容写出:

a,缓冲区满了

b,刷新缓冲区

c,关闭缓冲区

d,jsp页面执行完毕

2)pageContext对象

pageContext的对象类型是PageContext,叫jsp的上下文对象.

pageContext作用:可以获取其他八个内置对象

[plain]  view plain  copy
 print ?
  1. //示例:  
  2. pageContext.getOut();  
  3. pageContext.getServletConfig()  
使用场景:在自定义标签时会频繁使用到PageContext对象;或者是定义一个方法需要用到多个对象时,传一个pageContext对象就能解决问题.

四,JSP中四大域对象

分类:

[plain]  view plain  copy
 print ?
  1. ServletContext     context域  
  2. HttpServletRequet  request域  
  3. HttpSession        session域     --前三种在学习Servlet时就能接触到  
  4. PageContext        page域     --jsp学习的  
域对象的作用:保存数据,获取数据,共享数据.

保存数据:

[plain]  view plain  copy
 print ?
  1. pageContext.setAttribute("内容");//默认保存到page域  
  2. pageContext.setAttribute("内容",域范围常量);//保存到指定域中  
  3. //四个域常量  
  4. PageContext.PAGE_SCOPE  
  5. PageContext.REQUEST_SCOPE  
  6. PageContext..SESSION_SCOPE  
  7. PageContext.APPLICATION_SCOPE  

获取数据:

[plain]  view plain  copy
 print ?
  1. pageContext.getAttribute("内容");  
  2. <p>pageContext.getAttribute("name",<span style="font-family:宋体;">域范围常量</span><span style="font-family:Calibri;">);</span></p>//自动在四个域中搜索数据  
  3. pageContext.findAttribute("内容");//在四个域中自动搜索数据,顺序:page域->request域->session域->application域(context域)  

域作用范围:

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

五,总结

坚持每天学一点新技术,坚持写写博客,这就是今天博客的总结!Fighting,bighuan!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值