Основные особенности Servlet 3:
- Асинхронная обработка запросов (Asynchronous Processing): Позволяет сервлету делегировать обработку запроса другому потоку, освобождая текущий поток для обработки новых запросов и улучшая масштабируемость.
- Аннотации (Annotations): Возможность конфигурировать сервлеты, фильтры и слушатели с использованием аннотаций
@WebServlet
, @WebFilter
, @WebListener
вместо deployment descriptor web.xml
.
- Программноe добавление компонентов (Pluggability): Позволяет добавлять сервлеты, фильтры и слушатели программно во время запуска веб-приложения или через web-fragment.xml.
- Поддержка дополнительных ресурсов (Resource Provisioning): Специфицирует механизм для обнаружения и обработки JAR-файлов в WEB-INF/lib, содержащих ресурсы веб-приложения (Tld, web-fragment.xml, статические ресурсы).
- Улучшенная поддержка загрузки файлов (Improved File Upload Support): Упрощена обработка многокомпонентных (multipart) запросов, используемых для загрузки файлов, с помощью аннотации
@MultipartConfig
.
Пример асинхронной обработки:
java