以下内容引用自http://wiki.jikexueyuan.com/project/jsp/hits-counter.html

一个点击计数器能得知关于网站某个特定页面的访问量。假设人们第一次登陆主页,通常在index.jsp页面上设置一个点击计数器。

可以使用Application隐式对象和相关方法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.*" %>

<html>
<head>
<title>Applcation object in JSP</title>
</head>
<body>
<%
Integer hitsCount = (Integer)application.getAttribute("hitCounter");
if( hitsCount ==null || hitsCount == 0 ){
/* First visit */
out.println("Welcome to my website!");
hitsCount = 1;
}else{
/* return visit */
out.println("Welcome back to my website!");
hitsCount += 1;
}
application.setAttribute("hitCounter", hitsCount);
%>
<center>
<p>Total number of visits: <%= hitsCount%></p>
</center>
</body>
</html>

现在将上面的代码放在main.jsp中,并且使用URL:http://localhost:8080/main.jsp来调用此JSP。每当刷新该页面时,这将显示的点击计数器值会增加。可以尝试使用不同的浏览器访问该网页,会发现每次点击计数器将增加,显示的结果如下:

计数器重置

如果重新启动应用程序如Web服务器,这将重置应用程序变量,点击计数器将重置为零。为了避免这种损失,可以用下面专业的方法实现点击计数器:

  • 定义一个带有单一计数的数据库表,叫做点击量。设置它的值为0。

  • 每次点击,读取该表得到点击量的值。

  • 点击量加1,更新该表中的值。

  • 显示点击计数器的新值作为总页面的点击量。

  • 如果想计算所有页面的点击量,对所有的页面实现上面的逻辑。

测试工程:https://github.com/easonjim/5_java_example/tree/master/jspbasics/test14

JSP点击计数器的更多相关文章

  1. JSP 点击量统计

    JSP 点击量统计 有时候我们需要知道某个页面被访问的次数,这时我们就需要在页面上添加页面统计器,页面访问的统计一般在用户第一次载入时累加该页面的访问数上. 要实现一个计数器,您可以利用应用程序隐式对 ...

  2. JSP-Runoob:JSP 点击量统计

    ylbtech-JSP-Runoob:JSP 点击量统计 1.返回顶部 1. JSP 点击量统计 有时候我们需要知道某个页面被访问的次数,这时我们就需要在页面上添加页面统计器,页面访问的统计一般在用户 ...

  3. [LeetCode] Design Hit Counter 设计点击计数器

    Design a hit counter which counts the number of hits received in the past 5 minutes. Each function a ...

  4. Servlet 点击计数器

    网页点击计数器 很多时候,您可能有兴趣知道网站的某个特定页面上的总点击量.使用 Servlet 来计算这些点击量是非常简单的,因为一个 Servlet 的生命周期是由它运行所在的容器控制的. 以下是实 ...

  5. Servlet实现点击计数器

    以下内容引用自http://wiki.jikexueyuan.com/project/servlet/hits-counter.html: 一.Web页面的点击计数器 很多时候,可能有兴趣知道网站的某 ...

  6. [LeetCode] 362. Design Hit Counter 设计点击计数器

    Design a hit counter which counts the number of hits received in the past 5 minutes. Each function a ...

  7. JSP 点击量统计!

    详细JSP课程:阿里云大学——开发者课堂 有时候我们需要知道某个页面被访问的次数,这时我们就需要在页面上添加页面统计器,页面访问的统计一般在用户第一次载入时累加该页面的访问数上. 要实现一个计数器,您 ...

  8. jsp中点击一个图片跳转到另一个页面的方法

    1.这是jsp页面中的关于图片的那段代码 <img src="images/tj1.png " id="tj1"></img> 2.跳转 ...

  9. JSP学习笔记(五):日期处理、页面重定向、点击量统计、自动刷新和发送邮件

    一.JSP 日期处理: 使用JSP最重要的优势之一,就是可以使用所有Java  API.本节讲述Java中的Date类,它在java.util包下,封装了当前日期和时间. Date类有两个构造函数.第 ...

随机推荐

  1. 掌握Spark机器学习库-07.14-保序回归算法实现房价预测

    数据集 house.csv 数据集概览 代码 package org.apache.spark.examples.examplesforml import org.apache.spark.ml.cl ...

  2. iOS Programming UIWebView 2

    iOS Programming  UIWebView 1 Instances of UIWebView render web content. UIWebView可以显示web content. In ...

  3. jQuery 小实例 关于按字母排序

    jQuery的强大再次不再赘述 一般情况下操作表格式数据的一种最常见的任务就是排序,在一个大型的表格中,能够对要寻找的信息进行重新排列是非常重要的,一般情况用来完成排序的方式有两种 :一种是服务器端排 ...

  4. chvt - 修改虚拟终端的前台环境

    SYNOPSIS(总览) chvtN DESCRIPTION(描述) chvt N 命令用来生成 /dev/ttyN 的前台终端.如果它本来不存在,即创建相应的屏幕.为了删除掉不用的VT(虚拟终端), ...

  5. Oracle数据库存储过程练习20181212

    先创建一个测试的数据表 --测试表 CREATE TABLE TEST20181207 ( ID INTEGER PRIMARY KEY, FUND NUMBER,--上日资金 BALANCE NUM ...

  6. spring的设计思想

    在学习Spring框架的时候, 第一件事情就是分析Spring的设计思想 在学习Spring的时候, 需要先了解耦合和解耦的概念 耦合: 简单来说, 在软件工程当中, 耦合是指对象之间的相互依赖 耦合 ...

  7. yum升级php版本

    查看当前 PHP 版本 1 php -v 查看当前 PHP 相关的安装包,删除之 1 2 3 4 5 yum list installed | grep php   yum remove php   ...

  8. 编译压缩代码 MFCompress-src-1.01 :对‘***’未定义的引用

    提示 MFCompressD.o:在函数‘main’中:MFCompressD.c:(.text.startup+0x34a): 警告: the use of `tempnam' is dangero ...

  9. css hack解决方案

    现在大家做项目的时候估计很多都已经不怎么考虑兼容问题,大多数的公司都已经舍弃ie7.8了,都是从ie9+开始,所以说不会有那么多的兼容问题需要去解决了,但是由于本人力求完美的工作习惯,做项目的时候还是 ...

  10. [Luogu] P4838 P哥破解密码

    题目背景 P哥是一个经常丢密码条的男孩子. 在ION 8102赛场上,P哥又弄丢了密码条,笔试满分的他当然知道这可是要扣5分作为惩罚的,于是他开始破解ION Xunil系统的密码. 题目描述 定义一个 ...