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

相关推荐
Chef_Chen3 小时前
从0开始学习语言模型--Day02-如何最大化利用硬件
人工智能·学习·语言模型
LuLaLuLaLeLLLLLL4 小时前
Elastic Search 学习笔记
笔记·学习
Jack魏4 小时前
React学习001-创建 React 应用
前端·学习·react.js
武昌库里写JAVA4 小时前
【微服务】134:SpringCloud
java·开发语言·spring boot·学习·课程设计
暗离子跃迁5 小时前
达梦数据库单机部署dmhs同步复制(dm8->kafka)
linux·运维·数据库·分布式·学习·kafka·达梦数据库
Chef_Chen5 小时前
从0开始学习R语言--Day24--稀疏建模
学习
sealaugh325 小时前
docker(学习笔记第一课) 使用nginx +https + wordpress
笔记·学习·docker
逝水如流年轻往返染尘5 小时前
CSS基础学习1
前端·css·学习
运维小杨6 小时前
linux云计算学习第八周,第九周
linux·学习·云计算
nenchoumi31196 小时前
UE5 学习系列(八)材质基础认知
学习·游戏·ue5·机器人·材质