Servlet運行原理與JSP的運行原理基本相同,不同之處在於JSP需要先轉換成Java代碼,而Servlet本身就是Java代碼。 Servlet的運行原理。
u 伺服器接收到用戶端的請求時,先判斷使用者所請求的Servlet對象是否存在:
n 如果存在,則直接調用Servlet對象的Service方法(間接調用doGet方法或者doPost方法);n 如果不存在,則載入Servlet類,建立Servlet對象並執行個體化,然後調用init方法進行初始化,之後調用Servlet對象的Service方法。u 最後使用service方法執行的結果對使用者進行響應。注意:在Servlet的生命週期中,同一個Servlet對象可以為多個用戶端服務,多個用戶端之間的區別在於伺服器會為每個用戶端建立不同的請求對象和響應對象,而執行的方法是相同的。載入Servlet類,建立對象和調用初始化方法init都只有一次。在Web應用被卸載或者伺服器被關閉的時候,系統卸載Servlet,調用destroy方法釋放資源。Servlet的載入有兩種方式:u 第一次請求的時候載入;u 伺服器啟動的時候載入;兩種方式各有利弊,如果第一次請求的時候載入,載入的速度比較慢,但是不浪費空間。如果是啟動伺服器的時候載入,第一次訪問的時候就快了,但是如果一直沒有人訪問,則這段時間就浪費了空間。載入Servlet的方式可以在web.xml中聲明Servlet的時候配置,如果希望在啟動的時候載入HelloServlet,使用下面的代碼聲明:<servlet> <servlet-name>hello</servlet-name> <servlet-class>servlets.HelloServlet</servlet-class> <load-on-startup>1</load-on-startup></servlet>
上一講:
第六講 JSP運行原理 下一講:
第八講 Java Web的發展曆史 李緒成 CSDN Blog:http://blog.csdn.net/javaeeteacher邀請您為好友:http://student.csdn.net/invite.php?u=124362&c=7be8ba2b6f3b6cc5