CGI(Common Gateway Interface),它是外部應用程序(CGI程序)與Web服務器之間的接口標準,是CGI程序和Web服務器之間傳遞信息的過程。
Servlet被服務器實例化之後,容器自動運行初始化(init)方法,當請求到達時運行其Service方法,Service方法自動運行和請求對應的方法(doGet,doPost),當服務器決定將實例銷燬的時候調用destroy方法。
Servlet處於服務器進程中,它通過多線程運行Service方法,一個實例可以服務於多個請求,並且實例一般不會被銷燬。
CGI每個請求都產生新的進程,並且服務完後就銷燬,所以效率上低於Servlet。
Servlet可以完成CGI相同的功能。
Servlet提供了Java應用程序的所有優勢——可移植、穩健、易開發。