JSP-点击量统计

一、思路

(一)该变量(hitCounter)在程序的运行期间都有效,不会被重置。因此使用作用域最大的application内置对象。
(二)获取应用中已经存在(也许不存在)。

Integer hitCounter = (Integer)application.getAttribute("hitCounter");

(三)判断是否已经存在。

项目 不存在 存在
条件 hitCounter == null || hitCounter == 0。 hitCounter != null && hitCounter != 0
处理 hitCounter = 1 hitCounter++

(四)更新后的数据,再重新写入程序中。

application.setAttribute("hitCounter", hitCounter);

(五)页面显示。

<p>页面访问量为: <%=hitCounter %></p>

二、短期存储(无数据库)

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<html>
<head>
  <title>访问量统计</title>
</head>
<body>
<%
    Integer hitsCount = (Integer)application.getAttribute("hitCounter");
    if( hitsCount ==null || hitsCount == 0 ){       
       out.println("欢迎访问!");
       hitsCount = 1; /* 第一次访问 */
    }else{       
       out.println("欢迎再次访问!");
       hitsCount += 1;/* 返回访问值 */
    }
    application.setAttribute("hitCounter", hitsCount);
%>
<p>页面访问量为: <%=hitsCount %></p>
</body>
</html>

三、长期存储(有数据库)

需要不断的连接数据库,性能较差。未完…。

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<html>
<head>
  <title>访问量统计</title>
</head>
<body>
<%
    Integer hitsCount = (Integer)application.getAttribute("hitCounter");
    if( hitsCount ==null || hitsCount == 0 ){       
       out.println("欢迎访问!");
       hitsCount = 1; /* 第一次访问 */
    }else{       
       out.println("欢迎再次访问!");
       hitsCount += 1;/* 返回访问值 */
    }
    application.setAttribute("hitCounter", hitsCount);
%>
<p>页面访问量为: <%=hitsCount %></p>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/lizengbao/article/details/88320980