Filter详解

news/2024/11/17 0:22:16/

Filter是什么:

Filter表示过滤器,是Java Web三大组件之一(Servlet、Filter、Listener)。

过滤器可以把对资源的请求拦截下来,从而实现一些特殊的功能。

过滤器一般完成一些通用的操作,比如:权限管理,统一编码处理,敏感字符处理等。

比如说没有登陆不许打开购物车。

Filter快速入门

1、定义类,实现Filter接口,并重写所有的方法。

public class FilterDemo implements Filter{public void intit(FilterConfig filterConfig){}public void doFilter(ServletRequest request){}public void destroy(){}
}

2、配置Filter拦截资源的路径:在类上定义@WebFilter注解

@WebFilter(“url”)
public class FilterDemo implements Filter{}

3、在doFilter中输出,随后放行

public void doFilter(ServletRequest request){System.put.println("Filter is running");chain.doFilter(request,response);
}

 

Filter执行流程 

Filter使用细节

Filter可以根据需求,设置不同的拦截资源路径。(有点像Servlet的urlpattern配置?)

@WebFilter("/*")
public class FilterDemo implements Filter{}

拦截具体的资源:/index.jsp 只有访问到index.jsp时才会拦截。

目录拦截:/user/* 访问/user下的所有资源,都会被拦截。

后缀名拦截:*.jsp,访问后缀名为jsp的文件,都会被拦截。

拦截所有: /* 访问所有资源都会被拦截。

过滤器链

一个Web应用,可以配置多个过滤器,这被称之为过滤器链。

注解配置的Filter,优先按照过滤器类名(字符串)的自然排序。

 


http://www.ppmy.cn/news/84035.html

相关文章

Nginx配置文件

四.Nginx配置 1.位置 /usr/local/nginx/conf/nginx.conf2.内容 Nginx的主配置文件是nginx.conf,这个配置文件一共由三部分组成,分别为全局块、events块和http块。在http块中,又包含http全局块、多个server块。每个server块中,可…

【Jasypt】Spring Boot 配置文件加解密 Jasypt 配置文件加密

Spring Boot 配置文件加解密 一、Jasypt简介二、集成方法2.1 方式一2.2 方式二2.3 方式三 三、Springboot整合Jasypt实战3.1 引入依赖3.2 编写配置类,配置相关信息3.3 使用Jasypt对数据库密码加密,并替换明文3.4 查看执行结果 四、拓展4.1 关于加解密秘钥…

java基础入门-14-【集合(泛型Set数据结构)】

Java基础入门-14-【集合(泛型&Set&数据结构)】 23、集合(泛型&Set&数据结构)1.泛型1.1 泛型概述1.2 泛型的好处1.3 泛型的细节1.4 代码案例1.5 泛型可以在很多地方进行定义1.6 泛型类1.7 泛型类的书写1.8 泛型方法1.9 泛型方法的练习1.10 泛型接口1.11 泛型…

图解LeetCode——138. 复制带随机指针的链表

一、题目 给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。…

从HelloWorld深入源码了解SpringSecurity底层逻辑

文章目录 一、环境搭建1、创建项目测试1.1、搭建基础项目1.2、整合Spring Security 二、实现原理1、Spring Security的实现原理1.1、Spring Security 如何完成认证和授权1.2、Security Filters 2、 Spring Security默认配置和如何自定义配置 三、整个HelloWorld的流程分析三、H…

为什么要用微服务的分布式架构呢?关于传统架构的分布式集群的猜想!

前提概要: 1、个人对微服务研究不太深入,有些看法可能不太正确。 2、本人很多项目其实都是传统的非微服务架构,而且大部分项目单机硬件,或者云服务器已经能够很好支持。未来三五年内可能都不需要升级扩展。 3、本人很多项目公司规…

解决方案 TestCenter自动测试软件平台

方案概述 TestCenter是一个专为加速您的测试系统软件开发而设计的自动测试系统软件平台,主要应用于测试程序的开发、运行和管理。TestCenter实现了对测试资源管理、测试程序开发与调试、测试数据管理以及测试程序发布等功能的无缝集成和统一部署,这将帮…

打家劫舍 III——力扣337

文章目录 题目描述法一:动态规划 题目描述 法一:动态规划 问题简化:一棵二叉树,树上的每个点都有对应的权值,每个点有两种状态(选中和不选中),问在不能同时选中有父子关系的点的情况…