对象的作用域:
JSP中提供了四种作用域,分别是page作用域,request作用域,session作用域和application作用域.
page作用域:
page作用域指单一JSP页面的范围,page作用域内的对象只能在创建该对象的页面中访问。
page作用域内可以使用pageContext对象的setAttribute()和getAttibute()方法访问具有这种范围类型的对象。
pageContext对象本身也属于page作用域,具有page作用域的对象被绑定到pageContext对象中。
代码;
request作用域:
request作用域的对象是与客户端的请求绑定在一起,其作用域的范围要比page作用域的范围大。
注意:
因为request对象对于每次客户端的请求都是不同的,所以对于任何一个新的请求,都要重新创建该作用域内的对象。而当请求结束后,创建的对象也随之失效。
代码:
session作用域:
JSP容器为每一次会话创建一个session对象。
在会话有效期间内,只要将数据绑定到session中,则该数据可以被本次会话的其他资源所访问。
代码:
application作用域.
application的作用域则面对整个Web应用程序W,即当服务器启动后就会创建一个application对象,被所有用户共享。
当数据绑定到JSP的application对象中时,在Web应用程序的运行期间,所有的页面都可以访问application作用域的对象。
代码:
在不同浏览器中展示的结果:
四个作用域的范围大小:
page作用域<request作用域<session作用域<appliction作用域
四者都具有setAttribute()和getAttribute()方法,用于作用域内数据的存取。
session作用域针对于一个会话,当浏览器关闭后会话也随之结束,所以无法读取。
application作用域针对整个系统的服务,因而数据被再次读取。