Обработка исключения Java после того, как Spring Framework начал писать клиенту - PullRequest
0 голосов
/ 24 февраля 2012

В моем веб-приложении я сталкиваюсь со сценарием, в котором происходит исключение в одном из моих представлений.Поскольку веб-сервер уже начал записывать данные в клиент, он обнаруживает исключения и переходит на страницы ошибок по умолчанию, которые я определил в web.xml.

Я пробовал такие вещи, как response.reset(); и response.resetBuffer();, но безрезультатно они не изменили поведение.Контент, отправляемый клиенту, выглядит примерно так:

<html>
  <head>

    <!-- Partial content delivered -->

    <!-- EXCEPTION OCCURS, error.jsp is sent -->

<html>
  <head>...</head>
  <body>
    <!-- Stack trace -->
  </body>
</html>

Так что, как вы можете видеть, HTML становится все искаженным, так как исключение происходит после того, как некоторые данные были отправлены клиенту, и ничего не отображаетсядаже не error.jsp.Итак, чтобы быть ясным, мой вопрос.Как лучше всего избегать этого?и как я могу перенаправить пользователя моего приложения после того, как он получил часть контента?

1 Ответ

1 голос
/ 24 февраля 2012

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

Если вы следуете принципам MVC, каждая задача, которая может сгенерировать исключение (проверка, деловые вызовы, вызовы базы данных), должна выполняться из действия перед отправкой в ​​представление.Представление должно просто генерировать разметку и получать информацию для отображения из bean-компонентов, сохраненных в запросе.Это никогда не должно вызывать никаких исключений, если в коде нет ошибки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...