Servlet 執行原理

2021-10-20 10:13:34 字數 1657 閱讀 3321

瀏覽器使用 ip:port(埠號)連線伺服器

瀏覽器將請求資料按照 http 協議打成乙個資料報(請求資料報)傳送給伺服器

請求資料報的內容包含了請求資源路徑(/helloweb/sayhello?name=zs),另外,在請求資料報當中,還會包含瀏覽器自動生成的一些資訊。

伺服器建立兩個物件:請求物件(request)和響應物件(response)

伺服器解析請求資料報,將解析之後的資料存放到請求物件裡面,方便 servlet 讀取請求資料(因為 servlet 不用解析請求資料報,如果 要解析,需要理解 http 協議)。

請求物件是 httpservletrequest 介面的乙個實現。

響應物件是 httpservletresponse 介面的乙個實現,響應物件用於存放 servlet 處理的結果。

依據請求資源路徑找到相應的 servlet 配置,通過反射建立 servlet 例項。然後呼叫其 service() 方法。

在呼叫 service()方法時,會將事先建立好的請求物件(request)和響應物件(response)作為引數進行傳遞。在 servlet 內部,可以通過 request 獲得請求資料,或者通過 response 設定響 應資料。

伺服器從 response 中獲取資料,按照 http 協議打成乙個資料報(響應資料報),傳送給瀏覽器。

瀏覽器會解析響應資料報,取出相應的資料,生成相應的介面。

當使用者向瀏覽器位址列輸入http://ip:port/helloweb/sayhello?name=***

原理圖

說明:

建立連線

瀏覽器根據 ip 位址和埠號(port)和伺服器建立連線

打包瀏覽器將請求資料按 http 協議打成資料報(http 請求資料報)

http 請求資料報包含「helloweb/sayhello」(請求資源路徑)

傳送請求

瀏覽器向伺服器傳送請求資料報

建立 request 物件

servlet 引擎(tomcat 負責通訊的模組)建立請求物件(request),方便我們自定義的 servlet 獲得請求數 據包中的內容

該物件符合 httprequest 介面

建立 response 物件

servlet 引擎(tomcat 負責通訊的模組)建立相應物件(response)

該物件符合 httpresponse 介面

建立 helloservlet 物件

伺服器通過反射的方式建立 servlet 例項

呼叫 servlet 例項的 service(request , response)方法

7.1)訪問引數

在 service()方法中訪問 request 物件,獲得使用者提交的一些引數

7.2)處理結果

在 service()方法中將處理結果放入 response 物件

取資料servlet 引擎從 response 物件中取出資料

打包servlet 引擎將取出的資料打包,該資料報符合 http 協議要求

傳送響應

瀏覽器將響應資料報中的資料取出,生成介面

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請求可以指定乙個對映路徑 hello servlet name hello url pattern 乙個servlet請求可以指定多個對映路徑 hello servlet name hello url pattern hello servlet name h...

Servlet執行原理以及生命週期

一 servlet生命週期 servlet載入 例項化 初始化 服務 銷毀。1 初始化init 當服務啟動時,servlet被裝入tomcat或者其他伺服器容器時執行 伺服器容器從啟動到停止期間唯一的一次 init 初始化方法,負責初始化servlet物件,無論有多少個請求訪問servlet,初始化...