application对象的使用
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对象中去掉指定名称的属性。