JSP 网页访问统计

JSP application.setAttribute() 方法可以设置全局变量,我们可以用它来统计页面的访问量

有时候我们需要知道某个页面被访问的次数,这时我们就需要在页面上添加页面统计器,页面访问的统计一般在用户第一次载入时累加该页面的访问数上

实现一个计数器,可以利用应用程序隐式对象 application 和相关方法 getAttribute( )和 setAttribute() 来实现

application 对象表示 JSP 页面的整个生命周期中

当 JSP 页面初始化时创建此对象,当 JSP 页面调用 Destroy() 时删除该对象

application.setAttribute(String Key, Object Value);

我们可以使用上述方法来设置一个计数器变量及更新该变量的值

application.getAttribute(String Key);

在页面每次被访问时,我们可以读取计数器的当前值,并递增1,然后重新设置,在下一个用户访问时就将新的值显示在页面上

范例

下面的范例演示了如何使用 JSP 来计算特定页面访问的总人数

如果想计算网站总的访问量,则需要将该代码放在所有的 JSP 页面上

hits_counter.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<!doctype html>
<meta charset="utf-8"/>
<title>访问量统计 - JSP 基础教程 | 简单教程(www.twle.cn)</title>
<p>访问量统计 - JSP 基础教程 | 简单教程(www.twle.cn)</p>
<p>
<%
    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>
<p>页面访问量为: <%= hitsCount%></p>

在浏览器上输入 http://localhost:8080/jsp/hits_counter.jsp 来访问网页

可以看到页面会生成个计数器,我们每刷新一次页面,计数器都会 + 1

复位计数器

上面的方法,当 web 服务器重启后,计数器会被复位为 0,即前面保留的数据都会消失

使用以下方法可以解决该问题:

  1. 在数据库中定义一个用于统计网页访问量的数据表 count,字段为 hitcount,hitcount 默认值为0,将统计数据写入到数据表中

  2. 在每次访问时我们读取表中 hitcount 字段

  3. 每次访问时让 hitcount 自增 1

  4. 在页面上显示新的 hitcount 值作为页面的访问量

  5. 如果你需要统计每个页面的访问量,你可以使用以上逻辑将代码添加到所有页面上

JSP 基础教程

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2018 简单教程 twle.cn All Rights Reserved.