亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

tomcat組成及原理

系統(tǒng) 2123 0
    Tomcat安裝好后打開(kāi)目錄;可以看到如下結(jié)構(gòu):
    

bin :存放服務(wù)器腳本;

conf :存放配置文件;

lib :存放需要的JAR文件;

wabapps :存放需要發(fā)布的Web應(yīng)用程序及其部署文件;

work :存放jsp 文件編繹生成的class文件;

logs :存放日志文件;

在conf目錄下可以看到 Catalina 目錄,context.xml, web.xml, server.xml 等(一些不是很重要的就不列出來(lái)了)。

server.xml 被稱(chēng)為T(mén)omcat的主配置文件或全局配置文件,它完成兩個(gè)任務(wù):
1)提供Tomcat組件的初始配置
2)說(shuō)明Tomcat的結(jié)構(gòu),含義,使Tomcat通過(guò)實(shí)例化組件完成啟動(dòng)及構(gòu)建自身。

server.xml中描述的重要元素有?Server?,Service?,Connector?,Engine?,Host?,Context?.
結(jié)構(gòu)如下:
Tomcat-配置及原理
它們的用處是:

Server:
頂層元素,整個(gè)配置文件的根元素,表示整個(gè)Servlet容器或者Tomcat服務(wù)器包含多個(gè)Listener,一個(gè)GlobalNamingResources和一個(gè)Service

Service:
一組Connector和一個(gè)Engine的集合,這組Connector共用一個(gè)Engine來(lái)處理所有Connector收到的請(qǐng)求,負(fù)責(zé)處理<Connector>所獲得到的客戶請(qǐng)求

Listener組:?
監(jiān)聽(tīng)器,用來(lái)管理Tomcat生命周期和全局資源

GlobalNamingResources:
配置系統(tǒng)的JNDI(Java Naming and Directory Interface)

Connector組:
連接器,代表外部客戶之間的接口,將在一個(gè)指定的接口上偵聽(tīng)客戶請(qǐng)求,并將獲得的請(qǐng)求交給<Engine>進(jìn)行處理,然后把處理結(jié)果返回給客戶

Engine:?
引擎,處理<Service>中的所有客戶請(qǐng)求,具體來(lái)說(shuō),獲得一個(gè)<Connectors>交給的請(qǐng)求后,把這個(gè)請(qǐng)求匹配到某個(gè)<Host>上進(jìn)行處理,如果沒(méi)有找到合適的<Host>來(lái)進(jìn)行處理,則把這個(gè)請(qǐng)求交給一個(gè)默認(rèn)虛擬主機(jī)處理。

Host組:
虛擬主機(jī),處理一個(gè)特定主機(jī)的請(qǐng)求,一般來(lái)說(shuō),每個(gè)虛擬主機(jī)都可以配置一個(gè)到多個(gè)Web應(yīng)用,每個(gè)Web應(yīng)用對(duì)應(yīng)一個(gè)<Context>,<Host>獲得的請(qǐng)求最終匹配到某個(gè)<Context>上,由它進(jìn)行處理。

Context組:?
Web應(yīng)用組,每個(gè)Web應(yīng)用由一個(gè)或多個(gè)Servlet組成,當(dāng)<Context>獲得一個(gè)請(qǐng)求后,將映射/conf/web.xml文件中的<servlet>元素,匹配一個(gè)Servlet類(lèi)進(jìn)行處理并返回。當(dāng)一個(gè)Web應(yīng)用被初始化的時(shí)候,它將用自己的ClassLoader對(duì)象載入web.xml中定義的每個(gè)Servlet類(lèi)。

我們啟動(dòng)Tomcat,在瀏覽器中輸入:http://localhost:8080/ 會(huì)打開(kāi)Tomcat的默認(rèn)頁(yè)面。實(shí)際上,這個(gè)頁(yè)面是在Tomcat安裝目錄下的:/webapps/root/index.jsp;/webapps是Tomcat服務(wù)器用來(lái)存放Web應(yīng)用的目錄,每個(gè)Web應(yīng)用都將在這建立各自的子目錄,剛裝好的Tomcat服務(wù)器虛擬主機(jī)的默認(rèn)目錄是/webapps/ROOT,所以默認(rèn)會(huì)打開(kāi)這個(gè)目錄下的文件。流程如下:
在/conf目錄下的web.xml配置文件中有如下配置:
<welcome-file-list>
????????<welcome-file>index.html</welcome-file>
????????<welcome-file>index.htm</welcome-file>
????????<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
這里正是用來(lái)配置首頁(yè)的,Tomcat將按順序找出<welcome-file>標(biāo)簽中的內(nèi)容作為首頁(yè)。而在我們的目錄下,它只找到了index.jsp,所以會(huì)顯示它;
但我們不能將所有的Web程序都放在ROOT里。所以我們需要更改Tomcat的虛擬目錄;

要設(shè)置虛擬路徑,需要在server.xml文件的<Host></Host>中的Web應(yīng)用添加一個(gè)<Context>子元素,實(shí)際上是配置了一個(gè)Web應(yīng)用的物理存放地址到Tomcat虛擬路徑的過(guò)程,使得Tomcat能夠正確找到Web應(yīng)用的物理存放路徑;
步驟:
1)在server.xml的<Host></Host>中加上如下代碼:
<Context docBase="D:/myApp" path="/myapp" reloadable="true"></Context>
2)我們把寫(xiě)好的Web應(yīng)用中的所有文件放到下面的目錄中:D:/myapp/test
3)重啟Tomcat,在瀏覽器中輸入:http://localhost:8080/test 即可測(cè)試

web.xml
Tomcat目錄下/conf 可為不同的應(yīng)用程序配置不同的上下文環(huán)境;用來(lái)對(duì)Servlet進(jìn)行映射;
一個(gè)Web應(yīng)用的根目錄下的/WEB-INF目錄中也有一個(gè)web.xml,當(dāng)部署一個(gè)Web應(yīng)用時(shí),總是先加載/conf/web.xml,然后才加載自己Web應(yīng)用的/WEB-INF/web.xml文件;但處理過(guò)程中,總是先使用自己的web.xml配置文件,如果無(wú)法處理,才把它交給Tomcat的web.xml文件。
    
      
        http://localhost:8080/wsota/wsota_index.jsp
      
    
  
    
      
        1) 請(qǐng)求被發(fā)送到本機(jī)端口8080,被在那里偵聽(tīng)的Coyote HTTP/1.1 Connector獲得
      
    
    
2) Connector把該請(qǐng)求交給它所在的Service的Engine來(lái)處理,并等待來(lái)自Engine的回應(yīng)
3) Engine獲得請(qǐng)求localhost/wsota/wsota_index.jsp,匹配它所擁有的所有虛擬主機(jī)Host
4) Engine匹配到名為localhost的Host(即使匹配不到也把請(qǐng)求交給該Host處理,因?yàn)樵揌ost被定義為該Engine的默認(rèn)主機(jī))
5) localhost Host獲得請(qǐng)求/wsota/wsota_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類(lèi)
9) 構(gòu)造HttpServletRequest對(duì)象和HttpServletResponse對(duì)象,作為參數(shù)調(diào)用JspServlet的doGet或doPost方法
10)Context把執(zhí)行完了之后的HttpServletResponse對(duì)象返回給Host
11)Host把HttpServletResponse對(duì)象返回給Engine
12)Engine把HttpServletResponse對(duì)象返回給Connector
13)Connector把HttpServletResponse對(duì)象返回給客戶browser

tomcat組成及原理


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 五月桃花网婷婷亚洲综合 | 久久香蕉综合精品国产 | 日韩亚洲人成在线综合 | 久久草在线视频观看 | 国产精品一级香蕉一区 | 国产日韩久久久精品影院首页 | 欧美一级毛片免费高清aa | 九月丁香婷婷亚洲综合色 | 国产日韩亚洲欧洲一区二区三区 | 久久精品国产亚洲a不卡 | 伊人伊人影院 | 青娱乐91视频 | 深夜精品影院18以下勿进 | 男人懂的网站 | 久久精品亚洲热综合一本奇米 | 久久精品香蕉视频 | 亚洲区欧美 | 九九精品免费视频 | 亚洲高清在线观看看片 | 国产精品亚洲综合久久 | 国产一区二区高清在线 | 奇米免费视频 | 国产综合色在线视频区 | 久久红综合久久亚洲网色 | 国产高清国内精品福利99久久 | 国产成人在线免费观看 | 欧美影院久久 | 久久亚洲综合网 | 人做人爱视频欧美在线观看 | 欧美一级毛片片aa视频 | 国产成人综合视频 | 伊人久久成人成综合网222 | 伊人成综合 | 久久久久久久国产a∨ | 久久综合精品视频 | 成人毛片免费观看视频大全 | 91中文字幕在线播放 | 亚洲欧美综合一区二区三区四区 | 久久久精品久久视频只有精品 | 蜜桃视频黄色 | 亚洲综合色婷婷久久 |