環境說明:
Tomcat 解壓目錄:D:\tomcat-7.0.23
一、默認根目錄
概念及原則
1. Tomcat 的默認根目錄:D:\tomcat-7.0.23\webapps\ROOT(ROOT 目錄下必須有WEB-INF 目錄,ROOT 目錄纔會被設置爲默認根目錄)
2. 只能有一個默認根目錄
3. 一個 默認根目錄只能映射一個 “文件系統目錄”
虛擬根目錄的設置
1. Tomcat 自動將D:\tomcat-7.0.23\webapps\ROOT 設置爲根目錄
對應的設置爲:D:\tomcat-7.0.23\conf\server.xml 文件裏的 <Host> 元素,name屬性:主機名稱,appBase屬性:基準目錄 ,基準目錄下的Root 目錄被自動設置爲根目錄
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
2. 在 server.xml 文件中設置 <Context> 元素
<Context path="" docBase="F:\web" debug=”0“>
path: 爲空代表網站根目錄
docBase:可以設置絕對路徑,也可設置相對路徑,相對路徑是相對 appBase 屬性所設的目錄而言的
說明:每一個<Host> 元素是一個主機,<Context>元素是一個虛擬目錄
瀏覽測試路徑 URL:http://127.0.0.1:8080/index.html
<Context path="" docBase="\web" debug=”0“>
這時需要在D:\tomcat-7.0.23\webapps\web 目錄下存在,index.html 文件
瀏覽測試路徑 URL:http://127.0.0.1:8080/index.html 訪問的文件是D:\tomcat-7.0.23\webapps\web\index.html
二、虛擬子目錄
1. 可以設置多個 “虛擬目錄”
2. 可以將一個 “文件系統目錄” 映射成任意的單級或多級 “虛擬目錄” 結構形式
3. 一個 “文件系統目錄” 可以被映射成多個 “虛擬目錄”
URL請求所訪問的web文件的查找匹配原則:最長路徑匹配原則
先查找最長的 “虛擬目錄" 是否匹配URL路徑,如果不匹配,再查找匹配的短“虛擬目錄"
虛擬子目錄設置
1. 在 server.xml 文件中設置 <Context> 元素
<Context path="/pds" docBase="F:\web" debug=”0“>
path: 以 / 開頭 ,表示虛擬子目錄
docBase:可以設置絕對路徑,也可設置相對路徑,相對路徑是相對 appBase 屬性所設的目錄而言的
說明:每一個<Host> 元素是一個主機,<Context>元素是一個虛擬目錄
瀏覽測試路徑 URL:http://127.0.0.1:8080/pds/index.html
2. 特定目錄中包含的 XML 文檔包含<Context>元素
例如:
2.1 Tomcat 4.X 的<Tomcat 主目錄>/webapps 目錄
2.2 Tomcat 5.X 的<Tomcat 主目錄>/conf/<引擎名>/<主機名> 目錄
3. <Host> 元素的appBase 屬性所設置的基準目錄的下一級目錄中含有 WEB-INF/web.xml 文件
4. <Host> 元素的appBase 屬性所設置的基準目錄中有 var 文件
var 文件打包方式
只打包文件夾裏面的內容,不打包文件夾本身。 例如打包爲test.var
1. 進入文件夾F:\web,使用打包命令
jar -cvf test.var .
此時生成的var 包在 F:\web 目錄下
瀏覽測試路徑 URL:http://127.0.0.1:8080/pds/index.html
2. 不進入文件夾,在F:\ 路徑下,使用打包命令
jar -cvf test.var -C web .
此時生成的var 包在F:\ 目錄下,將 var 包放到 F:\web 目錄下
瀏覽測試路徑 URL:http://127.0.0.1:8080/pds/index.html
注意:在D:\tomcat-7.0.23\webapps 目錄或者D:\tomcat-7.0.23\webapps\ROOT 目錄下,貌似要解壓出來,我在測試時不加壓不行
說明:在編寫blog是使用了張孝祥老師的視頻截圖