SpringMVC拦截器

1,编写拦截器类

package com.inspur.tax.permission.login;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;

public class LoginInterceptor extends HandlerInterceptorAdapter {

    @Override
    public boolean preHandle(HttpServletRequest request,
            HttpServletResponse response, Object handler) throws Exception {
        // TODO Auto-generated method stub
        System.out.println("--------------------------------");
        return super.preHandle(request, response, handler);
    }
    
}

2,配置拦截器

    <mvc:interceptors>
        <mvc:interceptor>
            <mvc:mapping path="/**"/>
            <bean class="com.inspur.tax.permission.login.LoginInterceptor"></bean>
        </mvc:interceptor>
    </mvc:interceptors>

这里面有个问题,前端控制器与拦截器之间有个先后关系。

拦截器拦截的请求是建立在前端控制器配置之下的,若DispatcherServlet拦截的是*.action,则拦截器即使配置 /**,则拦截器拦截的也只是所有 *.action的请求。若DispatcherServlet拦截的是 /,则拦截器配置 /**才是拦截所有资源。

拦截器执行顺序:

原文地址:https://www.cnblogs.com/caozx/p/10186081.html