我试着从Spring MVC 3.0 HandlerInterceptors。春天3.0 MVC处理程序拦截器不工作
下面是我的拦截
public class SessionInterceptor extends HandlerInterceptorAdapter {
@Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("inside preHandle");
if(request.getSession().getAttribute(SessionConsta nts.USER_SESSION_NAME) == null) {
response.sendRedirect("welcome");
return false;
}
return true;
}
}
下面是我的配置在我的XML
<mvc:annotation-driven/>
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/services/*"/>
<bean class="com.ca.myca.interceptors.SessionInterceptor " />
</mvc:interceptor>
</mvc:interceptors>
但拦截器是没有得到调用。
请让我知道我是否缺少任何东西。
我试过了,但还是不行。但是,如果我以下面的方式使用.. mvc:interceptors> ...拦截器正在为所有请求调用。但我想限制它到一些特定的请求。 –
gnreddy
'/ services'部分 - 是您应用程序的上下文吗?因为你不必在拦截器映射中指定它。在映射路径中,您只需将表达式放入控制器请求映射值 - @RequestMapping(value =“...”)' – Laimoncijus
我的上下文路径是myca。我在我的控制器类的@Controller注释中提到了“/ services”。我在控制器 – gnreddy