Подтвердить что ты не робот

Когда будет вызван javax.servlet.Filter.doFilter(ServletRequest req, ServletResponse res) с чем-либо, кроме HttpServletRequest/Response?

Я писал сервлеты и фильтры в течение многих лет, и это то, что меня всегда раздражало - проверка и отливка параметров ServletRequest и ServletResponse до HttpServletRequest и HttpServletResponse, особенно с фильтрами поскольку для этого не существует стандартного базового класса HttpFilter, в отличие от сервлетов.

Вопрос: когда вы когда-нибудь увидите что-нибудь другое, что HttpServletRequest/HttpServletResponse будет передано вашему сервлету/фильтру, и что делать, если вы это сделаете?

4b9b3361

Ответ 1

В каком-то еще не реализованном мире, где помимо HttpServlets существуют другие типы сервлетов.

Ответ 2

Из того, что я понял, используя API, спецификации сервлета заключаются в том, что структура сервлета была создана специально для HTTP/web-использования.

Протоколы, упомянутые в ссылочном разделе спецификации сервлета, связаны только с HTTP:
Протокол передачи гипертекста RFC 1945 (HTTP/1.0)
Протокол передачи гипертекста RFC 2616 (HTTP/1.1)
RFC 2617 HTTP-аутентификация: базовая и дайджест-аутентификация
RFC 2324 Гипертекстовый протокол управления потоком кофе (HTCPCP/1.0) - это используется для HTTP/
Все это протоколы HTTP.

Также спецификация задает это:

Все контейнеры сервлетов должны поддерживать HTTP как протокол для запросов и ответов, но могут также поддерживают другие протоколы, основанные на запросах/ответах, такие как HTTPS (HTTP over SSL).

И причина того, что GenericServlet → HttpServlet состоит в том, чтобы в API-интерфейсе API была создана иерархия иерархии в разделе "Обобщение → ".