>>分享Java Web开发技术,并且对孙卫琴的《Tomcat与Java Web开发技术详解》提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 21051 个阅读者 刷新本主题
 * 贴子主题:  JSP 点击量统计范例 回复文章 点赞(0)  收藏  
作者:sunshine    发表时间:2019-08-10 17:28:12     消息  查看  搜索  好友  邮件  复制  引用

  

JSP  点击量统计

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

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

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

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

                 application.setAttribute(String Key, Object Value);

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

                 application.getAttribute(String Key);

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

范例演示

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

<%@ 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>

    现在我们将上面的代码放置于main.jsp文件上,并访问 http://localhost:8080/testjsp/main.jsp 文件。你会看到页面会生成个计数器,在我们每次刷新页面时,计数器都会发生变化(每次刷新增加1)。

    你也可以通过不同的浏览器访问,计数器会在每次访问后增加1。            

复位计数器

     使用以上方法,在 web 服务器重启后,计数器会被复位为 0,即前面保留的数据都会消失,你可以使用以下几种方式解决该问题:    
  • 在数据库中定义一个用于统计网页访问量的数据表 count,字段为 hitcount,hitcount 默认值为0,将统计数据写入到数据表中。
  • 在每次访问时我们读取表中 hitcount 字段。
  • 每次访问时让 hitcount 自增 1。
  • 在页面上显示新的 hitcount 值作为页面的访问量。
  • 如果你需要统计每个页面的访问量,你可以使用以上逻辑将代码添加到所有页面上。
程序猿的技术大观园:www.javathinker.net



[这个贴子最后由 flybird 在 2020-02-29 11:05:56 重新编辑]
  Java面向对象编程-->类的生命周期
  JavaWeb开发-->自定义JSP标签(Ⅰ)
  JSP与Hibernate开发-->Java应用分层架构及软件模型
  Java网络编程-->通过JavaMail API收发邮件
  精通Spring-->创建综合购物网站应用
  Vue3开发-->创建综合购物网站应用
  Servlet中读JSON请求数据和写JSON响应数据
  HTTP请求方式:GET 对比 POST
  HTTP的状态代码的含义
  JSP 服务器响应:自动刷新时间的范例
  Servlet的调试技巧
  Servlet生成HTTP 响应头
  在JSP中如何取得form表单中被选中的radio项的值
  java生成图片验证码--封装生成图片验证码的工具类
  Servlet3.0的注解
  详解如何给Tomcat配置Https/ssl证书
  读《Tomcat与JavaWeb开发技术详解》的笔记
  Java表达式EL语言介绍
  我是如何成为一个Java Web开发者的
  Log4J日志生成工具的用法指南
  Java Servlet完全教程
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。