SpringMVC--拦截器

1.创建一个自定义的拦截器

  (1) 实现HandlerInterceptor接口

public class interceptor1 implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        return true;
    }

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

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

  (2) 在springmvc.xml中配置

<mvc:interceptors>
    <!--配置自定义的拦截器-->
    <bean class="interceptor.interceptor1"></bean>
    <!--配置LocaleChangeInterceptor-->
    <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"></bean>
</mvc:interceptors>

2. HandlerInterceptor接口的三个方法

(1) 执行顺序图
在这里插入图片描述
(2)

	preHandle:该方法在目标方法之前被调用,若返回值为 true, 则继续调用后续的拦截器和目标方法 ,若返回值为 false, 则不会再调用后续的拦截器和目标方法可以用来做权限. 日志, 事务等 
	postHandle:调用目标方法之后, 但渲染视图之前,可以用来对请求域中的属性或视图做出修改
    afterCompletion:渲染视图之后被调用,可以用来释放资源

3.配置拦截器作用的路径

<mvc:interceptor>
    <mvc:mapping path="/person"/>
    <bean class="interceptor.interceptor2"></bean>
</mvc:interceptor>
发布了121 篇原创文章 · 获赞 45 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_41596568/article/details/102573704