Tomcat入門教程

一遣铝、Tomcat服務(wù)器端口的配置

Tomcat的所有配置都放在conf文件夾之中外潜,里面的server.xml文件是配置的核心文件玖媚。

如果想修改Tomcat服務(wù)器的啟動(dòng)端口精续,則可以在server.xml配置文件中的Connector節(jié)點(diǎn)進(jìn)行的端口修改

例如:將Tomcat服務(wù)器的啟動(dòng)端口由默認(rèn)的8080改成8081端口

Tomcat服務(wù)器啟動(dòng)端口默認(rèn)配置

???????????????connectionTimeout="20000"???????????????redirectPort="8443" />

將Tomcat服務(wù)器啟動(dòng)端口修改成8081端口

???????????????connectionTimeout="20000"???????????????redirectPort="8443" />

這樣就把原來(lái)默認(rèn)Tomcat默認(rèn)的的8080端口改成了8081端口了坝锰,需要注意的是,一旦服務(wù)器中的*.xml文件改變了重付,則Tomcat服務(wù)器就必須重新啟動(dòng)顷级,重新啟動(dòng)之后將重新讀取新的配置信息。因?yàn)橐呀?jīng)在server.xml文件中將Tomcat的啟動(dòng)端口修改成了8081确垫,所以Tomcat服務(wù)器啟動(dòng)時(shí)就以8081端口啟動(dòng)了?

訪問(wèn)Tomcat服務(wù)器也必須以新的訪問(wèn)端口去訪問(wèn):http://localhost:8081/

二弓颈、Tomcat服務(wù)器虛擬目錄的映射方式

Web應(yīng)用開發(fā)好后,若想供外界訪問(wèn)删掀,需要把web應(yīng)用所在目錄交給web服務(wù)器管理翔冀,這個(gè)過(guò)程稱之為虛似目錄的映射。那么在Tomcat服務(wù)器中披泪,如何進(jìn)行虛擬目錄的映射呢纤子?總共有如下的幾種方式:

2.1

、虛擬目錄的映射方式一:在server.xml文件的host元素中配置

找到server.xml文件的host元素

在<Host></Host>這對(duì)標(biāo)簽加上<Context path="/JavaWebApp" docBase="F:\JavaWebDemoProject"

/>即可將在F盤下的JavaWebDemoProject這個(gè)JavaWeb應(yīng)用映射到JavaWebApp這個(gè)虛擬目錄上付呕,JavaWebApp這個(gè)虛擬目錄是由Tomcat服務(wù)器管理的计福,JavaWebApp是一個(gè)硬盤上不存在的目錄,是我們自己隨便寫的一個(gè)目錄徽职,也就是虛擬的一個(gè)目錄象颖,所以稱之為"虛擬目錄",代碼如下:

<Host name="localhost"?appBase="webapps" unpackWARs="true"

autoDeploy="true"????????xmlValidation="false" xmlNamespaceAware="false">

????<Context path="/JavaWebApp"

docBase="F:\JavaWebDemoProject" />?

其中姆钉,Context表示上下文说订,代表的就是一個(gè)JavaWeb應(yīng)用,Context元素有兩個(gè)屬性潮瓶,

Ⅰ.path:用來(lái)配置虛似目錄陶冷,必須以"/"開頭。

Ⅱ.docBase:配置此虛似目錄對(duì)應(yīng)著硬盤上的Web應(yīng)用所在目錄毯辅。

使用瀏覽器訪問(wèn)"/JavaWebApp"這個(gè)虛擬目錄下的1.jsp這個(gè)web資源埂伦,訪問(wèn)結(jié)果如下:

1.jsp可以正常訪問(wèn),這說(shuō)明我們已經(jīng)成功地將將在F盤下的JavaWebDemoProject這個(gè)JavaWeb應(yīng)用映射到JavaWebApp這個(gè)虛擬目錄上了思恐,訪問(wèn)"/JavaWebApp/1.jsp"就相當(dāng)于訪問(wèn)"F:\JavaWebDemoProject\1.jsp"

注意:在Tomcat6之后中沾谜,不再建議在server.xml文件中使用配置context元素的方式來(lái)添加虛擬目錄的映射膊毁,因?yàn)槊看涡薷膕erver.xml文件后,Tomcat服務(wù)器就必須要重新啟動(dòng)后才能重新加載server.xml文件基跑。在Tomcat服務(wù)器的文檔http://localhost:8080/docs/config/context.html中有這樣的說(shuō)明:

It isNOT recommended to place elements directly in the server.xmlfile. This is because it makes modifying theContext configuration more invasivesince the main conf/server.xml file cannot be reloaded without restartingTomcat.

IndividualContext elements may be explicitly defined:

???In an individual file at /META-INF/context.xml inside the application files.

Optionally (based on the Host's copyXML attribute) this may be copied to

$CATALINA_BASE/conf/[enginename]/[hostname]/ and renamed to application's base

file name plus a ".xml" extension.???In individual files (with a ".xml" extension) in the

$CATALINA_BASE/conf/[enginename]/[hostname]/ directory. The context path and

version will be derived from the base name of the file (the file name less the

.xml extension). This file will always take precedence over any context.xml

file packaged in the web application's META-INF directory.???Inside a Host element in the main conf/server.xml.

2.2婚温、虛擬目錄的映射方式二:讓tomcat服務(wù)器自動(dòng)映射

? tomcat服務(wù)器會(huì)自動(dòng)管理webapps目錄下的所有web應(yīng)用,并把它映射成虛似目錄媳否。換句話說(shuō)栅螟,tomcat服務(wù)器webapps目錄中的web應(yīng)用,外界可以直接訪問(wèn)篱竭。

例如:把F盤下的JavaWebDemoProject這個(gè)JavaWeb應(yīng)用直接copy到tomcat服務(wù)器webapps目錄中力图,如下圖所示:此時(shí)Tomcat服務(wù)器就會(huì)自動(dòng)為JavaWebDemoProject這個(gè)JavaWeb應(yīng)用映射一個(gè)同名的虛擬目錄"/JavaWebDemoProject",然后就可以使用瀏覽器訪問(wèn)這個(gè)JavaWeb應(yīng)用的資源了室抽,如下圖所示:

2.3

搪哪、虛擬目錄的映射方式三

參考Tomcat服務(wù)器文檔:

Inindividual files (with a ".xml" extension) in the$CATALINA_BASE/conf/[enginename]/[hostname]/ directory. The context path andversion will be derived from the base name of the file (the file name less the.xml extension). This file will always take precedence over any context.xmlfile packaged in the web application's META-INF directory.

意思就是:在tomcat服務(wù)器的\conf\Catalina\localhost目錄下添加一個(gè)以xml作為擴(kuò)展名的文件,xml文件的名字可以任意取坪圾,比如下面的aa.xml晓折,注意這一句話"The context path and version will be derived from the base

name of the file",這一句話的意思翻譯過(guò)來(lái)就是"context元素的path屬性源自于是這個(gè)xml文件的名字"兽泄,上面提到過(guò)漓概,Context元素的path屬性是用來(lái)配置虛似目錄的名稱的,所以虛似目錄的名稱就是這個(gè)xml文件的名稱病梢。

$CATALINA_BASE指的就是tomcat服務(wù)器根目錄胃珍,[enginename]指的是Tomcat服務(wù)器使用的引擎名稱,Tomcat使用的引擎是Catalina

在aa.xml文件中添加Context元素映射JavaWeb應(yīng)用蜓陌,代碼如下:

1

注意:在Context元素中并沒(méi)有指明path屬性來(lái)設(shè)置虛擬目錄的名稱觅彰,那么"F:\JavaWebDemoProject"映射的虛擬目錄名稱是神馬呢,就是當(dāng)前正在編輯的這個(gè)xml文件的名稱aa钮热。

使用這種方式映射虛擬目錄的最大好處是修改了配置文件后不用重啟Tomcat服務(wù)器填抬,比如將aa.xml修改成bb.xml,Tomcat服務(wù)器會(huì)自動(dòng)Undeploying context [/aa]隧期,然后自動(dòng)信息: Deployingconfiguration descriptor D:\apache-tomcat-7.0.53\conf\Catalina\localhost\bb.xml

三飒责、Tomcat服務(wù)器配置虛似主機(jī)

3.1

、配置虛擬主機(jī)

配置虛似主機(jī)就是配置一個(gè)網(wǎng)站仆潮。在Tomcat服務(wù)器配置一個(gè)虛擬主機(jī)(網(wǎng)站)宏蛉,需要修改conf文件夾下的server.xml這個(gè)配置文件,使用Host元素進(jìn)行配置性置,打開server.xml拾并,可以看到Tomcat服務(wù)器自帶的一個(gè)名稱為localhost的虛擬主機(jī)(網(wǎng)站),如下圖所示:

平時(shí)我們將開發(fā)好的JavaWeb應(yīng)用放到webapps文件夾下,然后就可以使用"http://localhost:端口號(hào)/JavaWebAppName"的方式去訪問(wèn)了嗅义,其實(shí)訪問(wèn)的就是name是"localhost"的那臺(tái)虛擬主機(jī)(Host)个榕,這臺(tái)虛擬主機(jī)管理webapps文件夾下的所有web應(yīng)用。

例如:http://localhost:8080/JavaWebDemoProject/1.jsp芥喇,這個(gè)URL地址訪問(wèn)的就是名稱是localhost的那臺(tái)虛擬主機(jī)下的JavaWebDemoProject這個(gè)應(yīng)用里面的1.jsp這個(gè)web資源。

? 我們可以使用如下的方式配置一個(gè)虛擬主機(jī)凰萨,例如:?

這里我們新配置一個(gè)虛擬主機(jī)继控,虛擬主機(jī)的name是"www.gacl.cn",虛擬主機(jī)"www.gacl.cn"現(xiàn)在管理著JavaWebApps文件夾下的所有web應(yīng)用胖眷,平時(shí)我們?cè)诨ヂ?lián)網(wǎng)上使用域名"www.baidu.com"訪問(wèn)百度的網(wǎng)站時(shí)武通,其實(shí)就是在訪問(wèn)一個(gè)名稱是"www.baidu.com"的虛擬主機(jī),所以當(dāng)我們要訪問(wèn)name是"www.gacl.cn"的這個(gè)虛擬主機(jī)時(shí)珊搀,就可以使用"域名(www.gacl.cn)"去訪問(wèn)冶忱,注意一下appBase="F:\JavaWebApps",這里的JavaWebApps文件夾代表的不是一個(gè)項(xiàng)目的根目錄境析,而是一個(gè)存放了一個(gè)或者多個(gè)JavaWeb應(yīng)用的文件夾囚枪,

就好像是Tomcat服務(wù)器的webapps文件夾一樣,里面存放了很多的JavaWeb應(yīng)用

3.2

劳淆、windows系統(tǒng)中注冊(cè)域名

配置的主機(jī)(網(wǎng)站)要想通過(guò)域名被外部訪問(wèn)链沼,必須在DNS服務(wù)器或windows系統(tǒng)中注冊(cè)訪問(wèn)網(wǎng)站時(shí)使用的域名,找到"C:\Windows\System32\drivers\etc"目錄下的hosts文件

編輯這個(gè)文件沛鸵,將新添加的網(wǎng)站的域名和IP地址綁定在一起括勺,這樣我們就可以在瀏覽器中使用www.gacl.cn這個(gè)域名去訪問(wèn)name是www.gacl.cn那個(gè)虛擬主機(jī)里面管理的那些web應(yīng)用了

使用瀏覽器通過(guò)域名"www.gacl.cn"訪問(wèn)"www.gacl.cn"這個(gè)虛擬主機(jī)下的JavaWebDemo1這個(gè)web應(yīng)用下的1.jsp這個(gè)web資源,"www.gacl.cn"這個(gè)虛擬主機(jī)開放了一個(gè)8080端口曲掰,用戶只能通過(guò)這個(gè)8080端口去訪問(wèn)JavaWebDemo1這個(gè)web應(yīng)用下的1.jsp這個(gè)web資源四疾捍、瀏覽器與服務(wù)器交互的過(guò)程4.1、瀏覽器與服務(wù)器交互圖當(dāng)我們打開瀏覽器栏妖,在瀏覽器的地址欄中輸入U(xiǎn)RL地址"http://www.gacl.cn:8080/JavaWebDemo1/1.jsp"去訪問(wèn)服務(wù)器上的1.jsp這個(gè)web資源的過(guò)程中乱豆,瀏覽器和服務(wù)器都做了神馬操作呢,我們是怎么在瀏覽器里面看到1.jsp這個(gè)web資源里面的內(nèi)容的呢底哥?

瀏覽器和服務(wù)器做了以下幾個(gè)操作:

1咙鞍、瀏覽器根據(jù)主機(jī)名"www.gacl.cn"去操作系統(tǒng)的Hosts文件中查找主機(jī)名對(duì)應(yīng)的IP地址。

2趾徽、瀏覽器如果在操作系統(tǒng)的Hosts文件中沒(méi)有找到對(duì)應(yīng)的IP地址续滋,就去互聯(lián)網(wǎng)上的DNS服務(wù)器上查找"www.gacl.cn"這臺(tái)主機(jī)對(duì)應(yīng)的IP地址肃续。

3微峰、瀏覽器查找到"www.gacl.cn"這臺(tái)主機(jī)對(duì)應(yīng)的IP地址后,就使用IP地址連接到Web服務(wù)器葡幸。

4、瀏覽器連接到web服務(wù)器后朗恳,就使用http協(xié)議向服務(wù)器發(fā)送請(qǐng)求湿颅,發(fā)送請(qǐng)求的過(guò)程中,瀏覽器會(huì)向Web服務(wù)器以Stream(流)的形式傳輸數(shù)據(jù)粥诫,告訴Web服務(wù)器要訪問(wèn)服務(wù)器里面的哪個(gè)Web應(yīng)用下的Web資源

這就是瀏覽器向Web服務(wù)器發(fā)請(qǐng)求時(shí)向服務(wù)器傳輸?shù)臄?shù)據(jù)油航,解釋一下"GET /JavaWebDemo1/1.jsp HTTP/1.1"這里面的內(nèi)容,

GET:告訴Web服務(wù)器怀浆,瀏覽器是以GET的方式向服務(wù)器發(fā)請(qǐng)求谊囚。

/JavaWebDemo1/1.jsp:告訴Web服務(wù)器,瀏覽器要訪問(wèn)JavaWebDemo1應(yīng)用里面的1.jsp這個(gè)Web資源执赡。

HTTP/1.1:告訴Web服務(wù)器镰踏,瀏覽器是以HTTP協(xié)議請(qǐng)求的,使用的是1.1的版本沙合。

5奠伪、瀏覽器做完上面4步工作后,就開始等待首懈,等待Web服務(wù)器把自己想要訪問(wèn)的1.jsp這個(gè)Web資源傳輸給它绊率。

6、服務(wù)器接收到瀏覽器傳輸?shù)臄?shù)據(jù)后究履,開始解析接收到的數(shù)據(jù)即舌,服務(wù)器解析"GET /JavaWebDemo1/1.jsp HTTP/1.1"里面的內(nèi)容時(shí)知道客戶端瀏覽器要訪問(wèn)的是JavaWebDemo1應(yīng)用里面的1.jsp這個(gè)Web資源,然后服務(wù)器就去讀取1.jsp這個(gè)Web資源里面的內(nèi)容挎袜,將讀到的內(nèi)容再以Stream(流)的形式傳輸給瀏覽器顽聂,如下圖所示:

這個(gè)就是Web服務(wù)器傳輸給瀏覽器的數(shù)據(jù)。

7盯仪、瀏覽器拿到服務(wù)器傳輸給它的數(shù)據(jù)之后紊搪,就可以把數(shù)據(jù)展現(xiàn)給用戶看了,如下圖所示:

看到的這個(gè)"JavaWebDemo1"就是瀏覽器解析服務(wù)器發(fā)送回來(lái)的數(shù)據(jù)后的效果

服務(wù)器發(fā)送回來(lái)的數(shù)據(jù):

HTTP/1.1 200 OK?Server: Apache-Coyote/1.1?Content-Type: text/html;charset=ISO-8859-1?Content-Length: 102

?Date: Mon, 19 May 2014 14:25:14 GMT?


?????????<title>JavaWebDemo1</title>????


????????JavaWebDemo1



這就是瀏覽器和服務(wù)器的交互過(guò)程全景。五耀石、JavaWeb應(yīng)用的組成結(jié)構(gòu)

開發(fā)JavaWeb應(yīng)用時(shí),不同類型的文件有嚴(yán)格的存放規(guī)則爸黄,否則不僅可能會(huì)使web應(yīng)用無(wú)法訪問(wèn)滞伟,還會(huì)導(dǎo)致web服務(wù)器啟動(dòng)報(bào)錯(cuò)

WebRoot →Web應(yīng)用所在目錄,一般情況下虛擬目錄要配置到此文件夾當(dāng)中炕贵。

┝WEB-INF:此文件夾必須位于WebRoot文件夾里面梆奈,而且必須以這樣的形式去命名,字母都要大寫称开。

┝web.xml:配置文件亩钟,有格式要求乓梨,此文件必須以這樣的形式去命名,并且必須放置到WEB-INF文件夾中清酥。

web.xml的格式可以直接從Tomcat中參考得到:找到Tomcat目錄下的webapps\ROOT\WEB-INF這個(gè)目錄下的web.xml文件扶镀,把這個(gè)文件拷貝到我們新建的WEB-INF文件夾中,并修改這個(gè)web.xml文件焰轻,把里面的注釋刪除掉臭觉,只留下如下所示的代碼即可:

web.xml:

<?xml version="1.0"

encoding="ISO-8859-1"?>?

????xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

????xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"????version="2.5">???<display-name>Welcome to Tomcat</display-name>???

??????Welcome to Tomcat



這就是web.xml這個(gè)文件的格式

?

文章轉(zhuǎn)載出處:https://blog.csdn.net/u012562943/article/details/50457354

原作者:科技D人生

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市辱志,隨后出現(xiàn)的幾起案子胧谈,更是在濱河造成了極大的恐慌,老刑警劉巖荸频,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異客冈,居然都是意外死亡旭从,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門场仲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)和悦,“玉大人,你說(shuō)我怎么就攤上這事渠缕「胨兀” “怎么了?”我有些...
    開封第一講書人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵亦鳞,是天一觀的道長(zhǎng)馍忽。 經(jīng)常有香客問(wèn)我,道長(zhǎng)燕差,這世上最難降的妖魔是什么遭笋? 我笑而不...
    開封第一講書人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮徒探,結(jié)果婚禮上瓦呼,老公的妹妹穿的比我還像新娘。我一直安慰自己测暗,他們只是感情好央串,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著碗啄,像睡著了一般质和。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上稚字,一...
    開封第一講書人閱讀 51,146評(píng)論 1 297
  • 那天侦另,我揣著相機(jī)與錄音,去河邊找鬼。 笑死褒傅,一個(gè)胖子當(dāng)著我的面吹牛弃锐,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播殿托,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼霹菊,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了支竹?” 一聲冷哼從身側(cè)響起旋廷,我...
    開封第一講書人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎礼搁,沒(méi)想到半個(gè)月后饶碘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡馒吴,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年扎运,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片饮戳。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡豪治,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出扯罐,到底是詐尸還是另有隱情负拟,我是刑警寧澤,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布歹河,位于F島的核電站掩浙,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏秸歧。R本人自食惡果不足惜涣脚,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望寥茫。 院中可真熱鬧遣蚀,春花似錦、人聲如沸纱耻。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)弄喘。三九已至玖喘,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蘑志,已是汗流浹背累奈。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工贬派, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人澎媒。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓搞乏,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親戒努。 傳聞我的和親對(duì)象是個(gè)殘疾皇子请敦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容