我们看代码
<%@ page language="java" contentType="text/html; charset=UTF-8"
 pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "[url]http://www.w3.org/TR/html4/loose.dtd[/url]">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
Hello Word!
<%
  // 我们使用application 记录页面访问的计数器
  // 先从里面拿到数据
  // 注意这里一定要是使用Integer,而不是int
  // 因为如果第一次访问,则会返回null,再从Integer转化为int时会出现nullPointerException
  //
  Integer count = (Integer) application.getAttribute("INDEX_COUNTER");
  // 如果是第一次访问,则进行初始化
  if (count == null) {
    // 这里使用了JDK5.0以后支持的自动box方式
    count = 0;
    // 保存到application里面
    application.setAttribute("INDEX_COUNTER", count);
  }
  // 访问次数加1
  count++;
  // 保存到application里面
  application.setAttribute("INDEX_COUNTER", count);
%>
当前一共访问次数为:<%=count%>
</body>
</html>
 
运行结果如下
Java-计数器-第一版_计算器
刷新一次后为
Java-计数器-第一版_计算器_02
 
我们换一个浏览器看看
Java-计数器-第一版_职场_03
刷新一次
Java-计数器-第一版_职场_04
 
至此,我们的第一个页面计数器已经完成了,只要你的tomcat不关闭,他就一直在那里增加。
后面我们将完善这个代码,极其简单的介绍一下并发可能引起的问题。