您好,登錄后才能下訂單哦!
小編給大家分享一下servlet生命周期的詳細分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
Servlet生命周期表示Servlet從產生到毀滅的過程,一共分為四個階段分別是:初始化階段,響應客戶請求階段,終止階段以及垃圾回收階段
Servlet生命周期就是指Servlet從產生到毀滅的整個過程。
Servlet生命周期
Servlet程序時運行在服務器端的java程序,生命周期收到web容器的控制。在Servlet產生到消亡的過程中一共分為以下四個階段:
(1)構造方法:該方法只在創建servlet對象時調用并且只調用1次。目的在于證明servlet對象在tomcat服務器中是單實例的
(2)init方法:在初始化階段使用,即在創建完servlet對象后就調用,且只調用1次。
(3)service方法:在響應客戶請求階段使用,即每次請求servlet時調用,調用n次。
(4)destroy方法:終止階段調用,即在servlet對象銷毀時調用。只調用1次。tomcat服務器停止或web應用重新部署時調用
初始化階段
init方法是在Servlet實例化之后調用init()方法,在整個servlet生命周期中,init()方法只執行一次。初始化階段包括建立數據庫連接,讀取源文件信息等,如果初始化階段失敗,則Servlet將被直接卸載(注意,不是直接銷毀,而是直接卸載)。
響應客戶請求階段
當有請求提交時,servlet調用service()方法進行處理。service() 方法是 Servlet 的核心,該方法可以多次調用,每次都是創建一個線程進行調用。對于service方法,一般不需要重寫,因為在HttpServlet中實現,它會根據請求的方式,調用doGet/doPost也就是說service是用來轉向的,所以我們一般寫一個servlet,只需要重寫doGet或者doPost就可以了。
終止階段
當WEB容器關閉或檢測到一個Servlet要從容器中被刪除時,會自動調用destory()方法,釋放實例所占用的資源。注意destory()方法只能調用一次。通常情況下Servlet容器停止,重新啟動都會引起銷毀Servlet對象的動作,重新部署項目也會引起Servlet對象的銷毀同時會調用destroy方法。
垃圾回收
在銷毀后,該實例將等待被垃圾收集器回收,如在被回收前再次使用此servlet,會重新用init()方法初始化
以上是servlet生命周期的詳細分析的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。