application对象用于保存所有应用程序中的公有数据,
服务器启动并且自动创建application对象后,只要没有关闭服务器,application对象将一直存在,所有用户可以共享application对象。
application对象与session对象有所区别,session对象和用户会话相关,不同用户的session是完全不同的对象,
而用户的application对象都是相同的一个对象,即共享这个内置的application对象。
1 访问应用程序初始化参数
通过application对象调用的ServletContext对象提供了对应用程序环境属性的访问。
对于将安装信息与给定的应用程序关联起来而言,这是非常有用的。
例如,通过初始化信息为数据库提供了一个主机名,每一个Servlet程序客户和JSP页面都可以使用它连接到该数据库并检索应用程序数据。
为了实现这个目的,Tomcat使用了web.xml文件,它位于应用程序环境目录下的WEB-INF子目录中。
访问应用程序初始化参数的方法如下表所示:
getInitParameter(String name) 返回一个已命名的初始化参数的值;
getInitParameterNames()返回所有已定义的应用程序初始化参数名称的枚举;
2 管理应用程序环境属性
与session对象相同,也可以在application对象中设置属性。
在session中设置的属性只是在当前客户的会话范围内容有效,客户超过保存时间不发送请求时,session对象将被回收,
而在application对象中设置的属性在整个应用程序范围内是有效的,即使所有的用户都不发送请求,只要不关闭应用服务器,在其中设置的属
性仍然是有效的。
application对象管理应用程序环境属性的方法如下表所示:
removeAttribute(String name) 从ServletContext的对象中去掉指定名称的属性;
setAttribute(String name,Object object)使用指定名称和指定对象在ServletContext的对象中进行关联;
getAttribute(String name) 从ServletContext的对象中获取一个指定对象;
getAttributeNames()返回存储在ServletContext对象中属性名称的枚举数据;