Servlet-点击计数器

点击计数器 这是一个看你能一分内点击多少次的小软件 立即下载

访问网页计数器

很多时候,我们会看到网站特定页面上的总点击数。使用Servlet计算这些点击非常简单,因为Servlet的生命周期由运行它的容器控制。

以下是实现基于Servlet生命周期的简单页面命中计数器所要采取的步骤:

  • 在init()方法中初始化全局变量。
  • 每次调用doGet()或doPost()方法时都要增加全局变量。
  • 如果需要,可以使用数据库表将全局变量的值存储在destroy()方法中。下次初始化servlet时,可以在init()方法中读取此值。此步骤是可选的。
  • 如果只想计算会话中唯一身份网页的点击次数,则可以使用isNew()方法来检查该会话中是否已单击同一页面。此步骤是可选的。
  • 可以显示全局计数器的值以显示网站上的总点击数。此步骤也是可选的。

在这里,我假设Web容器将不会重新启动。如果重新启动或servlet销毁,则将重置命中计数器。

这个例子展示了如何实现一个简单的页面点击计数器:

package servlet;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class PageHitCounter extends HttpServlet {

   private int hitCount; 

   public void init() { 
      //重置点击计数器
      hitCount = 0;
   } 

   //用的是doGet
   public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {

	  response.setHeader("contentType","text/html;charset=UTF-8");
      response.setContentType("text/html");
      response.setCharacterEncoding("UTF-8");

      //每当点击servlet时,此方法就会执行 
      //增加hitCount
      hitCount++; 
      PrintWriter out = response.getWriter();
      String title = "总点击数";
      String docType = "<!doctype html public \"-//w3c//dtd html 4.0 " + "transitional//en\">\n";
      
      out.println(docType +
         "<html>\n" +
            "<head><title>" + title + "</title></head>\n" +
            "<body bgcolor = \"#f0f0f0\">\n" +
               "<h1 align = \"center\">" + title + ":</h1>\n" +
               "<h2 align = \"center\">" + hitCount + "</h2>\n" +
            "</body>\n" +
         "</html>"
      );
   }
   
   public void destroy() { 
      //这是可选步骤,但是如果您愿意,可以在数据库中写入hitCount值。
   } 
}

现在让我们在servlet上方进行编译,并在web.xml中创建以下条目

<servlet>
   <servlet-name>PageHitCounter</servlet-name>
   <servlet-class>servlet.PageHitCounter</servlet-class>
</servlet>

<servlet-mapping>
   <servlet-name>PageHitCounter</servlet-name>
   <url-pattern>/PageHitCounter</url-pattern>
</servlet-mapping>
....

现在,在eclipse上启动tomcat,执行这个servlet。每次刷新此页面时,计数器将增加一,并显示以下结果:
在这里插入图片描述

访问网站计数器

很多时候,我们可以看到整个网站上的总点击次数。这在Servlet中也非常简单,我们可以使用过滤器来实现。

以下是实现基于过滤器生命周期的简单网站点击计数器所要采取的步骤:

  • 在过滤器的init()方法中初始化全局变量。
  • 每次调用doFilter方法时增加全局变量。
  • 如果需要,可以使用数据库表将全局变量的值存储在filter的destroy()方法中。下次初始化过滤器时,可以在init()方法中读取此值。此步骤是可选的。

在这里,我假设Web容器将不会重新启动。如果重新启动或servlet销毁,则将重置命中计数器。

这个例子展示了如何实现一个简单的网站点击计数器:

package servlet;

import javax.servlet.*;

public class SiteHitCounter implements Filter {

   private int hitCount; 

   public void  init(FilterConfig config) throws ServletException {
      //初始化
      hitCount = 0;
   }

   //用的是拦截器
   public void  doFilter(ServletRequest request, ServletResponse response, FilterChain chain) 
      throws java.io.IOException, ServletException {

      //加一
      hitCount++;

      //打印出点击数
      System.out.println("总点击数 :"+ hitCount );

      //将请求传递回过滤链
      chain.doFilter(request,response);
   }
   
   public void destroy() { 
      // 这是可选步骤,但是如果您愿意,可以在数据库中写入hitCount值。
   } 
} 

现在让我们编译上面的servlet并在web.xml中创建以下条目

....
<filter>
   <filter-name>SiteHitCounter</filter-name>
   <filter-class>servlet.SiteHitCounter</filter-class>
</filter>

<filter-mapping>
   <filter-name>SiteHitCounter</filter-name>
   <url-pattern>/*</url-pattern>
</filter-mapping>
....

现在调用任何URL,只要是这个filter所在的项目即可,我把它放在jspStudy的项目下,例如点击http://localhost:8080/jspStudy。每当这个项目下的任何页面被点击时,这将使计数器增加一,并且它将在日志中显示以下消息:
在这里插入图片描述
上一篇:Servlet-页面重定向和请求转发的区别
下一篇:Servlet-注释

鼠标点击计数器 运行此软件后,最小化登陆到任务栏中,可以记录鼠标点击的次数,包括,左键,中键,右键的点击,以及点击的总次数。 立即下载

相关推荐

屏幕点击计数

这个是一个屏幕点击计数的程序,里面用到了移动开发的各项计数,包括点击事件,声音播放,图片切换等等,是个很好的入门例子。 可以下载看一看,如果觉得里面的技术有用,但是又不会实现的话,需要源码的可以联系我,或者进行技术交流。

java 网站计数器_Servlet实现点击计数器的方法

一、Web页面的点击计数器很多时候,可能有兴趣知道网站的某个特定页面上的总点击量。使用Servlet来计算这些点击量是非常简单的,因为一个Servlet的生命周期是由它运行的容器控制的。以下是基于Servlet生命周期实现一个简单的页面点击计数器需要的步骤:在init()方法中初始化一个全局变量。每次调用doGet()或doPost()方法时,增加全局变量。如果需要,可以使用一个数据库表来存储de...

weixin_39670511的博客 1136

Servlet 点击计数器

Servlet 点击计数器 网页点击计数器 很多时候,您可能有兴趣知道网站的某个特定页面上的总点击量。使用 Servlet 来计算这些点击量是非常简单的,因为一个 Servlet 的生命周期是由它运行所在的容器控制的。 以下是实现一个简单的基于 Servlet 生命周期的网页点击计数器需要采取的步骤: 在 init() 方法中初始化一个全局变量。 每次调用 doGet() 或 doPost() 方法时,都增加全局变量。 如果需要,您可以使用一个数据库表来存储全局变量的值在 destroy() 中。在下次初始化 Servlet 时,该值可在 init() 方法内被读取。这一步是可选的。 如果您只

Servlet笔记(16):点击计数器

Servlet笔记(16):点击计数器

Zain_horse的博客 1018

手把手教你用PlantVillage数据集搭建农作物病害识别模型(Python实战)

本文详细介绍了如何使用PlantVillage数据集和Python构建农作物病害识别模型。从环境准备、数据获取到模型构建、训练与评估,手把手教你实现一个实用的农业AI应用。特别针对PlantVillage数据集的特点,提供了处理类别不平衡、图像预处理和模型优化的实战技巧,帮助开发者快速掌握农作物病害识别技术。

weixin_29184371的博客 479

Notepad++ XML Tools插件:手把手教你格式化混乱XML与一键语法检查(保姆级教程)

本文详细介绍了如何使用Notepad++的XML Tools插件格式化混乱的XML文件并进行一键语法检查。通过插件安装、格式化实战和语法排错的完整流程,帮助开发者高效处理XML数据,提升API通信和数据存储的工作效率。特别适合需要快速验证和整理XML配置的开发人员。

weixin_42619742的博客 327

网站点击计数器

有些时候,我们可能会对整个网站的点击量感兴趣,想要知道这个网站的总点击量。在Servlet中,这是非常简单的,我们可以使用过滤器做到这一点。 下面是实现一个简单的基于过滤器生命周期的网站点击计数器需要采取的步骤: 在过滤器的 init() 方法中初始化一个全局变量。 每次调用 doFilter 方法时,都增加全局变量。 如果需要,你可以在过滤器的 destroy() 中使用一个数据库表来存...

qq_33763877的博客 2382

Halcon手眼标定实战:从九点标定到机械臂精准抓取(附完整代码)

本文详细介绍了Halcon手眼标定技术在实际工业场景中的应用,重点讲解了九点标定法在机械臂精准抓取中的实现步骤和优化技巧。通过对比Eye-to-Hand和Eye-in-Hand两种模式的特点,提供完整的代码示例和误差分析,帮助工程师快速掌握标定技术,提升自动化系统的精度和稳定性。

weixin_29100927的博客 460

12. Servlet 页面点击计数器

Servlet 页面点击计数器实现Servlet上某个页面的总点击量,使用 Servlet 来计算这些点击量是非常简单的,因为一个 Servlet 的生命周期是由它运行所在的容器控制的。以下是实现一个简单的基于 Servlet 生命周期的网页点击计数器需要采取的步骤:在 init() 方法中初始化一个全局变量;每次调用 doGet() 或 doPost() 方法时,都增加全局变量;如果需要,可以在...

Al_assad的博客 1184

【亲测有效】OpenClaw Gateway 出现 “(no output)“ 卡死问题完整解决指南:从手动重启到 systemd Watchdog 自动恢复

最近在使用 OpenClaw(自托管 AI 助手框架,前身 Clawdbot/Moltbot)时,遇到了一个非常常见的顽疾:TUI(终端界面)或 Telegram 等通道经常显示 "(no output)",消息发出去后机器人完全没反应,看起来像是卡死了。

hampeter的博客 8609

Python爬虫实战:逆向工程与异步处理攻克Pinterest无限滚动瀑布流

我们将从零开始,逐步分析其数据接口,构建一个功能完整的爬虫,并深入探讨反爬虫策略的应对、性能优化以及数据存储等高级主题。: 在实际爬取中,你需要先访问一次Pinterest主页,获取初始的Cookie和CSRF Token,然后再发起API请求。: Python爬虫,Pinterest,无限滚动,瀑布流,异步IO,httpx,逆向工程,API接口,动态内容,反爬虫。你会很快发现一些关键的请求模式。:页面初始加载有限内容,随着用户滚动,新的图片块通过AJAX动态加载,实现“永无止境”的浏览。

2201_76125261的博客 552

在线blog计数器

在http://mom.freelogs.com/,用着感觉还行,但是只提供了两种简单的计数功能(按点击数或不同用户).不过晚上又发现了一个免费更好的流量统计网站http://www.50bang.com/.它提供了比较强大的统计功能, 主要功能如下: 来源页面 域名统计

RainyLin-SunnyLin的专栏 1439

【2025CSPJ普及组】T4. 多边形

【2025CSPJ普及组】T4. 多边形【题目描述】小 R 喜欢玩小木棍。小 R 有 n 根小木棍,第i(1≤i≤n) 根小木棍的长度为 ai。

lybc2019的博客 849

html点击计数器的实现,Servlet 点击计数器

Servlet 点击计数器网页点击计数器很多时候,您可能有兴趣知道网站的某个特定页面上的总点击量。使用 Servlet 来计算这些点击量是非常简单的,因为一个 Servlet 的生命周期是由它运行所在的容器控制的。以下是实现一个简单的基于 Servlet 生命周期的网页点击计数器需要采取的步骤:在 init() 方法中初始化一个全局变量。每次调用 doGet() 或 doPost() 方法时,都增...

weixin_32244597的博客 920

中国农业银行——轻量式云原生应用平台(轻云平台)

2021年10月,中国人民银行等联合发布了《关于规范金融业开源技术应用与发展的意见》(银办发〔2021〕146 号),规范金融机构合理应用开源技术,提高应用水平和自主可控能力,促进开源技术健康可持续发展。前期,为助力成员单位做好开源技术应用与发展工作,北京金融科技产业联盟开源专委会组织了金融业开源技术应用、创新等方面的案例征集,现对部分优秀案例进行宣传,发挥先进典型示范引领作用。申报单位:中国农业银行股份有限公司技术领域:云原生、无服务器架构(Serverless)、DevOps。

银行信息系统应用架构详解 2392

如何完全卸载axure软件以及解决安装axure后打不开的问题【2023年】

如何完全卸载axure软件以及解决安装axure后打不开的问题【2023年】

念兮为美 5140

Servlet之网页点击计数器

以下是实现一个简单的基于 Servlet 生命周期的网页点击计数器需要采取的步骤:------ 在 init() 方法中初始化一个全局变量。 每次调用 doGet() 或 doPost() 方法时,都增加全局变量。 如果需要,您可以使用一个数据库表来存储全局变量的值在 destroy() 中。在下次初始化 Servlet 时,该值可在 init() 方法内被读取。这一步是可选的。 如果您只...

lelly52800的博客 1233

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

计数器_Servlet 点击计数器

网页点击计数器很多时候,您可能有兴趣知道网站的某个特定页面上的总点击量。使用 Servlet 来计算这些点击量是非常简单的,因为一个 Servlet 的生命周期是由它运行所在的容器控制的。以下是实现一个简单的基于 Servlet 生命周期的网页点击计数器需要采取的步骤:在 init() 方法中初始化一个全局变量。每次调用 doGet() 或 doPost() 方法时,都增加全局变量。如果需要,您可...

weixin_32921593的博客 290

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Servlet实现点击计数器

以下内容引用自http://wiki.jikexueyuan.com/project/servlet/hits-counter.html: 一、Web页面的点击计数器 很多时候,可能有兴趣知道网站的某个特定页面上的总点击量。使用Servlet来计算这些点击量是非常简单的,因为一个Servlet的生命周期是由它运行的容器控制的。 以下是基于Servlet生命周期实现一个简单的页面点击...

angou6476的博客 314
上一篇: Servlet-注释
下一篇: Servlet个人学习总结
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值