Настройка одной страницы ошибок jsp с разными сообщениями для разных ошибок http

Я разрабатываю веб-приложение.

Я хочу настроить страницы ошибок в web.xml.

Я хочу создать одну страницу ошибок с разными сообщениями об ошибках для разных http-ошибок, таких как 400,404 и т. д.

Например: я хочу использовать одну и ту же страницу ошибок «error.jsp» для всех ошибок http. предположим, если возникает ошибка 400, jsp должен отображать "Неверный запрос" и если возникает ошибка 404, jsp должен отображать сообщения как "страницу не найдено".

пожалуйста помоги.

Спасибо.


person jk.hiren    schedule 16.09.2012    source источник


Ответы (1)


Это на самом деле возможно и довольно просто. Я опубликую 3 способа здесь.

1) Способ сервлетов 3.0: при условии, что вы обновились до последней версии сервлетов 3.0, вы можете очень легко сделать это, опустив элемент <error-code> или exception-type в <error-page> и просто предоставив <location> и создав файл error.jsp по умолчанию для вашего приложения. `

2) Явно введите все 400 и 500 и сопоставьте их с вашим error.jsp в вашем web.xml; Это на тот случай, если вы используете старый контейнер и не хотите его обновлять. их не так много

3) Существует третий способ здесь (@BalusC answer, я признаю, что уважаю этого парня за его знания и его репутацию на ТАК)

Для вывода конкретных сообщений с кодами ошибок в файле error.jsp используйте ${requestScope['javax.servlet.error.status_code']} либо в конструкции switch-case, либо в конструкции if-else-if.

person verisimilitude    schedule 16.09.2012