zoukankan      html  css  js  c++  java
  • 雷林鹏分享:jsp 点击量统计

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

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

      这个对象表示JSP页面的整个生命周期中。当JSP页面初始化时创建此对象,当JSP页面调用jspDestroy()时删除该对象。

      以下是在应用中创建变量的语法:

      application.setAttribute(String Key, Object Value);

      您可以使用上述方法来设置一个计数器变量及更新该变量的值。读取该变量的方法如下:

      application.getAttribute(String Key);

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

      实例演示

      该实例将介绍如何使用JSP来计算特定页面访问的总人数。如果你要计算你网站使用页面的总点击量,那么你就必须将该代码放在所有的JSP页面上。

      <%@ page import="java.io.*,java.util.*" %>

      

      

      

      

      

      <%

      Integer hitsCount =

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

      if( hitsCount ==null || hitsCount == 0 ){

      /* 第一次访问 */

      out.println("Welcome to my website!");

      hitsCount = 1;

      }else{

      /* 返回访问值 */

      out.println("Welcome back to my website!");

      hitsCount += 1;

      }

      application.setAttribute("hitCounter", hitsCount);

      %>

      

      

    Total number of visits: <%= hitsCount%>

      

      

      

      现在我们将上面的代码放置于main.jsp文件上,并访问http://localhost:8080/main.jsp文件。你会看到页面会生成个计数器,在我们每次刷新页面时,计数器都会发生变化(每次刷新增加1)。 你也可以通过不同的浏览器访问,计数器会在每次访问后增加1。如下所示:

      Welcome back to my website!

      Total number of visits: 12

      复位计数器

      使用以上方法,在web服务器重启后,计数器会被复位为0,即前面保留的数据都会消失,你可以使用一下几种方式解决该问题:

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

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

      每次访问时让hitcount自增1。

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

      如果你需要统计每个页面的访问量,你可以使用以上逻辑将代码添加到所有页面上。(编辑:雷林鹏 来源:网络|侵删)

  • 相关阅读:
    on条件与where条件的区别
    Sqlserver中如何创建链接服务器
    SQL Server 2008 R2 主从数据库同步
    网站性能优化
    检索COM 类工厂中CLSID 为 {00024500-0000-0000-C000-000000000046}的组件时失败
    text输入框中按下enter键时阻止刷新页面
    关于以DataTable形式批量写入数据的案例
    关于Excel导入的HDR=YES; IMEX=1详解
    一条结合where、group、orderby的linq语法
    Linq使用Group By经验总结
  • 原文地址:https://www.cnblogs.com/pengpeng1208/p/12870440.html
Copyright © 2011-2022 走看看