(拦截器)学习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 .

相关推荐
xian_wwq1 小时前
【学习笔记】「大模型安全:攻击面演化史」第 03 篇-数据投毒
笔记·学习·ai安全
.千余3 小时前
【C++】手写双向链表:list容器模拟实现
开发语言·c++·笔记·学习·其他
ysu_03143 小时前
leetcode数据结构与算法1~4
c语言·数据结构·学习·算法·leetcode
暗夜猎手-大魔王4 小时前
hermes源码学习3-Agent Loop 内部机制
人工智能·学习
say_fall4 小时前
可编程中断控制器8259A工作方式超详细解析
android·开发语言·学习·硬件架构·硬件工程
吃好睡好便好4 小时前
说说食物依赖性运动诱发过敏
学习·生活
Amazing_Cacao6 小时前
深度专栏 | 粉碎感官玄学:精品可可的冷酷重构与物理变量
学习
xian_wwq6 小时前
【学习笔记】「大模型安全:攻击面演化史」第 05 篇-Agent安全
笔记·学习·ai安全
坤坤藤椒牛肉面9 小时前
实习日记--基础内容学习
学习
xianrenli389 小时前
【探讨“LLM作为评判者”的伦理】
学习·llm·ai编程