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;
    }
這樣就能順利執行攔截器了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章