servlet的application对象的使用

application对象

1 什么是application对象 ?

(1) 当Web服务器启动时,Web服务器会自动创建一个application对象。application对象一旦创建,它将一直存在,直到Web服务器关闭。

 

一个Web服务器通常有多个Web服务目录 (网站),当Web服务器启动时,它自动为每个Web服务目录都创建一个application对象,这些application对象各自独立,而且和Web服务目录一一对应。

 

访问同一个网站的客户都共享一个application对象,因此,application对象可以实现多客户间的数据共享。

 

访问不同网站的客户,对应的application对象不同。

 

 

(2) application对象的生命周期:从Web服务器启动,直到Web服务器关闭。

 

注意:一个Web应用程序启动后,将会自动创建一个application对象,而且在整个应用程序的运行过程中只有一个application对象,也即所有访问该网站的客户都共享一个application对象。

 

 

(3) application对象的作用范围:application对象是一个应用程序级的对象,它作用于当前Web应用程序,也即作用于当前网站,所有访问当前网站的客户都共享一个application对象。

 

具体来说:不管哪个客户来访问网站A,也不管客户访问网站A下哪个页面文件,都可以对网站A的application对象进行操作,因为,所有访问网站A的客户都共用一个application对象。

因此,当在application对象中存储数据后,所有访问网站A的客户都能够对其进行访问,实现了多客户之间的数据共享。

 

 

(4) application对象的基类是:javax.servlet.ServletContext类。

 

注意:有些Web服务器不直接支持使用application对象,必须用ServletContext类来声明application对象,再调用getServletContext()方法来获取当前页面的application对象。

 

 

(5) ServletContext类:用于表示应用程序的上下文。

一个ServletContext类的对象表示一个Web应用程序的上下文。

 

具体来说:在Web服务器中,提供了一个Web应用程序的运行时环境,专门负责Web应用程序的部署、编译、运行以及生命周期的管理,通过ServletContext类,可以获取Web应用程序的运行时环境信息。

 

常识:JSP引擎、Servlet引擎、JSP容器和Servlet容器,都是指Web服务器,Web服务器用于管理所有Web应用程序。

 

 

(6) application对象的常用方法,如下所示:

 

方法名描述
String getAttribute(String name)根据属性名称获取属性值。
Enumeration getAttributeNames()获取所有的属性名称。
void setAttribute(String name, Object object)设置属性,指定属性名称和属性值。
void removeAttribute(String name)根据属性名称删除对应的属性。
 ServletContext getContext(String uripath)获取指定URL的ServletContext对象。
String getContextPath()获取当前Web应用程序的根目录。
String getInitParameter(String name)根据初始化参数名称,获取初始化参数值。
int getMajorVersion()获取Servlet API的主版本号。
int getMinorVersion()获取Servlet API的次版本号。
String getMimeType(String file)获取指定文件的MIME 类型。
String getServletInfo()获取当前Web服务器的版本信息。
String getServletContextName()获取当前Web应用程序的名称。
void log(String message)将信息写入日志文件中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值