application對象用於保存所有應用程序中的共有數據。它在服務器啟動時自動創建,在服務器停止時自動銷毀。當application對象沒有被銷毀時,所有用戶都可以共享該application對象。與session相比,application 對象的生命周期更長,類似於“全局變量”
application提供了對應用程序初始化參數進行訪問的方法。應用程序初始化參數在web.xml文件中進行設置,web.xml文件位於Web應用所在的目錄下的WEB-INF子目錄中。在web.xml中通過
范例:
在web.xml中配置了MySQL數據庫所需的url參數,實例如下:
application對象提供了兩種方法訪問應用程序的初始化參數。分別介紹如下:
a.getInitParameter()方法:
該方法用戶返回已經命名的參數值。語法格式如下:
application.getInitParameter(String name);
使用此方法獲取上面web.xml文件中的url參數的值,可使用下面的代碼
application.getInitParameter(“url”);
b.getAttributeNames()方法
application.getAttributeNames()返回以定義的應用程序初始化參數名的枚舉,語法格式如下:
application.getAttributeNames();
范例:
web.xml文件如下:
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
result.jsp文件中取得應用程序的初始化參數。
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ page import="java.util.*" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%
Enumeration enumeration = application.getInitParameterNames();
while(enumeration.hasMoreElements())
{
String name = (String)enumeration.nextElement();
String value = (String)application.getInitParameter(name);
out.println(name);
out.println(value);
}
%>
application對象管理應用程序環境屬性的方法如下:
getAttributeNames():獲取所有application對象使用的屬性名
getAttribute(String name):從application對象中獲取指定的對象名的值
setAttribute(String key,Object obj):設置application對象的屬性的值
removeAttribute(String name):從application對象中去掉指定的名稱的屬性