2
是否有可能獲得響應狀態代碼,告訴應用程序是否應該使用帶有preHandle方法的HTTP 404進行響應Spring MVC攔截器。獲取響應狀態代碼告訴請求是否應該在Spring MVC攔截器preHandle方法內用HTTP 404進行響應
因爲下面的代碼將導致每一個無效的請求到登錄頁面重定向:
public class SecurityInterceptor extends HandlerInterceptorAdapter {
private static final Log LOG = LogFactory.getLog(SecurityInterceptor.class);
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
LOG.info("Interceptor: Pre-handle");
HttpSession session = request.getSession();
String urlPath = request.getRequestURI();
String contextPath = request.getContextPath();
String relativePath = urlPath.replaceFirst(contextPath, "");
if (!relativePath.equals("/signin") && !relativePath.equals("/register")) {
if (session == null || session.getAttribute("curUser") == null) {
//redirect to signin
response.sendRedirect(contextPath + "/signin");
return false;
}
}
return true;
}
}
不清楚你想要什麼。應該發送404而不是重定向嗎? – zeroflagL
是的,這就是我想要的。 –