Servlet 在容器中運行,其實(shí)例的創(chuàng )建及銷(xiāo)毀等都不是由程序員決定的,而是由容器
進(jìn)行控制。
Servlet 的創(chuàng )建有兩個(gè)選擇。
·客戶(hù)端請求對應的Servlet 時(shí),創(chuàng )建Servlet 實(shí)例:大部分的Servlet 都是這種Servlet。
• Web 應用啟動(dòng)時(shí),立即創(chuàng )建Servlet 實(shí)例:即load-on-startup Servlet。應用啟動(dòng)時(shí)就啟動(dòng)的Servlet 通常是用于某些后臺服務(wù)的Servlet,或者攔截很多請求的Servlet;這種Servlet 通常作為應用的基礎Servlet 使用,提供重要的后臺服務(wù)。每個(gè)Servlet 的運行都遵循如下生命周期。
(1)創(chuàng )建Servlet 實(shí)例。
(2) Web 容器調用Servlet 的init 方法,對Servlet 進(jìn)行初始化。
(3) Servlet 初始化后,將一直存在于容器中,用于響應客戶(hù)端請求。如果客戶(hù)端有
get 請求,容器調用Servlet的doGet 方法處理并響應請求。對于不同的請求,有不同的
處理方法,或者統一使用service 方法處理來(lái)響應用戶(hù)請求。
(4) Web 容器角色銷(xiāo)毀Servlet 時(shí),調用Servlet 的destroy 方法,通常在關(guān)閉Web
容器之時(shí)銷(xiāo)毀Servlet。
聯(lián)系客服