(拦截器)学习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 小时前
海思Linux(一)-Hi3516CV610的开发-ubuntu22_04环境创建
linux·单片机·学习·华为
跳跳的向阳花2 小时前
02、Docker学习,理论知识,第二天:基础概念与常用命令
学习·docker·容器
PyAIGCMaster2 小时前
Docker学习记录:安装nginx
学习·nginx·docker
Lumos_yuan2 小时前
Lumos学习王佩丰Excel二十四讲系列完结
学习·excel·教程总结
东京老树根2 小时前
Excel 技巧02 - 如何批量输入百分号 (★),如何输入百分号并指定小数位数,如何批量删除百分号,如何批量删除小数最后的0?
笔记·学习·excel·vba
don't_be_bald3 小时前
数据结构与算法-顺序表
c语言·开发语言·数据结构·学习·链表
IT古董3 小时前
【机器学习】机器学习的基本分类-自监督学习(Self-supervised Learning)
人工智能·学习·机器学习·分类
哦豁灬3 小时前
CANN 学习——基于香橙派 KunpengPro(1)
学习·昇腾·cann
练小杰4 小时前
Linux 文件的特殊权限—ACL权限控制
linux·运维·服务器·经验分享·学习·ubuntu
mit6.8245 小时前
[Qt] 信号和槽(2) | 多对多 | disconnect | 结合lambda | sum
linux·前端·c++·qt·学习