本人使用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;
}
这样就能顺利执行拦截器了