溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

tomcat目錄映射的方法

發(fā)布時間:2022-05-10 10:27:00 來源:億速云 閱讀:269 作者:zzz 欄目:大數(shù)據(jù)

今天小編給大家分享一下tomcat目錄映射的方法的相關(guān)知識點,內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

  web應(yīng)用的概念:一個web應(yīng)用包含了許多我們做好的web資源,里面或許包括了多個靜態(tài)web資源和動態(tài)web資源,如html、css、js文件,jsp文件,java程序,jar包和配置文件等等,如我在tomcat的【webapps】目錄下的自定義目錄【fjdingsdapp】中包含了一個1.html文件,那么這個在【fjdingsdapp】整個可以運行文件中的所有資源可以稱為是我開發(fā)的一個web應(yīng)用程序,簡稱web應(yīng)用,而單單【fjdingsdapp】這個包含所有我開發(fā)的web資源稱為我的web應(yīng)用所在目錄。

  而我們將web應(yīng)用開發(fā)好之后,若想供外界訪問,那么久需要把web應(yīng)用所在目錄交給服務(wù)器管理,這個過程稱為虛擬目錄的映射。

服務(wù)器的虛擬目錄映射有三種方式:

  第一種(不推薦):

  雖然這種方式不推薦,但是可以用來設(shè)置自己開發(fā)的web應(yīng)用的首頁,無需再鍵入虛擬目錄名和資源名作為url路徑。

  在server.xml文件中找到host標(biāo)簽元素,在其下使用context標(biāo)簽,注意這是在操作xml文件,xml文件是區(qū)分大小寫的,一個context標(biāo)簽就代表一個web應(yīng)用。

  假設(shè)我的tomcat服務(wù)器在【f】盤,其【webapps】目錄中沒有我的web應(yīng)用,而我的web應(yīng)用放在【d】盤的【mywebapp】目錄中,該目錄下有一個1.html文件,要想在瀏覽器中能訪問到我的這個web應(yīng)用,我在tomcat的server.xml文件中找到host標(biāo)簽,添加context標(biāo)簽并配置屬性(注意這是無結(jié)束標(biāo)簽,要注意結(jié)束方式/),如下示例:

hostappbase="webapps"autodeploy="true"name="localhost"unpackwars="true"
contextpath=""docbase="d:\mywebapp"/
/host

path屬性:虛擬目錄的名稱,也就是對外訪問路徑,本地硬盤中不一定有這個目錄,但是如果path屬性有值,在瀏覽器地址欄必須輸入。這里為缺省值。

docbase屬性:web應(yīng)用所在目錄,這個是硬盤中必須存在的,在這個目錄中放的是我們的web資源。

  每次配置server.xml文件后,必須重啟tomcat服務(wù)器。

  由于我們設(shè)置了context的path屬性為缺省值,因此在地址和端口之后只需要輸入資源名即可:

  tomcat目錄映射的方法

  如果path屬性有值,比如path=123?。S便寫的)

contextpath="123"docbase="d:\mywebapp"/

  那么瀏覽器在輸入時必須有這個路徑才能訪問到對應(yīng)的文件:

  tomcat目錄映射的方法

    結(jié)尾:一個context標(biāo)簽即代表一個web應(yīng)用,因此在host標(biāo)簽下可以有多個web應(yīng)用,但是這些context中的path屬性只能有一個是缺省值。context元素在配置文件中除用于映射虛擬目錄之外,還可以用于為web應(yīng)用配置一些資源,例如配置web應(yīng)用使用的數(shù)據(jù)庫連接池,javamailsession等(這些配置以后會介紹到)。

  之所以不推薦這種方法,這是因為在tomcat服務(wù)器的說明上已經(jīng)表明這種方法需要經(jīng)常性的修改server.xml文件,而每次修改都需要重啟服務(wù)器

  tomcat目錄映射的方法

  看到如下的說明:

tomcat目錄映射的方法

  ================================================

  第二種:

  同樣在tomcat對于context標(biāo)簽的說明中,有這么一種方式:

tomcat目錄映射的方法

  這是另一種定義context標(biāo)簽的方式,無需在host標(biāo)簽下定義,這種方式的好處是不需要每次都要重啟tomcat,那么這種方式應(yīng)該怎么做呢?

  首先,我們需要自定義一個xml文件,而這個xml文件的文件名(除去".xml"的部分)將會作為今后瀏覽器輸入的路徑名,類似于這個文件名是虛擬目錄名稱(即對外訪問路徑),我們需要在這個自定義的xml文件中添加context元素,這種方式就不需要添加path屬性了,因為文件名已經(jīng)代替了。

  其次,在上圖中有這么一段路徑:$catalina_base/conf/[enginename]/[hostname]/directory,我設(shè)的正是tomcat的主目錄,而conf正好也是tomcat下的配置文件目錄名,那么[enginename]和[hostname]對應(yīng)的目錄是什么呢?我們打開server.xml文件,看到里面有的engine和host這兩個標(biāo)簽(host就是第一種方式中所說的那個)

 enginedefaulthost="localhost"name="catalina"

...(此處省略其他內(nèi)容)

hostappbase="webapps"autodeploy="true"name="localhost"unpackwars="true"
/host
/engine

可以看到這兩個標(biāo)簽中正好都有name屬性,engine元素的name屬性值為catalina,host元素的name屬性值為localhost,正好是【conf】目錄下的【catalina】目錄,和【catalina】目錄下的【localhost】目錄:

  tomcat目錄映射的方法

  在【localhost】目錄中,就是我們要放置的自定義xml文件。

  現(xiàn)在,我的web應(yīng)用所在目錄為【d】盤中的【mywebapp】目錄中,而這回不需要去server.xml文件中配置路徑,我在tomcat目錄下的【conf】--【catalina】--【localhost】下創(chuàng)建一個rr.xml文件:

  tomcat目錄映射的方法

在d盤下放置我的web應(yīng)用

  tomcat目錄映射的方法

在指定的tomcat路徑中放置我的xml配置文件,將會映射到我的web應(yīng)用

  在rr.xml文件中的代碼就一行:

contextdocbase="d:\mywebapp"/

  之前說過,自定義的xml文件名是作為對外訪問路徑,所以要想在瀏覽器中訪問我的web應(yīng)用,就該這么輸入,能看到:

  tomcat目錄映射的方法

  當(dāng)然這還沒完,繼續(xù)開著服務(wù)器不要關(guān),我們在在tomcat目錄下的【conf】--【catalina】--【localhost】下再創(chuàng)建一個"dsd.xml"文件,內(nèi)容同rr.xml文件,將瀏覽器的路徑修改,可以看到:

  tomcat目錄映射的方法

  是的,這種方式能避免經(jīng)常重啟tomcat服務(wù)器。

  由自定義的xml文件可以通過文件名來增加多級訪問路徑,以#相隔,例如:

  tomcat目錄映射的方法

那么瀏覽器地址欄應(yīng)該這么輸入:

  tomcat目錄映射的方法

  當(dāng)然,第一種方式還有缺省的類型,那么第二種方式是否也能這樣呢,那就需要定義一個root.xml文件了,對,文件名就叫root,必須全部大寫,在root.xml中的內(nèi)容依然還是為

contextdocbase="d:\mywebapp"/

那么瀏覽器就可以省略虛擬目錄名(對外訪問路徑),如下:

  tomcat目錄映射的方法

context的最后:

  context標(biāo)簽有一個reloadable屬性,能運行tomcat自動加載更新后的web應(yīng)用,尤其是在web應(yīng)用中有新的java程序更新時,但是這個屬性是要避免使用的,通常web應(yīng)用都是比較大的,如果設(shè)置了這個屬性,tomcat服務(wù)器容易卡死,因此不建議使用。

  第三種:

  讓tomcat自動映射,tomcat會自動管理其【webapps】目錄下的所有web應(yīng)用,并把這些web應(yīng)用所在目錄映射成虛擬目錄。因此我們只要講自己開發(fā)好的web應(yīng)用放置在tomcat的【webapps】目錄下即可。而對外訪問的路徑名稱就是web應(yīng)用所在目錄的名稱。

  如我在【webapps】目錄下創(chuàng)建一個自定義目錄【mywebapp】,里面含有一個3.html文件,

  tomcat目錄映射的方法----tomcat目錄映射的方法

  那么在瀏覽器中輸入地址:

  tomcat目錄映射的方法

  通過這種方式,也無需重啟服務(wù)器。

  那么通過這種方式可以指定web應(yīng)用所在目錄的默認(rèn)頁面,在目錄【mywebapp】下定義一個index.html。文件名一定是index才行,其他文件名會查找不到,這時在瀏覽器中只需要鍵入地址和web應(yīng)用所在目錄(已作為虛擬目錄)即可,無需鍵入對應(yīng)資源名(不需要再多加index.html):

  tomcat目錄映射的方法

以上就是“tomcat目錄映射的方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI