servlet过滤器--使用过滤器统计网站访问人数的计数(注解形式)
1、什么是过滤器?
主要用于对客户端的请求进行过滤处理,再将经过过滤后的请求转交给下一个资源。
 
2、过滤器核心对象
一个接口,名称为Filter,放置在javax.servlet包中。

- Filter:过滤器对象
- FilterConfig:过滤器的配置对象
- FilterChain:过滤器的传递工具
3、过滤器创建和配置

- filterName属性:用于指定servlet过滤器名
- urlPatterns属性:用于指定哪些URL使用该过滤器,所有使用/*,指定某一个index.jsp
- initParams属性:指定初始化参数
4、举例子
网站人数访问计数
编写的过滤器
package com.zheng;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.annotation.WebInitParam;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
@WebFilter(
        urlPatterns = {"/countNum.jsp"},
        initParams = {
                @WebInitParam(name = "count", value = "100")
        }
)
public class MyFilter implements Filter {
    private int count;//访问人数
    public void destroy() {
    }
    public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
        count++;//访问数量增加
        //将ServletRequest转换为HttpServletRequest
        HttpServletRequest request = (HttpServletRequest) req;
        //获取ServletContext
        ServletContext context = request.getServletContext();
        context.setAttribute("count", count);//将数量放入
        chain.doFilter(req, resp);//放开拦截
    }
    //初始化
    public void init(FilterConfig config) throws ServletException {
        String param = config.getInitParameter("count");//获取初始化参数
        count = Integer.valueOf(param);
    }
}
前端页面
<%--
  Created by IntelliJ IDEA.
  User: 你芭比
  Date: 2021/12/20
  Time: 9:30
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>计数</title>
</head>
<body>
<h2>
    第【<%=application.getAttribute("count")%>】位访问
</h2>
</body>
</html>
测试结果

 
 
servlet过滤器--使用过滤器统计网站访问人数的计数(注解形式)的更多相关文章
- 013. asp.net统计网站访问人数
		Global.asax中的代码: <%@ Application Language="C#" %> <script runat="server" ... 
- application 统计网站访问人数
		参考书<JSP Web 开发案例教程> index.jsp welcome.jsp 显示 
- JSP使用网站访问人数统计功能,方法与技巧
		实现网站访问人数统计功能的步骤: 创建静态登录页面,并指定表单提交由登录处理页面进行处理. 创建登录处理页面获得登录信息,查询数据库,判断该用户是否注册,如果该用户已注册,把已登录用户的信息保存在一个 ... 
- Asp.Net 网站访问人数及在线人数
		利用Application对象和Session对象可以统计历史访问人数和当前在线人数. 在会话开始和结束时,一定要进行加锁和解锁操作.由于多个用户可以共享Application对象,因此加锁是必要的, ... 
- C#统计网站访问总人数和当前在线人数
		一.打开vitualstudio2010,新建一个网站,然后添加新项,新建一个login.aspx和index.aspx页面.再添加新项,选择全局应用程序类,该页面为Global.asax. 第一步: ... 
- C#统计网站访问总人数和当前在线人数  Application
		一.打开vitualstudio2010,新建一个网站,然后添加新项,新建一个login.aspx和index.aspx页面.再添加新项,选择全局应用程序类,该页面为Global.asax. 第一步: ... 
- Python开发程序:生产环境下实时统计网站访问日志信息
		日志实时分析系统 生产环境下有需求:要每搁五分钟统计下这段时间内的网站访问量.UV.独立IP等信息,用直观的数据表格表现出来 环境描述: 网站为Nginx服务,系统每日凌晨会对日志进行分割,拷贝到其他 ... 
- Filter和Listener的应用——分IP统计网站访问次数
		一:分析 统计工作需要在所有资源执行前进行,所以需要放在filter中 这个拦截器仅仅进行统计工作,不进行拦截,所以请求必须继续传递下去 用Map<String,integer>来保存数据 ... 
- Python开发【项目】:生产环境下实时统计网站访问日志信息
		日志实时分析系统 生产环境下有需求:要每搁五分钟统计下这段时间内的网站访问量.UV.独立IP等信息,用直观的数据表格表现出来 环境描述: 网站为Nginx服务,系统每日凌晨会对日志进行分割,拷贝到其他 ... 
随机推荐
- SpringBoot(一、快速入门)
			1.SpringBoot简介 Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置, ... 
- luoguP3224 [HNOI2012]永无乡【线段树,并查集】
			洞庭青草,近中秋,更无一点风色.玉鉴琼田三万顷,着我扁舟一叶.素月分辉,明河共影,表里俱澄澈.悠然心会,妙处难与君说. 应念岭表经年,孤光自照,肝胆皆冰雪.短发萧骚襟袖冷,稳泛沧溟空阔.尽挹西江,细斟 ... 
- Taurus.MVC 微服务框架 入门开发教程:项目集成:1、服务端:注册中心、网关(提供可运行程序下载)。
			系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ... 
- 分库分表之ShardingSphere
			目录 分库分表诞生的前景 分库分表的方式(垂直拆分,水平复制) 1.垂直拆分 1.1 垂直分库 1.2 垂直分表 2.水平拆分 2.1 水平分库 2.2 水平分表 分库分库中间件 ShardingSp ... 
- HTML初学者小知识2
			网页内嵌 代码以及演示如下 代码 <div id="tab_1"> <iframe src="div.html" height="5 ... 
- C语言:多功能计算器
			好家伙,这个东西有点折磨 这是一个多功能计算器 #include<stdio.h> #include<math.h> #include<windows.h> voi ... 
- 使用man手册查看内核函数
			1.为避免man的一些功能缺失,先装好manpages-dev sudo apt-get install manpages-dev 2.安装mandocs的依赖包xmlto sudo apt-get ... 
- C++中的STL大法整理
			C++中的STL大法整理 由于碰到了一些不知道怎么用的STL vector vector是数组的STL,对于普通数组的优势就在于,可以动态地变化数组长度.那么面对一些数据范围非常大而又可以边读入边处理 ... 
- RTSP播放器开发填坑之道
			好多开发者提到,在目前开源播放器如此泛滥的情况下,为什么还需要做自研框架的RTSP播放器,自研和开源播放器,到底好在哪些方面?以下大概聊聊我们的一点经验,感兴趣的,可以关注 github: 1. 低延 ... 
- K8S Pod及其控制器
			Pod K8S里能够运行的最小逻辑单元,1个Pod可以运行多个容器 Pod 控制器 Pod控制器是Pod启动的一种模版,用来保证在K8S中启动的Pod始终按照人们的预期运行(副本数,生命周期.健康状态 ... 
