application
application语法:
application对象的常用方法:
void setAttribute(String key,Object value):以键 /
值的方式,将一个对象的值存放到application中。
application对象
application是JSP内置对象。
实现服务内数据的共享
在服务内只存在一个对象实例
JSP属性范围
所谓的属性范围就是一个属性设置之后,可以经过多少个其他页面后仍然可以访问的保存范围。
对象的范围:
范围决定了JSP是否可以进行对象访问。
范围的分类:
page:
在一个页面范围内有效,通过pageContext对象访问该范围内的对象。
pageContext从字面上的定义,可以发现,是表示一个页面(page)的上下文(Context),可以表示一个页面中的所有内容。
从操作流程图来看,在第一个页面设置的属性经过服务器端跳转到第二个页面以后,在第二个页面是无法取得在第一个页面中设置的属性的,就好比现在坐着的桌子上有一支笔,但一旦离开了这张桌子,坐到别的桌子上时,笔就没有了。
request:
request属性范围表示在一次服务器跳转中有效,只要是服务器跳转,则设置的request属性可以一直传递下去。
在一个服务器请求范围内有效,与客户端请求绑定在一起。
session:
session设置的属性不管如何跳转,都可以取得的。当然,session只针对一个用户。
在一次会话范围内内容有效,在会话期间与session绑定的对象皆属于该范围。
application:
在一个应用服务器范围内有效,当应用服务启动后即创建该对象,并向所有用户所共享。
因为application属性范围是在服务器上设置的一个属性,所以一旦设置之后任何用户都可以浏览到此属性。
pagecontext延伸:
之前所讲解的四种属性范围,实际上都是通过pageContext属性范围设置上的。
属性的操作方法:
设置属性:
public void setAttribute(String name,Object value)
取得属性:
public object getAttribute(String name)
删除属性:
public void removeAttribute(String name)
JSP属性范围的使用场合:
1、request:如果客户向服务器发请求,产生的数据,用户看完就没用了,像这样的数据就存在request域,像新闻数据,属于用户看完就没用的。
2、session:如果客户向服务器发请求,产生的数据,用户用完了等一会儿还有用,像这样的数据就存在session域中,像购物数据,用户需要看到自己购物信息,并且等一会儿,还要用这个购物数据结帐。
3、application(servletContext):如果客户向服务器发请求,产生的数据,用户用完了,还要给其它用户用,像这样的数据就存在application(servletContext)域中,像聊天数据。
部分精华内容摘自博客:孤傲苍狼