SpingBoot 过滤器和拦截器有什么区别?

news2024/11/25 20:27:14

1. 运行顺序不同(如图):

        过滤器是在 Servlet 容器接收到请求之后,但在 Servlet 被调用之前运行的;而拦截器则是在 Servlet 被调用之后,但在响应被发送到客户 端之前运行的。

2. 配置方式不同:

        因为过滤器是 Sevlet规范中一部分,任何java web工程都可以使用。因此在web.xml中配置 。 在Url-pattern中配置了/*后,可以对所有要访问的资源进行拦截。 拦截器是Spring MVC框架中的,只有使用Spring MVC框架的工程才能使用,在 Spring 的配置文件中 applicationContext下配置 或者使用注解进行配置。

3. Filter 依赖于 Servlet 容器,而 Interceptor 不依赖于 Servlet 容器。

4. Filter 在过滤是只能对 request 和 response 进行操作,而 interceptor 可以对 request、response、handler、modelAndView、exception 进行操作。

即: 拦截器只会拦截访问的控制器方法,如果访问的是Jsp/html/css/image/js是不会进行拦截的

这里主要强调一下应用场景的区分

拦截器:( 拦截器是AOP思想的具体应用 

  • 登录验证,判断用户是否登录。

  • 权限验证,判断用户是否有权限访问资源,如校验token

  • 日志记录,记录请求操作日志(用户ip,访问时间等),以便统计请求访问量。

  • 处理 cookie、本地化、国际化、主题等。

  • 性能监控,监控请求处理时长等。

  • 通用行为:读取 cookie得到用户信息并将用户对象放入请求,从而方便后续流程使用,还有如提取 Locale、Theme 信息等,只要是多个处理器都需要的即可使用拦截器实现)

过滤器:

  • 过滤敏感词汇(防止sql注入)
  • 设置字符编码
  • URL级别的权限访问控制
  • 压缩响应信息

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/959459.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

划分字母区间【贪心算法】

划分字母区间 给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。 注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是 s 。返回一个表示每个字符串片段的长度的列表。…

跨数据中心Multi-Fabric解决方案:L2和L3网络的高效连接和扩展

云数据中心里,为什么需要DCI互通? 云化数据中心,网络资源通过虚拟化技术形成资源池,实现业务与物理网络解耦,通过网络虚拟化,物理网络资源可以被分成多个虚拟网络资源,从而提高网络资源的使用效…

轻松教你实现多设备使用WhatsApp!

小S之前发过几篇关于WhatsApp的使用技巧还有注意事项的文章,发现大家对WhatsApp这个软件还是非常关注的。那么小S今天就再跟大家说一下WhatsApp。 WhatsApp去年更新推出了多设备使用的功能,通过跟主要手机关联,可以在网页、桌面设备、Androi…

代码随想录算法训练营第38天 | ● 理论基础 ● 509. 斐波那契数 ● 70. 爬楼梯 ● 746. 使用最小花费爬楼梯

文章目录 前言一、理论基础二、509. 斐波那契数三、70. 爬楼梯四、746. 使用最小花费爬楼梯总结 前言 动态规划 一、理论基础 1.基础 2.背包问题 3.打家劫舍 4.股票问题 5.子序列问题 动态规划,英文:Dynamic Programming,简称DP,…

Java使用pdfbox将pdf转图片

前言 目前比较主流的两种转pdf的方式,就是pdfbox和icepdf,两种我都尝试了下,icepdf解析出来有时候会出现中文显示不出来,网上的解决方式又特别麻烦,不是安装字体,就是重写底层类,所以我选择了p…

Segment Routing原理

以上内容均属原创,如有不详或错误,敬请指出。本文作者: 坏坏 本文链接: http://t.csdn.cn/2fUE5 版权声明: 本博客所有文章除特别声明外,如需转载,请联系作者注明出处并附带本文链接&#xf…

软件开发常说的CI/CD是什么

本文翻译自国外论坛 medium,原文地址:本文翻译自国外论坛 medium,原文地址:https://medium.com/gitconnected/basics-of-ci-cd-a98340c60b04 任何软件项目的主要目标都是通过业务流程快速更新迭代来赚钱。我们越快向客户发布新版…

题集-三路划分和三数取中(快排优化)

快排排序是非常快的,但是有一种情况快排是无法进行的。 912. 排序数组 - 力扣(LeetCode) 这道题看上去没什么问题,但是如果我们用快排去提交的话,发现快排其实是被针对了的。 有一个样例是这样的。如果我们按照快排的…

SpringCloud入门实战(十五)分布式事务框架Seata简介

📝 学技术、更要掌握学习的方法,一起学习,让进步发生 👩🏻 作者:一只IT攻城狮 ,关注我,不迷路 。 💐学习建议:1、养成习惯,学习java的任何一个技术…

前端基础3——JavaScript基础用法

文章目录 一、基本使用1.1 内部方式1.2 外部导入方式1.3 css标签调用js脚本(触发事件) 二、Windows对象2.1 对象属性2.2 对象方法 三、数据类型3.1 字符串处理3.2 数组处理3.3 对象处理 四、流程控制4.1 操作符4.2 if判断语句4.3 for循环语句4.4 continu…

基于nRF52840 Dongle配合Wireshark对Mesh网络抓包并解析(Nordic)

Mesh网络抓包解析 准备说明配置过滤解密分析 准备 1)nRF52840 Dongle 2)Mesh节点 3)手机作为配网器(苹果手机安装nRF Mesh APP) 说明 1)节点使用的例程目录:nrf5sdkformeshv500src\examples\…

手机录屏方法推荐,3种方法带你玩转

随着智能手机的普及,录制手机屏幕已经成为我们在日常生活中和工作中经常需要进行的操作。有时候,我们想录制一段手机游戏的精彩瞬间或者与朋友分享手机操作的技巧。因此,找到一种方便、简单的手机录屏方法变得尤为重要。本文将介绍手机录屏的…

【IEEE会议】第五届信息与计算机前沿技术国际学术会议(ICFTIC 2023)

第五届信息与计算机前沿技术国际学术会议(ICFTIC 2023) 2023 5th International Conference on Frontiers Technology of Information and Computer 第五届信息与计算机前沿技术国际学术会议(ICFTIC 2023)将在中国青岛举行, 会期是2023年11月17-19日,…

(已解决)ModuleNotFoundError: No module named ‘braceexpand‘

问题描述 import braceexpand, yaml ModuleNotFoundError: No module named braceexpand 解决办法 pip install braceexpand 参考链接https://www.roseindia.net/answers/viewqa/pythonquestions/52026-ModuleNotFoundError-No-module-named-braceexpand.html 其他问题-1 im…

安全狗陈奋:数据安全需要建立在传统网络安全基础之上

8月22日-23日,由创业邦主办的“2023 DEMO WORLD 企业开放式创新大会”在上海顺利举办。 作为国内云原生安全领导厂商,安全狗受邀出席此次活动。 厦门服云信息科技有限公司(品牌名:安全狗)成立于2013年,致力…

钢筋水泥中的信仰--爱摸鱼的美工(16)

好久没有更新了,爱摸鱼的美工摸鱼太久可,终于出了一起钢筋水泥中的信仰,希望人们更加坚定个人的信仰。

Pandas 2.1发布了

2023年3月1日,Pandas 发布了2.0版本。6个月后(8月30日),更新了新的2.1版。让我们看看他有什么重要的更新。 更好的PyArrow支持 PyArrow是在Panda 2.0中新加入的后端,对于大数据来说提供了优于NumPy的性能。Pandas 2.1…

【RabbitMQ】服务启动成功,无法访问localhost:15672(RabbitMQ Management)

问题描述 RabbitMQ 服务已经启动成功,已经安装rabbitmq_management插件,无法访问RabbitMQ Management(http://localhost:15672/)。 原因分析 15672端口被Microsoft Edge占用。 解决方案 打开cmd终端,输入指令&#…

超声波气象站的功能和作用

超声波气象站是一种先进的测量气象要素的设备,其功能和作用在许多领域中都得到了广泛的应用。下面将从功能和作用两个方面来详细介绍超声波气象站。 一、超声波气象站的功能 ①测量各种气象要素 超声波气象站可以测量多种气象要素,包括温度、湿度、气…

Spark 环境安装与案例演示

Spark 环境安装 一、准备工作 1、hadoop成功安装 2、防火墙关闭 二、解压安装 1、上传 spark 安装包到/tools 目录,进入 tools 下,执行如下命令: tar -zxvf spark-2.1.0-bin-hadoop2.7.tgz -C /training/由于 Spark 的脚本命令和 Hadoop…