天天看點

java基礎——Servlet的生命周期,Servlet和CGI的差別。

servlet的生命周期:就是從servlet出現到銷毀的全過程。主要分為以下幾個階段:

加載類—>執行個體化(為對象配置設定空間)—>初始化(為對象的屬性指派)—>請求處理(服務階段)—>銷毀

CGI:(Common Gateway Interface 公共網關接口),它是外部應用程式(CGI程式)與Web伺服器之間的接口标準,是CGI程式和Web伺服器之間傳遞資訊的過程。

Servlet:被伺服器執行個體化後,容器運作其init方法,請求到達時運作其service方法,service方法自動派遣運作與請求對應的doXXX方法(doGet,doPost)等,當伺服器決定将執行個體銷毀的時候調用其destroy方法。

與cgi的差別在于servlet處于伺服器程序中,它通過多線程方式運作其service方法,一個執行個體可以服務于多個請求,并且其執行個體一般不會銷毀,而CGI對每個請求都産生新的程序,服務完成後就銷毀,是以效率上低于servlet。

Servlet提供了Java應用程式的所有優勢——可移植、穩健、易開發。