(拦截器)学习SpringMVC的第三天

一 .拦截器简介

拦截器的几个处理阶段

二 . 拦截器快速入门

2.1 实现拦截器接口

java 复制代码
public class MyInterceptor1 implements HandlerInterceptor {

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        System.out.println("MyInterceptor1...preHandle");
        return true; //是否放行  true放行
    }

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
        System.out.println("MyInterceptor1...postHandle");
    }

    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
        System.out.println("MyInterceptor1...afterCompletion");
    }
}

2.2 在spring-mvc.xml里配置

XML 复制代码
<!--    配置拦截器-->
    <mvc:interceptors>
        <mvc:interceptor>
         <!--对哪些请求路径进行拦截            -->
           <mvc:mapping path="/**"/>
            <bean class="com.itheima.interceptors.MyInterceptor1"></bean>
        </mvc:interceptor>
    </mvc:interceptors>

三. 拦截器的执行顺序

第一种情况

第二种情况

来解释一下 : 当任意一个preHandle不执行时 , Handle处理器(即@contrller)就不执行了 , 所以postHandle就不执行了 , (可以认为Handler与PostHandlder绑定)

后面只执行前面已经执行过的preHandle对应的afterCompletion .

相关推荐
d111111111d1 小时前
STM32外设学习--DMA直接存储器读取(AD扫描程序,DMA搬运)--学习笔记。
笔记·stm32·单片机·嵌入式硬件·学习
流川_疯3 小时前
CANOE概念与应用
经验分享·笔记·学习·汽车
Elias不吃糖3 小时前
NebulaChat 框架学习笔记:原子变量与左值引用的工程应用
c++·学习
Chloeis Syntax3 小时前
MySQL初阶学习日记(2)--- 数据库的数据类型和表的操作
数据库·学习·mysql
雷工笔记3 小时前
计算机更换硬盘并新装系统
运维·学习
im_AMBER3 小时前
Leetcode 51
笔记·学习·算法·leetcode·深度优先
Radan小哥3 小时前
Docker学习笔记---day001
笔记·学习·docker
大志若愚YYZ4 小时前
嵌入式Linux学习——环境变量与配置文件的关系(⭐难理解)
linux·学习
笨鸟笃行4 小时前
百日挑战——单词篇(第十九天)
学习
诗句藏于尽头5 小时前
TCP、UDP 和串口通信-学习笔记
学习·tcp/ip·udp