JSP application对象

 
JSP application 是 javax.servlet.ServletContext 的实例对象。在服务器部署应用和项目时,Web 容器仅创建一次 ServletContext 实例,也就是说 application 设置的任何属性和值可以用于整个应用(所有 JSP 页面)。可以将 application 对象看作 Web 应用的全局变量。一般用于保存应用程序的公用数据。

application 对象在 Web 应用运行时一直存在于服务器中,非常占用资源,因此在实际开发中不推荐使用,否则容易造成内存不足等情况。

application 对象常用方法如下:

application 对象的常用方法
方  法 说  明
Object getAttribute(String attributeName) 获取 attributeName(属性名称)对应的 object
void setAttribute(String attributeName, Object object) 设置 attributeName 对应的属性值
Enumeration getAttributeNames() 返回 application 对象中所有的 attributeName
void removeAttribute(String objectName) 删除 application 对象中指定 attributeName 的属性
String getServerInfo() 获取当前 Servlet 的版本信息
String getRealPath(String value) 获取指定文件的实际路径

示例

可以使用 application 对象来保存 JSP 页面的访问人数,也就是我们常说的网站计数器,下面通过一个例子来演示。index.jsp 代码如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.util.*"%>
<!DOCTYPE html>
<html>
<head>
<title>编程帮(www.biancheng.net)</title>
</head>
<body>
    <%
        Integer count = (Integer) application.getAttribute("count");
        if (count == null) {
            count = 1;
        } else {
            count++;
        }
        application.setAttribute("count", count);
    %>
    <h2>编程帮网站计数器</h2>
    欢迎访问编程帮,您是第<%=count%>位访问客户!

</body>
</html>
运行结果如下:
首次访问count为1
首次访问count为1

连续刷新页面count增加
连续刷新页面count增加