application对象的使用
制作人:全心全意
application对象用于保存所有应用程序中的公有数据。它在服务器启动时自动创建,在服务器停止时销毁。当application对象没有被销毁时,所有用户都可以共享该application对象。与session对象相比,application对象的生命周期更长,类似于系统的“全局变量”。
-
访问应用程序初始化参数
application对象提供了对应用程序初始化参数进行访问的方法。应用程序初始化参数在web.xml文件中进行设置,web.xml文件位于Web应用所在目录下的WEB-INF目录中。在web.xml文件中通过<context-param>标记配置应用程序初始化参数。
application.getInitParameter()方法:返回已命名的参数值。
application.getInitParameter(String name);
参数说明:
name:用于指定application对象中的对象名
application.getInitParameterNames()方法:返回所有已定义的应用程序初始化参数名的枚举。
application.getInitParameterNames();
实例:
在WEB-INF目录中定义web.xml文件,添加如下内容:
<web-app>
<context-param>
<param-name>url</param-name>
<param-value>jdbc:mysql://127.0.0.1:3306/db_quanxinquanyi</param-value>
</context-param>
</web-app>
index.jsp页面:获取application对象中对象名为url的内容并输出,获取当前所有已定义的应用程序初始化参数名的枚举并迭代输出
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ page import="java.util.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>获取application对象中的内容</title>
</head>
<body>
<%
String text = application.getInitParameter("url"); //获取application对象中对象名为url的内容
%>
<%=text %>
<br>
<%
Enumeration enema = application.getInitParameterNames();//获取当前所有已定义的应用程序初始化参数名的枚举
while(enema.hasMoreElements()){
String name = (String)enema.nextElement();
String value = application.getInitParameter(name);
out.println(name + ":");
out.println(value);
}
%>
</body>
</html>
-
管理应用程序环境属性
与session对象相同,也可以在application对象中设置属性。与session对象不同的是,session只是在当前客户的会话范围内有效,当超过保存时间,session对象就被收回;而application对象在整个应用区域中都有效。
application.getAttributeNames()方法:获得所有application对象使用的属性名。
application.getAttribute(String name)方法:从application对象中获取指定对象名。
application.setAttribute(String key,Object obj)方法:使用指定名称和指定对象在application对象中进行关联。
application.removeAttribute(String name)方法:从application对象中去掉指定名称的属性。