У меня есть приложение, и поэтому web.xml. В web.xml я настроил страницу ошибки, как показано нижетег error-page не отображается соответствующая страница ошибки, когда запрос поступает как forward
<error-page>
<error-code>404</error-code>
<location>/error/err404.jsp</location>
</error-page>
выше вещь работает отлично для URI, который не существует в web.xml.
For Eg:
1. localhost:8080/appName/testServlet (Exists in web.xml)
2. localhost:8080/appName/testServletXXX (Not exists)
Оба URLs работают отлично (первый URL предоставляет актуальную страницу, второй URL делает err404.jsp), когда я вхожу URLs непосредственно в браузере.
Когда я перенаправляю запрос на uri «testServlet», он отлично работает, поскольку он существует в web.xml. Проблема возникает, когда uri (testServletXXX) не существует в web.xml. Если Ури не существует в web.xml, он не делает err404.jsp ошибку вместо этого она рендеринга:
HTTP Status 404 - /appName/xxxx
type Status report
message /appName/xxxx
description The requested resource is not available.
Apache Tomcat/7.0.32
, который от кота.
Ниже приведен код для запроса на пересылку.
ServletContext scRoot = getServletConfig().getServletContext().getContext("/appName");
rd = scRoot.getRequestDispatcher("testServlet");
rd.forward(request, response);
Почему ошибка-страница не делает err404 страницы для Ури, не существует в web.xml. Это происходит особенно в случае пересылки. Я не могу это понять. Я пропустил любую концепцию/логику. Цените любую помощь. Заранее спасибо.
Не могли бы вы показать пример такого URL-адреса (абсолютный или относительный?) –
Спасибо за ответ Serge, теперь я отредактировал сообщение. Просто проверьте это. Благодарю. – venky
Не уверен, что этого достаточно, но javadoc для ServletContext говорит: * Путь должен начинаться с/и интерпретируется как относительно текущего корня контекста *: попробуйте использовать ''/testServlet ''. Если у вас не более одного ServletContext, 'ServletContext scRoot = getServletConfig(). GetServletContext();' должно быть достаточно. И вы должны проверить, что 'rd' не равно null. –