2013-09-05 13 views
0

Я хотел бы сделать все мои страницы ошибок HTTP одинаковыми, чтобы они отображались с использованием темы моих сайтов. Из ящика, похоже, что-то обрабатывают некоторые ошибки и игнорируют других, оставляя их до tomcat, чтобы отобразить их в своем известном формате tomcat 403. Теперь 404, например, обрабатывается спасателем. Он отображается по статусу.jsp и имеет ту же тему, что и остальная часть моего сайта. status.jsp, кажется, поддерживает только несколько сообщений об ошибках, таких как 404 и 500. Моя идея решить это - добавить дополнительные коды ошибок в ROOT/WEB-INF/web.xml, например, 401,403,405 и так далее. Я могу указать все это в Jsp ROOT/ошибки/error.jsp, что делает что-то вродеUniform http error pages

<body onload="javascript:location.replace('http://localhost:8080/c/portal/status?err=<%= pageContext.getErrorData().getStatusCode() %>&uri=<%= pageContext.getErrorData().getRequestURI() %>')"> 

Таким образом я получаю некоторые необходимые данные в status.jsp. И может отображать сообщение, которое содержит как http-код, так и URI, вызвавший его, используя крючок, который переопределяет исходный статус.jsp.

Теперь, это разумный способ достижения одинаковых статусных страниц? Есть ли способ лучше?

+0

Обновите свой Tomcat, есть ошибки в системе безопасности. –

+0

Я не использую эту версию, я просто искал ее, чтобы показать, что я имел в виду. – Robzet

ответ

0

Вы можете определить страницы ошибок в своем web.xml. обратитесь к отдельным контроллерам, которые передали JSP с подготовленными данными. Никогда не используйте скрипты в JSP.

+0

Спасибо за ваш ответ. Как мое решение работает, было бы неплохо, если бы вы могли мотивировать, почему это лучшее решение. – Robzet

+0

Решение Yor - это мешанина всего. С помощью вышеупомянутого шаблона вы получите чистый шаблон MVC. –

 Смежные вопросы

  • Нет связанных вопросов^_^