首页 > 其他分享 >过滤器和拦截器的使用

过滤器和拦截器的使用

时间:2022-09-02 19:23:16浏览次数:60  
标签:拦截器 请求 不同 用户 使用 过滤器

过滤器和拦截器的使用

拦截器应用场景
拦截器本质上是面向切面编程(AOP),符合横切关注点的功能都可以放在拦截器中来实现,主要的应用场景包括:

登录验证,判断用户是否登录。
权限验证,判断用户是否有权限访问资源,如校验token
日志记录,记录请求操作日志(用户ip,访问时间等),以便统计请求访问量。
处理cookie、本地化、国际化、主题等。
性能监控,监控请求处理时长等。
通用行为:读取cookie得到用户信息并将用户对象放入请求,从而方便后续流程使用,还有如提取Locale、Theme信息等,只要是多个处理器都需要的即可使用拦截器实现)
过滤器应用场景
1)过滤敏感词汇(防止sql注入)
2)设置字符编码
3)URL级别的权限访问控制
4)压缩响应信息
过滤器和拦截器的区别
区别 过滤器 拦截器
1.实现方式不同 函数调用 基于Java的反射机制(动态代理)实现的
2.适用范围不同 依赖tomcat只能用于web程序中 一个spring组件可以单独使用
3.触发机制不同 进入容器之后servlet之前 servlet之后controller之前
4.请求拦截范围不同 所有进入容器的请求 Controller中请求或访问static目录下的资源请求起作用
5.注入bean的不同 拦截器加载的时间点在springcontext之前
6.控制执行顺序不同 order int值越小 级别越高 按照拦截器注入顺序

标签:拦截器,请求,不同,用户,使用,过滤器
From: https://www.cnblogs.com/ewindstorm/p/16650981.html

相关文章

  • HiveSql调优系列之Hive严格模式,如何合理使用Hive严格模式
    目录综述1.严格模式1.1参数设置1.2查看参数1.3严格模式限制内容及对应参数设置2.实际操作2.1分区表查询时必须指定分区2.2orderby必须指定limit2.3限制笛卡尔积3.搭......
  • <dependencyManagement>正确使用方法 多个子项目都引用同一样依赖,则可以避免在每个使用
    <dependencyManagement>正确使用方法dependencyManagement正确使用方法一、介绍Maven中的dependencyManagement元素提供了一种管理依赖版本号的方式。在dependencyMan......
  • 使用JavaConfig实现配置
    @Configuration在一个类上加了@Configration之后就类似<beans><beanid="xxx" class="xxxxxx"/></beans>这个也会被Spring容器托管,注册到容器中,因为他本来就是一个@......
  • 07_Linux基础-计划任务-备份脚本-变量定义和使用
    @目录07_Linux基础-计划任务-备份脚本-变量定义和使用一.计划任务cronat二.计划任务练习-备份脚本计划任务实验重定向练习总结三.黑客-计划任务四.变量定义和使用07_L......
  • pyqt5控件使用方法
    一)消息框(QMessageBox)一、提供的类型QMessageBox.information信息框QMessageBox.question问答框QMessageBox.warning警告QMessageBox.ctitical危险......
  • Transition 初步使用
    TransitionVue提供了transition的封装组件,在下列情形中,可以给任何元素和组件添加进入/离开过渡:条件渲染(使用v-if)条件展示(使用v-show)动态组件组件根节点......
  • paramiko模块使用
    该模块基于ssh用于连接远程服务器并执行相关操作。SSHClient用于连接远程服务器并执行基本命令pip3installparamiko #基于用户名和密码importparamiko#......
  • gzip 介绍和使用
    gzip介绍和使用用法gzip[OPTION]...[FILE]...常用参数-d--decompress解压-c--stdout保留原始文件,把压缩/解压流重定向到新文件(如:gzip-caa>aa.gz)-l......
  • optparse模块使用
    #!/usr/bin/envpython3#-*-coding:utf-8-*-#python中有两个内建模块用来处理命令行参数:getpot、optparse。#optparse模块主要用来为脚本传递命令参数,采用预定......
  • Docker 个人使用的一些镜像及记录
    Docker修改源创建或修改/etc/docker/daemon.json文件{"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]}Docker中国区官方镜像https://regist......