Как отключить прямой доступ к моей пользовательской странице ошибок, которая реализована с помощью сервлета?
web.xml
:
<web-app ...>
<!-- ... -->
<servlet>
<servlet-name>ErrorPage</servlet-name>
<servlet-class>org.example.ErrorPage</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ErrorPage</servlet-name>
<url-pattern>/custom-error-page</url-pattern>
</servlet-mapping>
<error-page>
<location>/custom-error-page</location>
</error-page>
</web-app>
Эта конфигурация работает для отображения страниц ошибок, когда есть ошибки. Тем не менее, я могу получить прямой доступ к странице ошибки (например, на http://localhost:8080/myapp/custom-error-page
), что нежелательно. Есть ли способ предотвратить прямой доступ к странице ошибки?
Чтобы решить эту проблему, я подумал о переносе кода из org.example.ErrorPage
в файл JSP (например, errorpage.jsp
), помещенный в * Каталог 1012 * и настройка web.xml
с помощью:
<error-page>
<location>/WEB-INF/errorpage.jsp</location>
</error-page>
Хотя это успешно предотвращает прямой доступ пользователей к странице ошибки, это не идеально, поскольку файл JSP будет засорен большим количеством Java код.
Как я могу запретить пользователям прямой доступ к страницам ошибок?