Servlets doGet doPost И? - PullRequest
       5

Servlets doGet doPost И?

1 голос
/ 06 марта 2011

Добрый день!

Я читаю сервлеты Head First и JSP, и там говорится, что 99% сервлетов используют HttpServlet.Какой еще 1%?И это говорит о том, что в реальном мире 99,9% всех сервлетов переопределяют этот метод doGet () или doPost ().Что такое остальные 0,1%?Или не стоит упоминать, поэтому книга не упоминала об этом?

Спасибо.

Ответы [ 3 ]

7 голосов
/ 06 марта 2011

1% не использует абстрактный HttpServlet класс.Поэтому они используют Servlet интерфейс без расширения HttpServlet.

В настоящее время в API Java EE есть только один Servlet, который делает это: FacesServlet, который является основным контроллером позади Java EE, предоставленной инфраструктуре MVC JavaServer Faces (JSF)).JSF позволяет вам пропустить весь утомительный процесс и стандартный код, который необходим для сбора, преобразования и проверки параметров, обновления значений модели и вызова определенных методов действий.

Но на момент написания этой книгиАвтор, вероятно, не осознавал этого.На данный момент JSF, конечно, не составляет всего 1%.В теории возможно реализовать Servlet для других протоколов, отличных от HTTP, таких как FTP.Это не предусмотрено стандартным API Java EE, но есть некоторые сторонние классы "FtpServlet".И я считаю, что некоторые API-интерфейсы портлетов также используют класс не HttpServlet (они просто реализуют Servlet и не расширяют HttpServlet).

Что касается HTTP-методов ,рядом с HTTP GET и POST есть также HEAD, PUT, OPTIONS и т. д. Но я думаю, что 0,1% сильно недооценено.HEAD определенно используется гораздо чаще, подумайте о собственном DefaultServlet сервлетконтейнера (как в Tomcat).HEAD играет важную роль в запросах кеша браузера.Но когда дело доходит до «доморощенных» сервлетов, то это действительно GET и POST, которые привлекают к себе внимание.

См. Также:

1 голос
/ 06 марта 2011

Вы можете написать FTP, используя сервлеты. Это, вероятно, остальные 0,1%.

0 голосов
/ 26 июля 2012

Вы можете использовать

protected void service(HttpServletRequest request, HttpServletResponse response)

, который может обрабатывать запросы как GET, так и POST. Это просто дополнение. =]

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