Возможно ли получить код состояния ответа, если запрос должен отвечать HTTP 404 с помощью метода preHandle внутри Перехватчик Spring MVC.получить код состояния ответа, сообщает, должен ли запрос отвечать HTTP 404 внутри метода предварительной пересылки Spring MVC Interceptor
Поскольку следующий код приведет к перенаправлению каждых недопустимым запросов на страницу входа:
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
Да, это то, чего я хочу. –