Java四大作用域

  上一篇记录了九大内置对象,这一篇写四大作用域

  首先按照作用范围来算:

  是PageContext(jsp页面)<ServletRequest(一次请求)<HttpSession(一次回话)<ServletContext(整个web应用)(application)

  若在不同作用域有相同名称的对象,则系统的查找顺序为page->request->session->application

  

application作用域:所有作用域中范围最大的域,由于所有servlet共享一个servletcontext对象,所有多个servlet通过servletcontext可以实现数据在不同servlet之间的共享,是一个全局变量

httpsession作用域:范围第二大的域,(会话范围)在第一次调用request.getSession()方法时,服务器会检查是否已经有对应的session。如果没有,就在内存中创建一个session并返回。当一短时间内(默认30分钟)session没有被使用,则服务器会销毁该session。若服务器非正常关闭,未到期的session也会跟着销毁。若调用session提供的invalidate()方法,可以立即销毁session。

servletRequest作用域:范围第三大的域,在整个请求链中共享数据,最长用于在servlet中处理好的数据交给jsp显示,此时参数就可以放置在servletRequest域中带过去

PageContext作用域:范围最小的一个域,可以获取其他八大内置对象,可以认为是一个入口对象,能够获取其他所有域中的数据。能跳转到其他资源,其身上提供forward和sendRedirect方法,简化了转发和重定向的操作,代表页面上下文,该对象主要用于访问jsp之间的共享数据,当对jsp的请求时开始,当响应结束时销毁

 

  

posted @ 2019-03-07 14:05  鸿运当头汪  阅读(3607)  评论(0编辑  收藏  举报