1. 程式人生 > >2017.12.17 servlet 生命周期

2017.12.17 servlet 生命周期

初始 運行 沒有 自動 java 參數傳遞 特殊 dog 兩個

servlet生命周期一般分為4個:

加載----實例化------服務-----銷毀

(1)加載:

加載一般是在運行tomcat容器時來完成,將servlet類加載到tomcat中,或者是客戶端發來請求時也可以

(2)實例化:

實例化是一般是即讀取配置信息、讀取初始化參數等,這些基本上在整個生命周期中只需要執行一次。關於init()方法已經在積累GeneriServlet中提供缺省實現,如果不需特殊處理則沒有必要在進行定義,否則要重寫。

(3)服務:

服務一般是容器接收到客戶端請求時,servlet引擎將創建一個servletrequest請求對象和一個servletrequest響應對象,然後這兩個對象作為參數傳遞給對應servlet對象的service()方法,該方法是一個重點實現的方法,servletrequset對象可以獲得客戶端發出請求的相關信息,如請求參數等,servletresponse對象可以使得servlet建立響應頭和狀態代碼,並可以寫入響應內容返回客戶端,再次說明一點當servlet中有doGet()  或者doPost()  方法時,那麽service()  方法就可以省略,默認為調用這兩個方法。

銷毀:

一般是servlet的卸載是由容器本身定義和實現,再卸載servlet之前需要調用destory()  方法,以讓servlet自行釋放占用的系統資源,雖然java虛擬機提供了垃圾自動回收機制,但是有一部分資源確實該機制不能處理或延遲很久才能處理的,如關閉文件釋放數據等。一般tomat關閉。servlet就會被銷毀,如果想提前銷毀,可以寫一個監聽器。

一個servlet的生命周期市很短暫的。

2017.12.17 servlet 生命周期