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