springMVC拦截器失效的问题

本人使用springmvc的如下写法

<mvc:interceptors>
        <mvc:interceptor>
            拦截所有URL中包含/user/的请求
            <mvc:mapping path="/*.do" />
            <bean class="com.omd.pc.interceptor.LoginInterceptor"></bean>
        </mvc:interceptor>
    </mvc:interceptors>

完全没有任何作用,根本没有进入拦截器

于是改换为一下写法!

<bean
        class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
        <property name="interceptors">
            <list>
                <bean class="com.omd.pc.interceptor.LoginInterceptor"></bean>
            </list>
        </property>
    </bean>

声明为bean

,同时拦截器的写法和以前一样

@Component
public class LoginInterceptor extends HandlerInterceptorAdapter {

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
            throws Exception {
        HttpServletRequest req = (HttpServletRequest) request;
        HttpServletResponse res = (HttpServletResponse) response;
        // 获取请求的URL
        String url = req.getRequestURI();
        System.out.println("拦截器拦截请求:"+url);
        return true;
    }
这样就能顺利执行拦截器了

猜你喜欢

转载自blog.csdn.net/weixin_40886648/article/details/84935784