阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

JSP笔记-点击量统计

61次阅读
没有评论

共计 1531 个字符,预计需要花费 4 分钟才能阅读完成。

导读 JSP(全称 JavaServer Pages)是由 Sun Microsystems 公司主导创建的一种动态网页技术标准。JSP 部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成 HTML、XML 或其他格式文档的 Web 网页,然后返回给请求者。JSP 技术以 Java 语言作为脚本语言,为用户的 HTTP 请求提供服务,并能与服务器上的其它 Java 程序共同处理复杂的业务需求。

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>
<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)。3

复位计数器

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

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

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

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

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

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

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计1531字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中