天天看點

servletContext,session,request的差別和servlet生命周期

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生命周期結束的時候被調用,同時進行資料庫的關閉,資源得回收等。

架構圖

-------------------------

servletContext,session,request的差別和servlet生命周期

繼續閱讀