У меня есть такой веб-сайт, как http://example.com, и на моем веб-сайте много URL-адресов (http://example.com/a, /ab, /abc и т. д.).
Также предположим, что в моем файле ресурсов в весеннем загрузочном проекте есть много файлов просмотра (x.html, y.html и т. д.).
Я развернул его в Tomcat9 на сервере Centos.
Я хочу построить что-то вроде:
Есть несколько способов: справиться с этим в Interceptor классе, Filter классе, а также @ControllerAdvice сделать часть того, что я хочу (я построил).
Поэтому я никогда не хочу показывать ошибку HTTP на своем веб-сайте. Если у него есть ошибка HTTP, перенаправьте его на мою страницу x.hmtl, иначе обработайте обычный поток Req-Resp.
Каков наилучший способ построить его? Что ты посоветуешь?




Попробуйте так,
@ControllerAdvice
public class ExceptionController {
@ExceptionHandler(Exception.class)
public ModelAndView handleError(HttpServletRequest request, Exception e) {
Logger.getLogger(getClass().getName()).log(Level.SEVERE, "Request: " + request.getRequestURL() + " raised " + e);
return new ModelAndView("error");
}
@ExceptionHandler(NoHandlerFoundException.class)
public ModelAndView handleError404(HttpServletRequest request, Exception e)
{
Logger.getLogger(getClass().getName()).log(Level.SEVERE, "Request: " + request.getRequestURL() + " raised " + e);
return new ModelAndView("404");
}
}
Я знаю этот способ. Но мы не можем поймать и перенаправить на страницу, если статус ответа HTTP равен 400 (неверный запрос). Спасибо.