Servlet的呼叫過程與生命週期

2021-09-24 20:57:40 字數 642 閱讀 1740

servlet的呼叫過程與生命週期

1.建立servlet物件,呼叫init方法對其初始化

當瀏覽器第一次訪問伺服器時,會建立servlet的例項化物件,該物件由伺服器自動建立,並長期存活於記憶體當中,直至伺服器關閉。第二次訪問不會再建立該物件緊接著呼叫init方法為servlet物件進行初始化,引數為servletconfig的物件。如果init方法沒有正常結束,則會丟擲乙個servletexception異常,servlet會停止執行。

2.呼叫service方法響應客戶端請求

該方法有兩個引數:(servletrequest req, servletresponse resp)

方便開發人員的使用,不再需要關注三次握手,四次揮手,報頭等問題。

伺服器針對每一次的請求都會建立這樣一對物件,由於response物件和request物件的生命週期極短,因此不會對記憶體造成大的消耗。

伺服器會為每個請求建立乙個執行緒,並行的對客戶端做出響應,提高響應速度。

點開service方法的原始碼可以看到該方法是對do***方法的包裝,因此在do***方法中寫真實的業務邏輯。

3.destory方法

當servlet被摧毀的時候(web伺服器關閉的時候)呼叫該方法。

函式的呼叫過程

計算機在執行呼叫函式的過程中,會根據函式完成一些工作,比如資料的傳遞 形參拷貝 返回值 記憶體的分配和釋放 執行控制和轉移,這些操作需要通過形成乙個棧幀來完成。棧幀 stack frame 棧幀就是函式執行的環境。每個函式在被呼叫的時候都會在棧區形成乙個叫做棧幀的結構,這個結構儲存了函式引數 區域性...

驅動呼叫過程

驅動呼叫過程 剛接觸到linux下驅動程式設計,一般都是照著模式寫 或是修改一下已有原始碼,對驅動的呼叫過程並不是很熟悉。在網上不斷的 算是有點明白了,現在我就說下自己的了解。我們載入驅動模組後都會做乙個工作,就是通過mknod在 dev資料夾下建立乙個裝置檔案 如mknod dev c major...

probe呼叫過程

這幾天搞ti的vpfe,裡面裝置的註冊使用platform,平台裝置註冊方式來註冊的。一直都知道 cpp view plain copy print 112 struct device driver 裡的probe函式,但是不知道是何時被呼叫的。經過跟蹤 在module init vpfe init...