博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Servlet过滤器实现访客人数统计
阅读量:5775 次
发布时间:2019-06-18

本文共 2356 字,大约阅读时间需要 7 分钟。

第一、 Servlet的创建和配置

           1、 创建一个Servlet需要实现javax.servlet.Filter接口,同时实现Filter的3个方法。

            第一个方法时过滤器中的init()方法用于对过滤器的初始值进行处理,destroy()方法是过滤器的销毁方法,主要用于释放资源,过滤处理的业务逻辑都在doFilter()方法里,在请求过滤处理后,需要调用chain.doFilter(request,response)方法将请求传递给下一个过滤器或者目标资源(相当于放行)。

           2、过滤的配置(其实过滤器和servlet差不多)

           首先我们要声明过滤对象

           其次我们创建过滤器映射。

           配置代码在下面:

//声明过滤器对象 
CountFilter
com.luo.filter.CountFilter
count
0
//过滤器映射
CountFilter
/*

下面是过滤器类代码和jsp代码:

类代码:

1 package com.luo.filter; 2  3 import java.io.IOException; 4  5 import javax.servlet.Filter; 6 import javax.servlet.FilterChain; 7 import javax.servlet.FilterConfig; 8 import javax.servlet.ServletContext; 9 import javax.servlet.ServletException;10 import javax.servlet.ServletRequest;11 import javax.servlet.ServletResponse;12 import javax.servlet.http.HttpServletRequest;13 14 public class CountFilter implements Filter {15     //来访数量16     private int count;17     18     @Override19     public void destroy() {20         // TODO Auto-generated method stub21 22     }23 24     @Override25     public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)26             throws IOException, ServletException {27           28         count++;29         HttpServletRequest req = (HttpServletRequest)request;30         ServletContext context = req.getSession().getServletContext();31         context.setAttribute("count", count);32         chain.doFilter(request, response);33         34     }35 36     @Override37     public void init(FilterConfig filterConfig) throws ServletException {38          //获取配置文件中的初始化参数39           String param = filterConfig.getInitParameter("count");40           count = Integer.valueOf(param);41             42     }43 44 }

jsp代码

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>              My JSP 'index.jsp' starting page    
你好,你是本站${count }访客。

  这样一个简单的访客计数就通过过滤器简单完成了,不会的私信我。愿意为你解答。

 

转载于:https://www.cnblogs.com/Leroyo/p/8178867.html

你可能感兴趣的文章
[转]MVC4项目中验证用户登录一个特性就搞定
查看>>
用Perl编写Apache模块续二 - SVN动态鉴权实现SVNAuth 禅道版
查看>>
Android 阴影,圆形的Button
查看>>
C++概述
查看>>
卡特兰数
查看>>
006_mac osx 应用跨屏幕
查看>>
nginx中配置文件的讲解
查看>>
MindNode使用
查看>>
HTTP库Axios
查看>>
CentOS7下安装python-pip
查看>>
认知计算 Cognitive Computing
查看>>
左手坐标系和右手坐标系 ZZ
查看>>
陀螺仪主要性能指标
查看>>
Linux 目录结构和常用命令
查看>>
Linux内存管理之mmap详解 (可用于android底层内存调试)
查看>>
Android开发中ViewStub的应用方法
查看>>
gen already exists but is not a source folder. Convert to a source folder or rename it 的解决办法...
查看>>
遍历Map的四种方法
查看>>
Altium Designer 小记
查看>>
【Linux高级驱动】I2C驱动框架分析
查看>>