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

相关推荐
坚持是一种态度2 小时前
软考高级架构师选择题知识点高频100
学习·架构师·软考·考试
yxc_inspire2 小时前
25年CCPC福建邀请赛补题
学习·算法
Slow菜鸟2 小时前
Skill 学习篇(十)| 编排框架 · 五大编排框架 · 全方位决策指南
学习
倒霉熊dd3 小时前
Python学习(第一部分 语法与数据结构/核心基础)
大数据·python·学习·pip
星夜夏空993 小时前
STM32单片机学习(3)——前置知识学习
stm32·单片机·学习
Shadow(⊙o⊙)5 小时前
初识Qt+经典方式实现hello world!的交互
开发语言·c++·后端·qt·学习
星夜夏空995 小时前
STM32单片机学习(5) —— STM32的一些名词解释
stm32·单片机·学习
拾2145 小时前
小论文中使用他人文章图表的权限获取
学习
GEO从入门到精通5 小时前
GEO课程的学习路径应该怎么规划?
人工智能·学习
炽烈小老头5 小时前
【 每天学习一点算法 2026/05/08】最小覆盖子串
学习·算法