springmvc自定义拦截器的实现步骤

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/u011422624/article/details/102725763

一、自定义类

    1.1: 继承HandlerInterceptorAdapter这个抽象类

        MyInterceptor extends HandlerInterceptorAdapter

    1.2:实现HandlerInterceptor这个接口

        MyInterceptor implements HandlerInterceptor

    1.3:不管你使用的是上面的哪种方式,必须重写三个方法

        

          afterCompletion():当跳转完页面之后执行,也就是请求已经通过view跳转到了前台页面

          postHandle():当请求已经进入了控制层,但是还没有跳转页面,这个时候会执行

          preHandle():当请求进入控制层之前会执行

                                   当该方法返回true的时候,继续执行;返回false的时候,直接请求结束

二、配置文件

        在spring-mvc的配置文件中加入这一段配置

   <!-- 配置自定义拦截器 -->

    <mvc:interceptors>

        <!--配置拦截器, 多个拦截器,顺序执行 -->

        <mvc:interceptor>

            <!-- 匹配的是url路径, 如果不配置或/**,将拦截所有的Controller,所有的path路径必须以斜线(/)开头,否则拦不住 -->

            <!-- <mvc:mapping path="/" />

            <mvc:mapping path="/user/**" />

            <mvc:mapping path="/test/**" /> -->

            <mvc:mapping path="/*.do" />

            <!-- 加载的是自定义拦截器的包名、类名 -->

            <bean class="common.interceptor.MyInterceptor"></bean>

        </mvc:interceptor>

        <!-- 当设置多个拦截器时,先按顺序调用preHandle方法,然后逆序调用每个拦截器的postHandle和afterCompletion方法 -->

    </mvc:interceptors>

猜你喜欢

转载自blog.csdn.net/u011422624/article/details/102725763