Servlet機制原理1

2021-07-30 07:02:00 字數 1174 閱讀 6572

servlet是執行在servlet容器中的,由servlet容器來負責servlet例項的查詢、建立以及整個生命週期的管理,servlet整個生命週期可以分為四個階段:類裝載及例項建立階段、例項初始化階段、服務階段以及例項銷毀階段。

類裝載及例項建立階段

預設情況下,servlet例項是在接受到第乙個請求時進行建立並且以後的請求進行復用,如果有servlet例項需要進行一些複雜的操作,需要在初始化時就完成,比如開啟檔案、初始化網路連線等,可以配置在伺服器啟動時就建立例項,具體配置方法為在宣告servlet標籤中新增1標籤。

初始化 init(servletconfig config)

一旦servlet例項被建立,將會呼叫servlet的inint方法,同時傳入servletconfig例項,傳入servlet的相關配置資訊,init方法在整個servlet生命週期中只會呼叫一次。

服務 services()

為了提高效率,servlet規範要求乙個servlet例項必須能夠同時服務於多個客戶端請求,即service()方法執行在多執行緒的環境下,servlet開發者必須保證該方法的執行緒安全性。

銷毀 destory()

當servlet容器將決定結束某個servlet時,將會呼叫destory()方法,在destory方法中進行資源釋放,一旦destory方法被呼叫,servlet容器將不會再傳送任何請求給這個例項,若servlet容器需再次使用該servlet,需重新再例項化該servlet例項。

二、servlet執行流程

web伺服器接受到乙個http請求後,web伺服器會將請求移交給servlet容器,servlet容器首先對所請求的url進行解析並根據web.xml 配置檔案找到相應的處理servlet,同時將request、response物件傳遞給它,servlet通過request物件可知道客戶端的請求者、請求資訊以及其他的資訊等,servlet在處理完請求後會把所有需要返回的資訊放入response物件中並返回到客戶端,servlet一旦處理完請求,servlet容器就會重新整理response物件,並把控制權重新返回給web伺服器。

三、與其它技術的比較

與其它服務相比servlet有以下的一些優點:

1、執行速度上比cgi快,因為使用了多執行緒

2、servlet使用了標準的api,可被許多web服務支援

3、與系統無關性,一次編譯多次使用

servlet執行原理

step3,啟動tomcat 開啟終端 cd home soft01 apache tomcat7 bin sh startup.sh 注 也可以使用 sh catalina.sh run 開啟瀏覽器,輸入 http localhost 8080 step4,關閉tomcat sh shutdown...

Servlet工作原理

首先簡單解釋一下servlet接收和響應客戶請求的過程,首先客戶傳送乙個請求,servlet是呼叫service 方法對請求進行響應的,通過源 可見,service 方法中對請求的方式進行了匹配,選擇呼叫doget,dopost等這些方法,然後再進入對應的方法中呼叫邏輯層的方法,實現對客戶的響應。在...

servlet執行原理

servlet執行原理 乙個servlet請求可以指定乙個對映路徑 hello servlet name hello url pattern 乙個servlet請求可以指定多個對映路徑 hello servlet name hello url pattern hello servlet name h...