Контейнер сервлетов управляет жизненным циклом сервлета путем вызова его методов в определенных моментах:
init(ServletConfig config). Этот метод вызывается только один раз за жизненный цикл сервлета.
java
service(ServletRequest req, ServletResponse res). Этот метод определяет тип запроса (GET, POST и т.д.) и вызывает соответствующий метод doGet(), doPost() и др. В HttpServlet service метод реализован по умолчанию и переопределять его обычно не нужно.
java
destroy() перед выгрузкой сервлета из памяти. Это происходит при остановке контейнера или при необходимости высвобождения ресурсов. Метод destroy() вызывается также один раз.
java
| Метод | Когда вызывается | Количество вызовов |
|---|---|---|
init() | При первом запросе к сервлету или при старте сервера | Один раз |
service() | Для каждого входящего запроса | Много раз |
doGet(), etc. | Для каждого конкретного типа запроса | Много раз |
destroy() | Перед удалением сервлета из памяти | Один раз |