当前位置 > 主页 > 万和大讲堂 >


南京万和Java培训分享Java核心技术点之集合框架

2016-09-13 10:18

  本文南京万和Java培训和大家分享的是Java 四大域对象总结,希望大家能从中有所收获。


  Java四大域对象包含: PageContext,Request,Session,ServletContent


  一.总体概述


  ◎PageContext:在本页面中有效;


  ◎Request:在一次请求及转发的Servlet中有效;


  ◎Session:在一次会话中有效,直到超时及销毁;


  ◎ServletContent:在整个web应用有效,生命周期为Web运行期间;


  下面是南京万和Java培训整理的针对四个域对象,在生命周期,作用范围和作用3方面上面的一些区别;


  二.PageContext 域pageContext:指当前页面。在一个jsp页面里有效 ;


  生命周期:当对JSP的请求时开始,当响应结束时销毁。


  作用范围:整个JSP页面,是四大作用域中最小的一个。


  作用:


  (1)通过pageContext获取其它八大隐式对象。


  getexception方法返回exception隐式对象


  getpage方法返回page隐式对象


  getrequest方法返回request隐式对象


  getresponse方法返回response隐式对象


  getservletconfig方法返回config隐式对象


  getservletcontext方法返回application隐式对象


  getsession方法返回session隐式对象


  getout方法返回out隐式对象


  (2)获取其所有域中的数据


  pageContext 操作所有域中属性的方法


  public java.lang.Object getAttribute(java.lang.String name,int scope)


  public void setAttribute(java.lang.String name, java.lang.Object value,int scope)


  public void removeAttribute(java.lang.String name,int scope)


  pageContext 中代表域的常量


  PageContext.APPLICATION_SCOPE


  PageContext.SESSION_SCOPE


  PageContext.REQUEST_SCOPE


  PageContext.PAGE_SCOPE


  findAttribute方法,在四大域中搜寻属性,搜寻的顺序是page域、request域、session域、application域.


  (3)跳转到其他资源,其身上提供了forward和include方法,分别简化和替代requestdispatcher.forward方法和include方法。有疑惑?请咨询南京万和Java培训


  三.Request 域Request:指从http请求到服务器处理结束,返回响应的整个过程。在这个过程中使用forward方式跳转多个jsp。在这些页面里你都可以使用这个变量.


  1、生命周期:在service 方法调用前由服务器创建,传入service方法。整个请求结束,request生命结束。


  2、作用范围:整个请求链(请求转发也存在)。


  3、作用:在整个请求链中共享数据。最常用到:在Servlet 中处理好的数据交给Jsp显示,此时参数就可以放置在Request域中带过去。


  四.Session 域Session:有效范围当前会话,从浏览器打开到浏览器关闭这个过程。


  1、生命周期:在第一次调用 request.getSession() 方法时,服务器会检查是否已经有对应的session,如果没有就在内存中创建一个session并返回。


  session什么时候销毁和怎么销毁:


  ①当一段时间内session没有被使用(默认为30分钟),则服务器会销毁该session。


  ②如果服务器非正常关闭(强行关闭),没有到期的session也会跟着销毁。


  ③如果调用session提供的invalidate() ,可以立即销毁session。


  注意:服务器正常关闭,再启动,Session对象会进行钝化和活化操作。同时如果服务器钝化的时间在session


  默认销毁时间之内,则活化后session还是存在的。否则Session不存在。 如果JavaBean


  数据在session钝化时,没有实现Serializable 则当Session活化时,会消失。更多内容,请咨询南京万和Java培训


  2、作用范围:一次会话。


  五.ServletContextServletContext:WEB容器在启动时,它会为每个WEB应用程序都创建一个对应的ServletContext对象,它代表当前web应用。


  1、生命周期:当Web应用被加载进容器时创建代表整个web应用的ServletContext对象,当服务器关闭或Web应用被移除时,ServletContext对象跟着销毁。


  2、作用范围:整个Web应用。


  3、作用:


  ① 在不同Servlet 之间转发


  this.getServletContext().getRequestDispatcher("/servlet/TestServlet").forward(request, response);


  方法执行结束,service就会返回到服务器,再有服务器去调用目标servlet,其中request会重新创建,并将之前的request的数据拷贝进去。


  想和兴趣相投的朋友们一起交流吗?那就来江苏万和计算机培训中心吧。而江苏万和作为南京专业的Java培训中心,欢迎广大有志于此行业发展的学员们加入。

最近开班 more>
  • 全栈开发
  • 前端基础班
  • 软件测试
  • Java大数据开发工程师
  • 云原生精英班
  • 开发课程基础班第四期
  • 开发课程基础班第三期
  • 开发课程基础班第二期
  • 开发课程基础班第一期
  • Java Web UI Python
  • CISP
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • OCM 12C
  • OCP 19C
  • RHCE 9.0
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • vip班
  • 考试计划
  • 脱产班
  • 脱产班
  • 脱产班
  • 双休班
  • 双休班
  • 双休班
  • 双休班
  • 业余班
  • 业余班
  • 10月16日
  • 9月23日
  • 9月2日
  • 9月30日
  • 8月26日
  • 10月8日
  • 9月23日
  • 9月16日
  • 9月9日
  • 随时开课
  • 9月21日
  • 10月17日
  • 9月18日
  • 9月2日
  • 11月2日
  • 10月26日
  • 9月7日
  • ——
  • 随时开课
  • 9月26日
    • 姓 名 :
    • 电 话 :
    • 课 程 :

技术交流群

  • Java大数据交流群560819979加入
  • Python技术交流群595083299加入
  • Oracle技术交流群595119011加入
  • Web前端技术交流群604697610加入
  • Huawei技术交流群482919361加入
  • Redhat技术交流群587875348加入
  • UI设计技术交流群511649801加入
  • Cisco技术交流群596886705加入
  • IT运维技术交流群605888381加入