当没有登陆时,点击添加购物车时,ajax会被拦截器拦住
@Configuration
public class WebAppConfigurer implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new HandlerInterceptor() {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws IOException {
if (request.getSession().getAttribute("user") == null) {
if (request.getHeader("x-requested-with") != null && request.getHeader("x-requested-with").equalsIgnoreCase("XMLHttpRequest")) { //如果是ajax请求响应头会有x-requested-with
System.out.println("ajax请求被拦截");
response.getWriter().print("loseSession");
return false;
}
System.out.println("已拦截");
response.sendRedirect("/login");
return false;
}
return true;
}
}).addPathPatterns("/**/myTaobao", "/**/addToCart");
}
}