首页 理论教育JavaWeb应用开发:application对象解析

JavaWeb应用开发:application对象解析

【摘要】:对于一个容器而言,所有用户都共同使用一个application对象,这和session 对象是不一样的。服务器启动后,就会自动创建application 对象并一直保持,直到服务器关闭为止。因为application 对象的类型为ServletContext,用法上和Servlet 中的用法完全一样。application 对象的主要方法可以参见第2 章“Servlet 常用API”小节关于ServletContext 的介绍。以下介绍application 对象的常见应用。

application 对象的类型是javax.servlet.ServletContext,通过application对象可以获得和当前Web 应用相关的信息,例如Web 服务器运行信息、Servlet 路径和context 初始变量值等。对于一个容器而言,所有用户都共同使用一个application对象,这和session 对象是不一样的。服务器启动后,就会自动创建application 对象并一直保持,直到服务器关闭为止。

因为application 对象的类型为ServletContext,用法上和Servlet 中的用法完全一样。application 对象的主要方法可以参见第2 章“Servlet 常用API”小节关于ServletContext 的介绍。

以下介绍application 对象的常见应用。

1.传递参数

通过application 对象可以保存跨用户的共享数据,通过application 对象保存的数据内容,所有的用户都可以共享使用。例如向application 对象中存取属性:

如果把session 对象比喻成私人手机,那么application 对象就相当于公共电话。

2.设置context 初始参数

可以通过web.xml为一个Web应用中所有的Servlet和JSP页面设置共享的初始参数。(www.chuimin.cn)

例如,在web.xml 文件的根元素(即<web-app>元素)下添加如下内容:

然后在JSP 页面中,使用application 对象的getInitParameter()方法可以取得website 参数对应的参数值,在Servlet 中用ServletContext 对象的同名方法获得参数值。

3.使用log()方法记录日志

同时,还可以在JSP 页面中使用application 对象提供的log()方法实现日志记录的功能。在Tomcat 中,记录的日志都保存在Tomcat 根目录的logs 目录下。日志内容分成不同文件进行记录,例如,2020-6-10 的日志内容会记录到localhost_log.2020-06-10.txt 文件中。而在Tomcat5.5 中调用ServletContext 接口的log()方法,Servlet 容器将把日志信息输出到Tomcat 的启动窗口中,如Console 视图。

JSP 页面中使用log()方法的代码片段:

运行该JSP 页面,将会发生异常并将日志记录到日志文件或者Console 窗口中,记录内容如下: