隨筆 - 26, 文章 - 0, 評(píng)論 - 2, 引用 - 0
          數(shù)據(jù)加載中……

          Tc Config

          Tomcat 啟動(dòng)過程分析:

          ?IE 地址欄中敲 :
          http://localhost:8080/wsota/
          wsota_index.jsp

          1 請(qǐng)求被發(fā)送到本機(jī)端口8080 ,被在哪里監(jiān)聽的 Coyote HTTP/1.1 Connector 獲得

          2 Connector 把該請(qǐng)求交給 它所在的Service 中的 Engine 引擎去處理

          3 Engine獲得請(qǐng)求 localhost/wstoa/wstoa_index.jsp 匹配它所擁有的所有虛擬主機(jī)Host

          4 Engine 匹配到名字為localhost 的Host (即使匹配不到也把請(qǐng)求交給該Host處理,因?yàn)樵揌ost被定義為 該Engine的默認(rèn)主機(jī))

          5 localhost Host 獲得請(qǐng)求 /wstoa/wstoa_index.jsp 匹配它所擁有的所有Context

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

          7 path="/wsota"的Context獲得請(qǐng)求/wsota_index.jsp,在它的mapping table中尋找對(duì)應(yīng)的servlet

          8 Context 匹配到URl pattern 為 *.jsp 的 Servlet 對(duì)應(yīng)于 JspServlet類

          9 構(gòu)造 HttpServletRequest 對(duì)象和 HttpServletRespose 對(duì)象 作為參數(shù)調(diào)用 JspServlet的 doGet或doPost方法。

          10Context 把執(zhí)行完了之后的 HttpServletRespose對(duì)象返回給HOST

          11 Host 把HttpServletRespose 對(duì)象返回給 Engine

          12 Engine把 HttpServletRespose對(duì)象返回給 Connector

          13 Connector把 HttpServletRespose 對(duì)象 返回給 Browser


          ?

          Tomcat Server的組成部分

          1.1 - Server

          A Server element represents the entire Catalina servlet container. (Singleton)

          1.2 - Service

          A Service element represents the combination of one or more Connector components that share a single Engine

          Service是這樣一個(gè)集合:它由一個(gè)或者多個(gè)Connector組成,以及一個(gè)Engine,負(fù)責(zé)處理所有Connector所獲得的客戶請(qǐng)求

          1.3 - Connector

          一個(gè)Connector將在某個(gè)指定端口上偵聽客戶請(qǐng)求,并將獲得的請(qǐng)求交給Engine來處理,從Engine處獲得回應(yīng)并返回客戶

          TOMCAT有兩個(gè)典型的Connector,一個(gè)直接偵聽來自browser的http請(qǐng)求,一個(gè)偵聽來自其它WebServer的請(qǐng)求

          Coyote Http/1.1 Connector 在端口8080處偵聽來自客戶browser的http請(qǐng)求

          Coyote JK2 Connector 在端口8009處偵聽來自其它WebServer(Apache)的servlet/jsp代理請(qǐng)求

          1.4 - Engine

          The Engine element represents the entire request processing machinery associated with a particular Service

          It receives and processes all requests from one or more Connectors

          and returns the completed response to the Connector for ultimate transmission back to the client

          Engine下可以配置多個(gè)虛擬主機(jī)Virtual Host,每個(gè)虛擬主機(jī)都有一個(gè)域名

          當(dāng)Engine獲得一個(gè)請(qǐng)求時(shí),它把該請(qǐng)求匹配到某個(gè)Host上,然后把該請(qǐng)求交給該Host來處理

          Engine有一個(gè)默認(rèn)虛擬主機(jī),當(dāng)請(qǐng)求無法匹配到任何一個(gè)Host上的時(shí)候,將交給該默認(rèn)Host來處理

          1.5 - Host

          代表一個(gè)Virtual Host,虛擬主機(jī),每個(gè)虛擬主機(jī)和某個(gè)網(wǎng)絡(luò)域名Domain Name相匹配

          每個(gè)虛擬主機(jī)下都可以部署(deploy)一個(gè)或者多個(gè)Web App,每個(gè)Web App對(duì)應(yīng)于一個(gè)Context,有一個(gè)Context path

          當(dāng)Host獲得一個(gè)請(qǐng)求時(shí),將把該請(qǐng)求匹配到某個(gè)Context上,然后把該請(qǐng)求交給該Context來處理

          匹配的方法是“最長(zhǎng)匹配”,所以一個(gè)path==""的Context將成為該Host的默認(rèn)Context

          所有無法和其它Context的路徑名匹配的請(qǐng)求都將最終和該默認(rèn)Context匹配

          1.6 - Context

          一個(gè)Context對(duì)應(yīng)于一個(gè)Web Application,一個(gè)Web Application由一個(gè)或者多個(gè)Servlet組成

          Context在創(chuàng)建的時(shí)候?qū)⒏鶕?jù)配置文件$CATALINA_HOME/conf/web.xml和$WEBAPP_HOME/WEB-INF/web.xml載入Servlet類

          當(dāng)Context獲得請(qǐng)求時(shí),將在自己的映射表(mapping table)中尋找相匹配的Servlet類

          如果找到,則執(zhí)行該類,獲得請(qǐng)求的回應(yīng),并返回




          Tomcat start console

          2008-7-10 10:38:49 org.apache.coyote.http11.Http11BaseProtocol init

          信息: Initializing Coyote HTTP/1.1 on http-8080

          2008-7-10 10:38:49 org.apache.catalina.startup.Catalina load

          信息: Initialization processed in 390 ms

          2008-7-10 10:38:49 org.apache.catalina.core.StandardService start

          信息: Starting service Catalina

          2008-7-10 10:38:49 org.apache.catalina.core.StandardEngine start

          信息: Starting Servlet Engine: Apache Tomcat/5.5.17

          2008-7-10 10:38:49 org.apache.catalina.core.StandardHost start

          信息: XML validation disabled

          2008-7-10 10:38:50 org.apache.coyote.http11.Http11BaseProtocol start

          信息: Starting Coyote HTTP/1.1 on http-8080

          2008-7-10 10:38:50 org.apache.catalina.storeconfig.StoreLoader load

          信息: Find registry server-registry.xml at classpath resource

          2008-7-10 10:38:50 org.apache.catalina.startup.Catalina start

          信息: Server startup in 750 ms


          Note:?
          ?在配置context.xml
          ?D:\Dev_tools\apache-tomcat-5.5.17\conf\Catalina\localhost
          ?example:
          ?<Context docBase="D:\Projects\zzesweb\web" path="/zzesweb"
          ???????? reloadable="true" antiResourceLocking="false" antiJARLocking="false">
          ???? <Resource
          ????? auth="Container"
          ????? name="jdbc/zzesweb"???
          // <c:set var="dataSource" value="jdbc/zzesweb" scope="page"/>??
          // <sql:query dataSource="${dataSource}" var ="rs"? scope="page../">
          // sql
          // </sql:query>

          ????? type="javax.sql.DataSource"
          ????? password="*"
          ????? driverClassName="com.mysql.jdbc.Driver"
          ????? maxIdle="30"
          ????? maxWait="5000"
          ????? username="root"
          ????? url="jdbc:mysql://localhost:13306/zzesweb?autoReconnect=true"
          ????? maxActive="100"/>
          </Context>

          posted on 2008-08-01 09:46 Anderson 閱讀(201) 評(píng)論(0)  編輯  收藏 所屬分類: java

          主站蜘蛛池模板: 新乡市| 外汇| 牟定县| 绥滨县| 江孜县| 娄烦县| 梧州市| 桃园县| 册亨县| 肃宁县| 新邵县| 峨眉山市| 广平县| 铁力市| 长宁区| 武平县| 鄢陵县| 长葛市| 庐江县| 兰西县| 娱乐| 共和县| 城口县| 邓州市| 集安市| 汽车| 奉节县| 通榆县| 防城港市| 闵行区| 遂宁市| 镇宁| 临沭县| 新竹县| 松江区| 信丰县| 成都市| 马尔康县| 松潘县| 乌什县| 共和县|