目录

1、过滤器的原理

2、如何创建过滤器

2.1在xml中注册

2.2使用@WebFilter注解


让一些合法的请求通过该过滤器,而拦截一些不符合要求的请求路径。当请求到达该过滤器时,可以为请求设置一些参数。

1、过滤器的原理

2、如何创建过滤器

2.1在xml中注册

(1)创建一个类并实现Filter接口并重写相应的方法

package filter;import javax.servlet.*;
import java.io.IOException;/*** @创建人 xiaoliu* @创建时间 2022/5/19* @描述*/
public class MyFilter implements Filter {@Overridepublic void init(FilterConfig filterConfig) throws ServletException {System.out.println("初始化过滤器,它只会被执行一次");}@Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {servletRequest.setCharacterEncoding("utf-8");servletResponse.setCharacterEncoding("utf-8");System.out.println("过滤执行时,被调用的方法,这个方法是核心代码,每次请求时都会被执行。");}@Overridepublic void destroy() {System.out.println("过滤器被销毁时执行");}
}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><!--注册filter--><filter><filter-name>MyFilter</filter-name><filter-class>filter.MyFilter</filter-class></filter><!--配置请求路径与过滤器的关系,当你发送什么请求时会被该过滤器拦截--><filter-mapping><filter-name>MyFilter</filter-name><url-pattern>/*</url-pattern>//通配符:代表所有请求都会经过过滤器</filter-mapping>
</web-app>

2.2使用@WebFilter注解

如果使用了WebFilter注解,则无需在web.xml在注册该filter了。

import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;/*** 如果使用了WebFilter注解,则无需在web.xml在注册该filter了。**/
@WebFilter(filterName = "EncodingFilter",urlPatterns = "/*")
public class EncodingFilter implements Filter {@Overridepublic void init(FilterConfig filterConfig) throws ServletException {}@Overridepublic void doFilter(ServletRequest req, ServletResponse resp, FilterChain filterChain) throws IOException, ServletException {req.setCharacterEncoding("utf-8");//设置请求的编码 接受到的请求参数不会乱码。resp.setCharacterEncoding("utf-8");//设置响应的编码,响应的数据不会出现乱码。//放行filterChain.doFilter(req,resp);}@Overridepublic void destroy() {}
}

JavaWeb—Filter过滤器相关推荐

  1. JavaWeb Filter 过滤器

    参考:JavaWeb过滤器(Filter)详解 1.简介 顾名思义就是对事物进行过滤的,在Web中的过滤器,当然就是对请求进行过滤,我们使用过滤器,就可以对请求进行拦截,然后做相应的处理,实现许多特殊 ...

  2. javaweb(11) Listener监听器与Filter过滤器

    javaweb(11) Listener监听器与Filter过滤器 Listener监听器 什么是Listener监听器 Listener 监听器它是 JavaWeb 的三大组件之一.JavaWeb ...

  3. JavaWeb三大组件之一——Filter过滤器源码解析(全面手撕Filter源码,需要耐心看完)

    什么是Filter? 本文所说的Filter是JavaWeb中常见常使用的过滤器.Filter的作用是拦截前端发送给后端的请求,一般是用于权限过滤.日志记录.图片转换.加密.数据压缩等操作. 大致流程 ...

  4. java项目配置过滤器_在JavaWeb项目中如何正确的使用Filter过滤器

    在JavaWeb项目中如何正确的使用Filter过滤器 发布时间:2020-11-11 17:12:00 来源:亿速云 阅读:79 作者:Leah 这期内容当中小编将会给大家带来有关在JavaWeb项 ...

  5. (29) JavaWeb中使用filter过滤器拦截请求、权限检查,过滤响应。

    Filter 过滤器 一.Filter 什么是过滤器 二.Filter 过滤器的使用步骤: 三.Filter 的生命周期 四.FilterConfig 类 五.FilterChain 过滤器链 六.F ...

  6. (JavaWeb)Filter过滤器

    Filter过滤器 Filter:过滤器,用来过滤网站的数据. 自动登录 统一设置编码格式 访问权限控制 敏感字符过滤等 过滤器实际上就是对web资源进行拦截,做一些处理后再交给下一个过滤器或serv ...

  7. javaweb项目Filter过滤器详解

    Filter也称之为过滤器,它是Servlet技术中比较激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 ht ...

  8. Filter(过滤器)

    一.Filter过滤器(重要) Javaweb中的过滤器可以拦截所有访问web资源的请求或响应操作. 1.Filter快速入门 1.1.步骤: 1. 创建一个类实现Filter接口 2. 重写接口中方 ...

  9. Filter 过滤器的使用

    目录 一.Filter简介 二.Filter使用 1.Filter 的初体验 2.Filter 的生命周期 3.FilterConfig类 4.FilterChain过滤器链 5.Filter 的拦截 ...

最新文章

  1. 【VC基础】1、特性和分类
  2. linux查看telnet进程,SuseLinux上配置Telnet服务,重启xinetd守护进程时的异常
  3. 一种 Android 应用内全局获取 Context 实例的装置
  4. Kylin安装,Kylin网页版教程学习
  5. java控制语句案例_Java基础语法—流程控制语句
  6. Android之图形图像之使用Path类总结
  7. Hazelcast入门指南第3部分
  8. 使用docker部署mysql主从复制集群
  9. 删文97篇!前UCLA教授竟是民科?不看好量子通信被禁言
  10. 干货:通过双十一等项目实战看架构技术
  11. PHP Linux安装
  12. Nero8刻录引导系统光盘镜像图文教程
  13. 安卓电视盒子上 安装 Ubuntu 20.04 并安装 certbot 获取证书
  14. unity学习路上....
  15. 微信如何用软件测试是否被拉黑,怎么知道微信里对方把自己拉黑或删除了?微信被好友拉黑检测方法...
  16. 图像处理之基础---去污算法
  17. 合振动的初相位推导_两个同方向、同频率的简谐振动表达式为和,试求它们的合振动的振幅和初相位。...
  18. 业务中台的困境、及可能的解
  19. 震坤行旗下坤同智能仓储助力「数字龙华」闯关破题
  20. 腾讯轻量+宝塔搭建文档在线预览项目kkFileView

热门文章

  1. 手把手教你如何快速制作电子书
  2. Verdi的简单使用命令笔记
  3. SpringMVC页面导航的几种方式(4)
  4. jvm深入理解:内存分配与回收策略(优先在Eden分配、大对象直接进入老年代、长期存活的对象将进入老年代、动态对象年龄判定、空间分配担保)
  5. C语言心算程序设计抽奖程序,幼儿园大班数学优质课:抽奖游戏
  6. VScode安装与python环境搭建
  7. Wind River Workbench 3.x VxWorks项目类型
  8. CASIA数据集格式转化代码
  9. 计算机用户名密码修改 win10,玩转Win10密码基础篇:设置修改系统登录密码
  10. 【源码】QC_LDPC编码仿真