servletContext,session,request的差別?
作用:三者都可存儲參數進行傳遞。
差別:
1.request:隻能将請求的參數轉發給下一個request對象。
2.session:局部變量,使用者浏覽器級變量,浏覽器打開就一直有效,每個使用者都有一個sessionID.
3.servletContext:全局變量,代表web應用的上下文,隻要伺服器沒重新開機就一直儲存。
使用原則:優先使用作用域小的變量,防止變量作用域過大導緻安全隐患。
生命周期
-------------------------
Servlet 生命周期可被定義為從建立直到毀滅的整個過程。以下是 Servlet 遵循的過程:
Servlet 通過調用 init () 方法進行初始化。
Servlet 調用 service() 方法來處理用戶端的請求。
Servlet 通過調用 destroy() 方法終止(結束)。
最後,Servlet 是由 JVM 的垃圾回收器進行垃圾回收的。
init方法
init方法在第一次執行servlet請求的時候隻初始化一次,後續使用者的請求都不再進行初始化
service方法
在初始化後,每次發出一個請求,servlet容器就會調用service方法執行對應的doget,dopost,doput,dodelete等方法處理請求。而且每一個請求都會産生一個新的線程用于請求處理。
destroy方法
destroy方法隻執行一次,在servlet生命周期結束的時候被調用,同時進行資料庫的關閉,資源得回收等。
架構圖
-------------------------