使用application内置对象做一个简单的网页访问计数器

jsp的9大内置对象:out、request、response、session、application、exception、page、pageContext和config,今天就说说如何用application内置对象做一个简单的网页访问计数器。
application对象负责提供应用程序在服务器中运行时的一些全局信息,常用的方法有setAttribute(String name,Object object)、getAttribute(String name)和removeAttribute(String name)等,application的存活范围比request和session都要大,只要服务器没有关闭,application对象中的数据就会一直存在,在整个服务器的运行过程中,application对象只有一个,它会被所有的用户共享,所以经常用它来做网页访问计数器,具体代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page contentType="text/html; charset=UTF-8"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"
            + request.getServerName() + ":" + request.getServerPort()
            + path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP 'countTime.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">

</head>

<body>
    <%
        if (application.getAttribute("counter") == null) {
            application.setAttribute("counter", 1);
        } else {
            String countString = null;
            countString = application.getAttribute("counter").toString();
            int count = 0;
            count = Integer.valueOf(countString).intValue();
            count++;
            application.setAttribute("counter", Integer.toString(count));
        }
    %>
    您是第<%=application.getAttribute("counter")%>位访问者!
</body>
</html>

结果如下:
这里写图片描述
刷新后:
这里写图片描述

猜你喜欢

转载自blog.csdn.net/luqiren/article/details/77447729