0
点赞
收藏
分享

微信扫一扫

Day25SSM之SpringMVC拦截器***


SpringMVC拦截器介绍

  • (1)什么是拦截器
    interceptor,是springmvc提供的用来拦截请求的
  • (2)拦截器与过滤器的区别
    filter,是javaEE 提供的用来拦截请求的,所有请求都能拦截
    后者只能拦截控制器的方法
  • Day25SSM之SpringMVC拦截器***_mvc

  • (3)拦截器的三个方法
    HandlerInterceptor接口
    执行顺序
  • (4)拦截器的使用
    》实现HandlerInterceptor接口
    》覆盖重写方法,注意返回值的含义
    》配置拦截器

HandlerInterceptor

//1:实现一个接口HandlerInterceptor
public class Demo01Interceptor implements HandlerInterceptor {
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("preHandle");
return true;
}

public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {

}

public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {

}
}

springmvc.xml

<!--拦截器使用第二步:配置拦截器-->
<mvc:interceptors>
<!--用于测试的拦截器-->
<mvc:interceptor>
<!--拦截路径的配置-->
<mvc:mapping path="/demo05.action"/>
<bean id="interceptor" class="com.wzx.interceptor.Demo01Interceptor"/>
</mvc:interceptor>
</mvc:interceptors>

三个方法的执行顺序

Day25SSM之SpringMVC拦截器***_mvc_02

多个拦截器的执行顺序(了解)

Day25SSM之SpringMVC拦截器***_spring_03

springmvc.xml

<!--拦截器使用第二步:配置拦截器-->
<mvc:interceptors>
<!--用于测试的拦截器-->
<mvc:interceptor>
<!--拦截路径的配置-->
<mvc:mapping path="/demo05.action"/>
<bean id="interceptor1" class="com.wzx.interceptor.Demo01Interceptor"/>
</mvc:interceptor>
<mvc:interceptor>
<!--拦截路径的配置-->
<mvc:mapping path="/demo05.action"/>
<bean id="interceptor2" class="com.wzx.interceptor.Demo02Interceptor"/>
</mvc:interceptor>
<mvc:interceptor>
<!--拦截路径的配置-->
<mvc:mapping path="/demo05.action"/>
<bean id="interceptor3" class="com.wzx.interceptor.Demo03Interceptor"/>
</mvc:interceptor>
</mvc:interceptors>

通配符 *

​/**​​ 任意目录,任意地址


举报

相关推荐

0 条评论