Servlet实现统计页面访问次数功能

本文实例为大家分享了Servlet实现统计页面访问次数的具体代码,供大家参考,具体内容如下

实现思路:

1.新建一个CallServlet类继承HttpServlet,重写doGet()和doPost()方法;

2.在doPost方法中调用doGet()方法,在doGet()方法中实现统计网站被访问次数的功能,用户每请求一次servlet,使得访问次数times加1;

3.获取ServletContext,通过它的功能记住上一次访问后的次数。

在web.xml中进行路由配置:

<!-- 页面访问次数 -->
  <servlet>
    <servlet-name>call</servlet-name>
    //CallServlet为处理前后端交互的后端类
    <servlet-class>CallServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>call</servlet-name>
    <url-pattern>/call</url-pattern>
</servlet-mapping>

CallServlet类:

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

/**
 * Created with IntelliJ IDEA
 * Details about unstoppable_t:
 * User: Administrator
 * Date: 2021-04-07
 * Time: 14:57
 */

//获得网站被访问的次数
public class CallServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html;charset=utf-8");
        ServletContext context = getServletContext();
        Integer times = (Integer) context.getAttribute("times");
        if (times == null) {
            times = new Integer(1);
        } else {
            times = new Integer(times.intValue() + 1);
        }
        PrintWriter out= resp.getWriter();
        out.println("<html><head><title>");
        out.println("页面访问统计");
        out.println("</title></head><body>");
        out.println("当前页面被访问了");
        out.println("<font color=red size=20>"+times+"</font>次");
        context.setAttribute("times",times);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        this.doGet(req,resp);
    }
}

前端展示结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • servlet监听实现统计在线人数功能 附源码下载

    本文实例为大家分享了servlet统计在线人数的具体代码,供大家参考,具体内容如下 ServletContext事件监听器---->针对applicationScope ServletContextListener(*) 对整个Web应用的装载和卸载进行监听.  ServletContextAttributeListener 对ServletContext中的信息存放.删除和替换进行监听. ServletContext就是Servlet上下文监听,在web中表示的是对启动服务和销毁服务进行监听,

  • Servlet实现统计页面访问次数功能

    本文实例为大家分享了Servlet实现统计页面访问次数的具体代码,供大家参考,具体内容如下 实现思路: 1.新建一个CallServlet类继承HttpServlet,重写doGet()和doPost()方法: 2.在doPost方法中调用doGet()方法,在doGet()方法中实现统计网站被访问次数的功能,用户每请求一次servlet,使得访问次数times加1: 3.获取ServletContext,通过它的功能记住上一次访问后的次数. 在web.xml中进行路由配置: <!-- 页面访问

  • 基于servlet实现统计网页访问次数

    本文实例为大家分享了基于servlet实现统计网页访问次数的具体代码,供大家参考,具体内容如下 一.基础知识 (1)ServletContext和ServletConfig的区别 ServletContext作为整个web应用的共享数据ServletConfig只是作为当前servlet的数据共享,下一个servlet访问时,是访问不到的 二.代码实现 将显示的统计次数显示在HTML页面上: import java.io.IOException; import java.io.PrintWrit

  • JS+JSP通过img标签调用实现静态页面访问次数统计的方法

    本文实例讲述了JS+JSP通过img标签调用实现静态页面访问次数统计的方法.分享给大家供大家参考,具体如下: 测试页面: test.html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>test</title> <meta http-equiv="pragma" content

  • PHP实现redis限制单ip、单用户的访问次数功能示例

    本文实例讲述了PHP实现redis限制单ip.单用户的访问次数功能.分享给大家供大家参考,具体如下: 有时候我们需要限制一个api或页面访问的频率,例如单ip或单用户一分钟之内只能访问多少次 类似于这样的需求很容易用Redis来实现 <?php $redis = new Redis(); $redis->connect('127.0.0.1', 6379); $redis->auth("php001"); //这个key记录该ip的访问次数 也可改成用户id //$k

  • JavaScript统计网站访问次数的实现代码

    本文实例讲述了JavaScript统计网站访问次数的实现代码.分享给大家供大家参考.具体如下: 运行效果截图如下: 完整代码: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>New Page 5</title> <meta name="GENERATOR&qu

  • Python实现的统计文章单词次数功能示例

    本文实例讲述了Python实现的统计文章单词次数功能.分享给大家供大家参考,具体如下: 题目是这样的:你有一个目录,放了你一个月的日记,都是 txt,为了避免分词的问题,假设内容都是英文,请统计出你认为每篇日记最重要的词. 其实就是统计一篇文章出现最多的单词,但是要去除那些常见的连词.介词和谓语动词等,代码: #coding=utf-8 import collections import re import os useless_words=('the','a','an','and','by',

  • JavaScript实现点击出现图片并统计点击次数功能示例

    本文实例讲述了JavaScript实现点击出现图片并统计点击次数功能.分享给大家供大家参考,具体如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>点击出现图片,再次点击循环出现</title> </head> <body> <script type="text

  • .net页面访问次数统计实现原理与代码

    数据库准备:建立一个表total里面数据项为totals类型为varchar 50.net语言环境:C#global.asax里的代码 复制代码 代码如下: <%@ Import Namespace="System.Data" %><%@ Import Namespace="System.Data.SqlClient" %><script language="C#" runat="server"&

  • shell脚本分析 nginx日志访问次数最多及最耗时的页面(慢查询)

    当服务器压力比较大,跑起来很费力时候.我们经常做站点页面优化,会去查找那些页面访问次数比较多,而且比较费时. 找到那些访问次数高,并且比较耗时的地址,就行相关优化,会取得立竿见影的效果的. 下面是我在做优化时候,经常用到的一段shell 脚本. 这个也可以算是,统计web页面的slowpage 慢访问页面,象mysql slowquery . 以下是我的:nginx 配制 复制代码 代码如下: log_format  main  '$remote_addr - $remote_user [$ti

  • 扫二维码下载apk并统计被扫描次数

    需求:想让用户扫描一个二维码就能下载APP,并统计被扫描次数. 两种实现方法: 1.一般我们用草料生成二维码,如果没有注册的话只能生成一个包含下载网址的静态码,没有统计功能,而且出了自己截图保存外,草料是不会保存你的二维码的. 如果注册草料后,可以选择生成活码.所谓活码,就是一个指向页面,然后通过这个指向页面,再到你的下载链接.这个指向页面内嵌了统计代码.你可以通过草料的统计功能,看你的二维码相关的扫描数据. 2.你的App下载地址,自己内嵌一个统计代码,这样来统计扫描数据,这样,你只要一个静态

随机推荐