Как установить условие для разных сервлетов в web.xml - PullRequest
0 голосов
/ 11 сентября 2018

Я новичок в содержании сервлетов и web.xml. Я хотел бы установить условие / зависимость для двух разных сервлетов. Представьте, что у меня есть два сервлета:

<servlet>
        <servlet-name>servlet1</servlet-name>
        <servlet-class>com.my.app.Servlet1</servlet-class>
        <load-on-startup>1</load-on-startup>
</servlet>

<servlet>
        <servlet-name>servlet2</servlet-name>
        <servlet-class>com.my.app.Servlet2</servlet-class>
        <load-on-startup>2</load-on-startup>
</servlet>

И я хотел бы вызывать servlet2 только в случае, если servlet1 обнаружил ошибку или не удалось. Что касается сценария: Предположим, что servlet1 - мой основной аутентификатор, и вход в систему пользователя не удался из-за отсутствия параметра в URL в servlet1. В этом случае я хотел бы попробовать второй аутентификатор servlet2, который содержит другой набор проверок ...

Можно ли добиться этого, изменив только файл web.xml? Если нет, то каким было бы альтернативное решение для удовлетворения этой потребности?

Примечание: у меня есть исходный код servlet1, но нет servlet2 (только встроенный jar) ...

Спасибо заранее.

1 Ответ

0 голосов
/ 11 сентября 2018

Вы можете сделать это с помощью reuqestDispatcher и переслать запрос другому сервлету2, как описано в методе doPost сервлета 1s.

//Here URL is path to servlet 2
RequestDispatcher rd  = request.getRequestDispatcher(“url”);

rd.forward(request,response);
...