java_web初学笔记之<Jsp四个域对象page/request/session/application>

来源:互联网 发布:弹琴吧吉他软件 编辑:程序博客网 时间:2024/05/24 04:21

JSP中有四个域对象:pageContext/request/session/application。

它们的作用域范围大小为:pageContext < request < session < application

pageContext作用域:

当前页面,也就是只要跳转到别的页面就失效了。如果把变量放到pageContext里,就说明它的作用域是page,它的有效范围只在当前jsp页面里。其生命周期即把该变量放到pageContext开始到jsp页面结束。

如果num变量是pageContext作用域的,则当访问其他jsp时获取不了该变量值。即该变量是页面独享的。

但是pageContext可以调用setAttribute(name,value,scope)保存到指定的域对象scope中。此时取的话也是指定域对象去取,或者调用getAttribute(name,scope)从指定的域对象中取值。

request作用域:

当前请求周期,即一次请求范围内(包含跳转),变量是一次性请求独享的如下图:

session作用域:当前会话。所谓当前会话指的是从用户打开浏览器开始,到关闭浏览器这段期间。如在淘宝页面登录购买东西,浏览器可能会打开许多淘宝页面,其间的数据都会保存着。  变量是浏览器(用户)独享

application作用域:整个应用,整个应用程序共享,即整个应用程序都可以访问该变量,不同客户端(即不同用户)均可以访问该变量,其作用时间最长,作用范围最大。


什么样的场景下选用不同的域对象

  1. 在多个动态web资源中共享信息时,想到使用域对象;
  2. application:访问次序;
  3. session:购物车,用户登录;
  4. request:信息是属于一次性的内容,例如错误信息等 


0 0
原创粉丝点击