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

相关推荐
GHL2842710901 小时前
RAG相关问题整理学习
学习·ai
知识分享小能手5 小时前
MongoDB入门学习教程,从入门到精通,MongoDB创建、更新和删除文档(3)
数据库·学习·mongodb
诗句藏于尽头5 小时前
基于GPT2的底模微调实现微信聊天风格模仿输出
学习·微信
%小农5 小时前
学习cursor
学习
还是做不到嘛\.6 小时前
DVWA靶场-Brute Force
运维·服务器·数据库·学习
chudonghao6 小时前
[UE学习笔记][基于源码] 理解 Gameplay
c++·笔记·学习·ue5
Nan_Shu_6147 小时前
学习:Cesium (4)
前端·学习
炽烈小老头7 小时前
【 每天学习一点算法 2026/03/25】在排序数组中查找元素的第一个和最后一个位置
学习·算法
movigo7_dou7 小时前
关于光与重建方法的学习3.25
学习
AI-Ming8 小时前
程序员转行学习AI大模型:位置编码
人工智能·神经网络·学习