Почему HttpServlet создает IOException? - PullRequest
2 голосов
/ 29 апреля 2009

Я понимаю, почему HttpServlet генерирует ServletException, но почему IOException? Что послужило причиной этого?

Ответы [ 3 ]

4 голосов
/ 29 апреля 2009

Из документов:

IOException - если ошибка ввода или вывода обнаружена, когда сервлет обрабатывает запрос GET

Это может произойти при печати вывода сервлета:

response.getWriter (). Print () - этот метод вызывает IOException

Сокет может быть закрыт до того, как ответ завершит печать вывода.

3 голосов
/ 29 апреля 2009

Я бы предположил, что IOException указывает на проблему с обработкой ввода / вывода, например, проблемы чтения из ввода запроса или записи ответа, в то время как ServletException больше относится к проблемам, связанным с сервлетом, таким как ошибки, связанные с инициализацией / инициализацией сервлета, и обработкой запросов.

0 голосов
/ 29 апреля 2009

Если сервлет выполняет запись в выходной поток (то есть на страницу) через интерфейсы ввода / вывода, любая ошибка ввода / вывода будет сообщаться как IOException.

Возможно, API не должен напрямую использовать интерфейсы ввода / вывода. Нередко веб-приложения, использующие RMI, позволяют RMIException проваливаться через интерфейс сервлета (это подкласс IOException по некоторым причинам).

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