大可制作:QQ群:31564239(asp|jsp|php|mysql)

JSP/Servlet: application

application隐含对象在转换为Servlet之后,会对应于 javax.servlet.ServletContext类 型的对象,首先来认识Context这个名词的字义,它具有“背景”、“上下文”的意义,ServletContext表示Servlet的 Context,与 Servlet执行时相关的背景信息、上下文信息,白话的话就是与Servlet执行时的环境信息相关的,您可以透过ServletContext来取 得,像是服务器信息、Servlet路径、Context初始变量设定等等。

ServletContext可以视为一个“Web应用程序”的代表,一个Web应用程序都会有一个Context,一个Web应用程序是一个特定URL 名称空间下的Servlet、JSP与其它相关内容集合,记得您在web.xml中定义的就是一些有关于Web应用程序的相关设定,即 <web-app>标签间定义的内容:

  • web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">

<description>
My JSP/Servlet Examples.
</description>
<display-name>JSP/Servlet Examples</display-name>

</web-app>

下面这个程序示范如何取得服务器相关信息:
  • applicationTest.jsp
...
<%
out.println("Server: " +
application.getServerInfo() + "<br>");
out.println("Servlet API: " +
application.getMajorVersion()
+ "." + application.getMinorVersion() + "<br>");
out.println("Servlet Context Name: " +
application.getServletContextName());
%>
...

getServerInfo()可以取得Servlet容器的相关信息,getMajorVersion()、getMinorVersion()则分别 可以取得Servlet API的主版本号与次版本号,getServletContextName()取得的则是<display-name>标签所设定的内容讯 息,执行的结果如下:
Server: Apache Tomcat/5.0.18
Servlet API: 2.4
Servlet Context Name: JSP/Servlet Examples
 

之前曾经介绍过如何设定Servlet初始参数,它是属于每一个Servlet的专属参数,您可以设定Context初始参数,对于同属于一个Web 应用程序的JSP/Servlet程序,都可以取得这个参数,在web.xml中加入以下的内容作示范:
    ...
    <context-param>
        <param-name>allCount</param-name>
        <param-value>100</param-value>
    </context-param>
   ...

使用application(ServletContext)的getInitParameter()方法可以取得Context初始参数,这个参数可以被同属于一个Web应用程序的JSP/Servlet程序取得,例如:

  • applicationTest.jsp
<% 
    out.println("Context initial parameter: " +
          application.getInitParameter("allCount"));
%>
 

执行结果如下:
Context initial parameter: 100
 
您可以使用log()方法将一些必须记录下来的信息存在记录文件中,例如:application.log("Log Test....");,在Tomcat 5中,这个记录文件是在安装目录的Logs目录下,依主机名称与日期取名,例如localhost_log.2004-05-17.txt。