JavaWeb——JSP内置对象application,JSP属性范围


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)域中,像聊天数据。


部分精华内容摘自博客:孤傲苍狼
原文地址:

http://www.cnblogs.com/xdp-gacl/tag/JavaWeb%E5%AD%A6%E4%B9%A0%E6%80%BB%E7%BB%93/

十分佩服这个博客博主!

原文地址:https://www.cnblogs.com/aixing/p/13327714.html