Servlet的生命周期:
(1)裝載Servlet。這項操作一般是動態(tài)執(zhí)行的。然而,Server通常會提供一個管理的選項,用于在Server啟動時強制裝載和初始化特定的Servlet;
(2)Server創(chuàng)建一個Servlet的實例;
(3)Server調(diào)用Servlet的init()方法;
(4)一個客戶端的請求到達Server;
(5)Server創(chuàng)建一個請求對象;
(6)Server創(chuàng)建一個響應(yīng)對象;
(7)Server激活Servlet的service()方法,傳遞請求和響應(yīng)對象作為參數(shù);
(8)service()方法獲得關(guān)于請求對象的信息,處理請求,訪問其他資源,獲得需要的信息;
(10)service()方法使用響應(yīng)對象的方法,將響應(yīng)傳回Server、最終到達客戶端。
service()方法可能激活其它方法以處理請求,如doGet()或doPost()或程序員自己開發(fā)的新的方法;
對于更多的客戶端請求,Server創(chuàng)建新的請求和響應(yīng)對象,仍然激活此Servlet的service()方法,將這兩個對象作為參數(shù)傳遞給它。如此重復(fù)以上的循環(huán),但無需再次調(diào)用init()方法。一般Servlet只初始化一次;
當Server不再需要Servlet時,Server調(diào)用Servlet的Destroy()方法。