Модуль включает в себя файлы ibm-web-bnd. xml и ibm-web-ext. xml. Как показать файл Error. jsp при ошибке 401, 404 et c. случиться? - PullRequest
0 голосов
/ 24 февраля 2020

Я работаю над приложением, в котором есть модуль, содержащий следующие элементы:

ibm-web-bnd. xml и ibm-web-ext. xml файлы

Я пытаюсь показать страницу ошибки как исправление для CWE 345. Я пытался добавить ErrorPage и web. xml к WEB-INF, который вызывает ErrorPage. jsp при ошибке происходит

<web-app id="WebApp_ID" version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    <error-page>
        <!-- Missing login -->
        <error-code>401</error-code>
        <location>/ErrorPage.jsp</location>
    </error-page>
    <error-page>
        <!-- Forbidden directory listing -->
        <error-code>403</error-code>
        <location>/ErrorPage.jsp</location>
    </error-page>
    <error-page>
        <!-- Missing resource -->
        <error-code>404</error-code>
        <location>/ErrorPage.jsp</location>
    </error-page>
    <error-page>
        <!-- Uncaught exception -->
        <error-code>500</error-code>
        <location>/ErrorPage.jsp</location>
    </error-page>
    <error-page>
        <!-- Unsupported servlet method -->
        <error-code>503</error-code>
        <location>/ErrorPage.jsp</location>
    </error-page>
</web-app>

Это не сработало. Я также попытался добавить приведенный выше код в файлы ibm-web-bnd. xml и ibm-web-ext. xml. И я попробовал

<application location="Parent.ear">
    <web-ext moduleName="public" default-error-page="ErrorPage.jsp"/>
</application>

Ничего не помогло.

Будем очень благодарны за любые предложения о том, как отобразить страницу ошибки для указанного выше модуля.

ОБНОВЛЕНИЕ: Я ввел, но не правильно, и фрагмент кода был проигнорирован.

Ответы [ 2 ]

0 голосов
/ 03 марта 2020

Я получил решение этой проблемы. Файл pom в модуле игнорировал все в папке WEB-INF. Я думаю, что модуль не используется вообще, но когда я удалил его, приложение не работало. Решением было игнорировать все в WEB-INF, кроме файла web. xml. Это решило проблему.

0 голосов
/ 24 февраля 2020

С моей точки зрения, похоже, что вы все делаете правильно. Единственное, что мне кажется неправильным, это то, что вы не закрываете тег <web-app>. Попробуйте закрыть тег с помощью </web-app>

Кроме того, помните, что вы можете объявить страницы ошибок JSP страниц прямо из JSP страницы.

<%@ page isErrorPage="true"%>

И затем вы можете переслать ваши пользователи на этой странице с этой директивой страницы:

<%@ page errorPage="error.jsp"%>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...