Пользовательская страница ошибки в Tomcat 7 для кода ошибки 500
Ребята, я борюсь с проблемой открытия моей пользовательской страницы ошибок в Tomcat в среде Windows. Некоторые решения я получил, но не повезло. Я пробовал почти все ссылки, но это не работает для меня. Некоторые из них работают для другого решения, развернутого в Tomcat, но не для моего веб-сервиса
мой web.в XML
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<error-page>
<location>/error.html</location>
</error-page>
Я отправляю ошибку из моего приложения Servlet 3.0
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
Я ошибка.HTML-код в корневой каталог моего веб-сервиса.
некоторые из ссылок, которые я получил для страницы JSP вместо HTML, которые также я пробовал
в случае JSP я использовал:
<%@ page isErrorPage="true" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Error</h1>
</body>
</html>
FYI он отлично работает для другого встроенного решения Tomcat, оно работает отлично. Но в моем веб-сервиса Я получаю ответ 500, но страница открывается пустой. И еще одна вещь, которую я отключил мой Internet Explorer 9.0 показать ошибку дружественная страница по-прежнему ответ приходит 500 от сервлет. Но страница ошибки пуста.
Если какая-либо идея или какие-либо сомнения по поводу моего запроса просто дайте мне знать. Мне нужно это как можно скорее.
2 ответов
Попробуйте поместить следующий фрагмент в свой WEB-INF/web.xml
<error-page>
<error-code>500</error-code>
<location>/Error.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/Error.jsp</location>
</error-page>
в этом случае Error.jsp
находится на том же уровне, что и (не внутри него).
то же самое можно реализовать программно, если вы используете встроенный Tomcat, например, так:
Context appContext = ...
ErrorPage errorPage = new ErrorPage();
errorPage.setErrorCode(HttpServletResponse.SC_NOT_FOUND);
errorPage.setLocation("/my_custom_error_page.html");
appContext.addErrorPage(er);