網站開發進階(四)Tomcat Server處理一個http請求的過程

      網友投稿 755 2022-05-30

      Tomcat?Server處理一個http請求的過程

      假設來自客戶的請求為:

      http://localhost:8080/wsota/wsota_index.jsp

      1)?請求被發送到本機端口8080,被在那里偵聽的Coyote?HTTP/1.1?Connector獲得

      2)?Connector把該請求交給它所在的Service的Engine來處理,并等待來自Engine的回應

      3)?Engine獲得請求localhost/wsota/wsota_index.jsp,匹配它所擁有的所有虛擬主機Host

      4)?Engine匹配到名為localhost的Host(即使匹配不到也把請求交給該Host處理,因為該Host被定義為該Engine的默認主機)

      5)?localhost?Host獲得請求/wsota/wsota_index.jsp,匹配它所擁有的所有Context

      6)?Host匹配到路徑為/wsota的Context(如果匹配不到就把該請求交給路徑名為""的Context去處理)

      7)?path="/wsota"的Context獲得請求/wsota_index.jsp,在它的mapping?table中尋找對應的servlet

      8)?Context匹配到URL?PATTERN為*.jsp的servlet,對應于JspServlet類

      9)?構造HttpServletRequest對象和HttpServletResponse對象,作為參數調用JspServlet的doGet或doPost方法

      10)Context把執行完了之后的HttpServletResponse對象返回給Host

      11)Host把HttpServletResponse對象返回給Engine

      12)Engine把HttpServletResponse對象返回給Connector

      13)Connector把HttpServletResponse對象返回給客戶browser

      元素

      connectionTimeout="20000"?redirectPort="8443"

      URIEncoding="GBK"?maxThreads="150"?minSpareThreads="25"?maxSpareThreads="75"/>

      元素由Connector接口定義.元素代表與客戶程序實際交互的給件,它負責接收客戶請求,以及向客戶返回響應結果.?一個“Connector”(連接器)代表一個請求被接收和應答所需要的端點。每個連接器通過相關的“Container”(容器)處理請求。

      元素

      網站開發進階(四)Tomcat Server處理一個http請求的過程

      unpackWARs="true"?autoDeploy="true"

      xmlValidation="false"?xmlNamespaceAware="false">

      它由Host接口定義.一個Engine元素可以包含多個元素.每個的元素定義了一個虛擬主機.它包含了一個或多個Web應用.

      注:?name是虛擬主機的名字,appBase是虛擬主機指向的目錄,Tomcat啟動時,會自動加載appBase下的應用。?unpackWARs表示是否自動解壓縮appBase下已打成WAR包的應用,autoDeploy表示在服務器運行的時候,將一個應用放入?appBase下,是否自動部署。

      元素

      ?

      它由Context接口定義.是使用最頻繁的元素.每個元素代表了運行在虛擬主機上的單個Web應用.一個可以包含多個元素.每個web應用有唯一的一個相對應的Context代表web應用自身.

      path?:?該Context的路徑名是"",故該Context是該Host的默認Context

      docBase?:?該Context的根目錄是webapps/mycontext/

      reloadable:如果這個屬性設為true,?Tomcat服務器在運行狀態下會監視在WEB-INF/classes和Web-INF/lib目錄CLASS文件的改運.如果監視到有class文件被更新,服務器自重新加載Web應用

      useNaming:指定是否支持JNDI,默認值為了true

      cookies指定是否通過Cookies來支持Session,默認值為true

      元素

      connectionTimeout="20000"?redirectPort="8443"??????URIEncoding="GBK"?maxThreads="150" ?minSpareThreads="25"?maxSpareThreads="75"/>

      ?

      該元素由org.apache.catalina.Service接口定義,它包含一個元素,以及一個或多個,這些Connector元素共享用同一個Engine元素.

      redirectPort?指定服務器正在處理http請求時收到了一個SSL傳輸請求后重定向的端口號。

      第一個處理所有直接由Tomcat服務器接收的web客戶請求.

      第二個處理所有由Apahce服務器轉發過來的Web客戶請求?.

      注:Server元素下可以有多個Service,端口就是在Service元素下配置的。

      其中protocal制定了該端口偵聽的協議類型,HTTP/1.1表示偵聽的是客戶的HTTP請求,即我們通過瀏覽器訪問需要輸入的端口,當端口號是80的時候,可以不用在瀏覽器地址欄輸入端口號,這就是我們訪問很多網站不需要指定端口的原因。有時候protocal沒有指定,這時候默認的是HTTP/1.1。注意這個端口必須是閑置的。

      Service元素下必須有一個Engine元素,Engine有一個名稱,和一個默認的虛擬主機名。

      附:

      Tomcat?是一款優秀的JSP/Servlet容器,最初由SUN開發,后來被貢獻給了Apache社區。

      HTTP Tomcat 容器 網站

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:干貨系列—華為云醫療影像解決方案
      下一篇:深圳市攜手華為發布《鵬城智能體-城市安全發展白皮書》,加速深圳智能化升級
      相關文章
      亚洲av产在线精品亚洲第一站| 日韩va亚洲va欧洲va国产| 久久精品国产亚洲AV麻豆王友容 | 亚洲爆乳无码专区| 亚洲中文字幕无码一久久区| 久久亚洲国产成人影院网站| 国产成人亚洲综合无| 亚洲Av永久无码精品黑人| 亚洲欧美日韩中文无线码| 亚洲永久网址在线观看| 亚洲综合一区国产精品| 亚洲日韩国产一区二区三区在线 | 91午夜精品亚洲一区二区三区| 亚洲熟妇色自偷自拍另类| 亚洲精品亚洲人成在线观看麻豆| 久久亚洲AV成人无码软件| 亚洲嫩草影院在线观看| 亚洲一级毛片视频| 亚洲无人区码一二三码区别图片| 亚洲依依成人亚洲社区| 亚洲第一第二第三第四第五第六| 亚洲AV无码片一区二区三区| 国产亚洲一卡2卡3卡4卡新区| 亚洲A丁香五香天堂网| 久久精品国产亚洲精品| 亚洲午夜国产精品无码| 久久精品亚洲综合专区| 亚洲综合激情六月婷婷在线观看| 亚洲国产成人精品久久| 丁香婷婷亚洲六月综合色| 亚洲欧洲国产综合AV无码久久| 国产精品亚洲一区二区三区 | 在线亚洲精品视频| 国产乱辈通伦影片在线播放亚洲 | 亚洲av无码电影网| 亚洲精品无码你懂的| 国产区图片区小说区亚洲区| JLZZJLZZ亚洲乱熟无码| 亚洲毛片αv无线播放一区| 亚洲av日韩综合一区在线观看| 亚洲国产韩国一区二区|