第9章:SpringMVC的拦截器

news2025/1/17 5:48:50

一、拦截器

1.拦截器的配置

  • SpringMVC中的拦截器用于拦截控制器方法的执行
  • SpringMVC中的拦截器需要实现HandlerInterceptor
  • SpringMVC的拦截器必须在SpringMVC的配置文件进行配置

①创建拦截器,继承接口HandlerInterceptor.

@Component
public class FirstInterceptor implements HandlerInterceptor {
   @Override
   public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
      return false;//拦截
   }
   @Override
   public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {

   }
   @Override
   public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {

   }
}

 ②在springMVC配置文件里配置拦截器

<!--拦截器1 拦截所有的请求-->
<mvc:interceptors>
    <bean class="com.atguigu.interceptor.FirstInterceptor"></bean>
</mvc:interceptors>

 <!--拦截所有的请求,除了/-->

<!--拦截器2 拦截所有的请求-->
<mvc:interceptors>
    <mvc:interceptor>
        <!--拦截所有的请求,除了/-->
        <mvc:mapping path="/**"/>
        <mvc:exclude-mapping path="/"/>
        <ref bean="firstInterceptor"></ref>
    </mvc:interceptor>
</mvc:interceptors>

2.拦截器的三个抽象方法

①preHandle:控制器方法执行之前执行preHandle()。preHandle方法返回true放行,调用控制器方法。返回False拦截,不调用控制器方法。

②postHandle:控制器方法执行之后执行postHandle()

③afterComplation:处理完视图和模型数据,渲染视图完毕之后执行afterComplation

3.多个拦截器的执行顺序

若每个拦截器的preHandle()都返回true

此时多个拦截器的执行顺序和拦截器在SpringMVC的配置文件的配置顺序有关:

preHandle()会按照配置的顺序执行,而postHandle()和afterComplation()会按照配置的反序执行

若某个拦截器的preHandle()返回了false

preHandle()返回false和它之的拦截器的preHandle()都会执行,postHandle()都不执行,返回false的拦截器之前的拦截器的afterComplation()会执行

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

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

相关文章

深入理解Linux虚拟内存管理(五)

系列文章目录 Linux 内核设计与实现 深入理解 Linux 内核&#xff08;一&#xff09; 深入理解 Linux 内核&#xff08;二&#xff09; Linux 设备驱动程序&#xff08;一&#xff09; Linux 设备驱动程序&#xff08;二&#xff09; Linux 设备驱动程序&#xff08;三&#xf…

面试银行测试岗,面试官问你网上银行转账是怎么测的,设计一下测试用例?你知道吗

目录 前言 1、网上银行转账是怎么测的&#xff0c;设计一下测试用例回答思路: 2.测试工作的流程?缺陷状态有什么?设计测试用例有几种方法? 3在项目中到的经典BUG是什么? 4、定期存款到期自动转存该怎么测? 5、登录功能如何设计测试用例?功能测试(FunctionTest) 6、…

上海亚商投顾:创业板指续创新低 AI概念股逆势大涨

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 市场情绪 大小指数今日走势分化&#xff0c;沪指全天横盘震荡&#xff0c;创业板指低开低走&#xff0c;午后一度跌近2%&…

低代码最真实的反馈是什么样的?

一、前言 业内大V陈果曾吐槽&#xff1a;“低代码正在以比中台更快的速度在臭大街”&#xff0c;但在另一方面&#xff0c;微软/华为/百度/网易/腾讯/阿里等互联网巨头又在纷纷入局低代码&#xff0c;并推出了自己的低代码平台。 所以&#xff0c;有人说好&#xff0c;但却又有…

《计算机组成原理》期末考试手写笔记——模块二:计算机数据表示方法

目录 &#xff08;一&#xff09;知识点总结 知识点一&#xff1a;进制表示 知识点二&#xff1a;进制转换 1.基本进制转换计算 &#xff08;1&#xff09;二进制数转八进制 &#xff08;2&#xff09;二进制数转十六进制 &#xff08;3&#xff09;二进制数转十进制 &…

Redis从入门到精通【高阶篇】之底层数据结构压缩列表(ZipList)详解

&#x1f44f; 简介&#xff1a;大家好&#xff0c;我是冰点&#xff0c;从业11年&#xff0c;目前在物流独角兽企业从事技术管理和架构设计方面工作&#xff0c;之前的把博客作为技术流水账在写。现在准备把多年的积累整理一下&#xff0c;成体系的分享给大家&#xff0c;也算…

阿里巴巴最新开源“SpringSecurity手册”用户+案例+认证+框架,面面俱到太全了

pringSecurity 相信Spring大家一定不陌生&#xff0c;那么SpringSecurity你又了解多少呢&#xff1f;市面上有关Spring的介绍有很多&#xff0c;那么对于SpringSecurity只有一些简单的有关概念的介绍&#xff0c;如果想深入了解并使用SpringSecurity还是需要下很大的功夫的&am…

Python爬取广州、深圳、河源、惠州四个城市天气数据,并作数据可视化

本文爬取的网站是天气,天气预报查询,24小时,今天,明天,未来一周7天,10天,15天,40天查询_2345天气王 1.爬取广惠河深2022-2024年的数据 import requests # 发送请求要用的模块 需要额外安装的 import parsel import csvf open(广-惠-河-深天气.csv, modea, encodingut…

【自学网安必看】自学网络安全遇到的问题及解决方法!

自学网络安全很容易学着学着就迷茫了&#xff0c;找到源头问题&#xff0c;解决它就可以了&#xff0c;所以首先咱们聊聊&#xff0c;学习网络安全方向通常会有哪些问题&#xff0c;看到后面有惊喜哦 1、打基础时间太长 学基础花费很长时间&#xff0c;光语言都有几门&#x…

STM32 HAL库开发——入门篇(1)

目录 一、GPIO 1.1 什么是GPIO 1.2 GPIO简介 1.2.1 GPIO特点 1.2.2 GPIO电气特性 1.2.3 GPIO引脚分布 1.3 IO端口基本结构介绍 1.4 GPIO的八种模式 1.5 GPIO的寄存器介绍 1.6 通用外设驱动模型&#xff08;四步法&#xff09; 1.7 GPIO配置步骤 1.8 编程实战…

用Notes打造一个资讯中心

大家好&#xff0c;才是真的好。 有一段时间&#xff0c;我介绍过&#xff0c;从Domino 10版本开始&#xff0c;LotusScript增强了网络数据访问和JSON解析功能等&#xff0c;从而可以从网上获取很多资讯&#xff0c;例如即时新闻、股市资讯等等。 例如我们采用Notes内置的讨论…

多线程-线程安全的懒汉式_死锁-ReentrantLock的使用

线程安全的懒汉式_死锁-ReentrantLock的使用 解决单例模式中的懒汉式的线程安全问题 解决单例模式中的懒汉式的线程安全问题> 饿汉式&#xff1a;不存在线程安全问题。 > 懒汉式&#xff1a;存在线程安全问题&#xff0c;&#xff08;需要使用同步机制来处理&#xff0…

案例39:基于Java办公自动化管理系统开题报告设计

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

Spring架构篇--2.7.3 远程通信基础--Netty原理--bind实现端口的绑定

前言&#xff1a;在对ServerBootstrap 进行属性赋值之后&#xff0c;通过bind 方法完成端口的绑定&#xff0c;并开始在NioEventLoop中进行轮询进行事件的处理&#xff1b;本文主要探究ServersocketChannel 在netty 中是如何完成注册&#xff0c;以及端口的绑定 1 Nio selecto…

两个月涨粉90万,B站内容风向又有新指示?

6月1日&#xff0c;B站公布了2023年第一季度财报。 财报中显示第一季度&#xff0c;B站日均活跃用户达9370万&#xff0c;同比增长18%。用户日均使用时长96分钟&#xff0c;日均视频播放量达41亿&#xff0c;其中&#xff0c;本季度B站Story-Mode竖屏视频日均播放量同比增长82…

网络安全怎么学?才不会成为脚本小子?

一&#xff0c;怎么入门&#xff1f; 1、Web 安全相关概念&#xff08;2 周&#xff09; 了解网络安全相关法律法规 熟悉基本概念&#xff08;SQL 注入、上传、XSS、CSRF、一句话木马等&#xff09;。 通过关键字&#xff08;SQL 注入、上传、XSS、CSRF、一句话木马等&#…

Python使用WMI模块获取Windows系统的硬件信息,并使用pyinstaller库编译打包成exe的可执行文件

引言 今天给大家分享一篇有关Python和Windows系统的文章。你有没有想过如何获取Windows系统的硬件信息&#xff1f;或者你是否曾经尝试过将Python脚本编译打包成可执行文件&#xff1f;如果你对这些问题感兴趣&#xff0c;那么这篇文章一定适合你。 背景 由于公司现阶段大多…

软件兼容性测试怎么进行?兼容性测试有什么作用?

随着软件的不断更新和升级&#xff0c;兼容性测试也逐渐成为了软件测试的一项重要内容。那么&#xff0c;软件兼容性测试到底是什么?怎么进行?又有什么作用呢? 一、什么是软件兼容性测试? 软件兼容性测试是指在不同的操作系统、硬件设备、浏览器等多个环境下测试软件的可…

VulnHub项目:Hogwarts:Bellatrix

靶机地址&#xff1a;Hogwarts: Bellatrix ~ VulnHub 哈利波特系列~有趣~~~ 渗透过程&#xff1a; 首先获取靶机ip地址 对其端口探测 访问web端口&#xff0c;发现了小天狼星的堂姐Bellatrix Lestrange贝拉特里克斯莱斯特兰奇那个疯狂的女人&#xff01;&#xff01;&#x…

天涯直播筹资300万,七天仅赚14.99万,重启计划岌岌可危

我是卢松松&#xff0c;点点上面的头像&#xff0c;欢迎关注我哦&#xff01; 天涯前天涯社区总编直播卖货欲筹300万&#xff0c;重启天涯。直播七天七夜只赚了14.99万。对于普通人来说&#xff0c;这收入真的是望尘莫及了&#xff0c;但对于天涯来说杯水车薪。 也许天涯部分…