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

相关推荐
微露清风5 小时前
系统性学习Linux-第二讲-基础开发工具
linux·运维·学习
阳光九叶草LXGZXJ5 小时前
达梦数据库-学习-48-DmDrs控制台命令(同步之Manager、CPT模块)
linux·运维·数据库·sql·学习
biuyyyxxx6 小时前
Python自动化办公学习笔记(一) 工具安装&教程
笔记·python·学习·自动化
丝斯20117 小时前
AI学习笔记整理(66)——多模态大模型MOE-LLAVA
人工智能·笔记·学习
军军君018 小时前
Three.js基础功能学习十三:太阳系实例上
前端·javascript·vue.js·学习·3d·前端框架·three
bylander9 小时前
【AI学习】TM Forum《Autonomous Networks Implementation Guide》快速理解
人工智能·学习·智能体·自动驾驶网络
xxxmine9 小时前
redis学习
数据库·redis·学习
Yff_world10 小时前
网络通信模型
学习·网络安全
野犬寒鸦11 小时前
从零起步学习并发编程 || 第一章:初步认识进程与线程
java·服务器·后端·学习
科技林总11 小时前
【系统分析师】6.3 企业信息化规划
学习