Tomcat虛擬根目錄與虛擬目錄


tomcat版本:apache-tomcat-7.0.42

參考:http://blog.csdn.net/pangdingshan/article/details/7214786

一、虛擬根目錄

1.    Tomcat 的默認根目錄:D:\apache-tomcat-7.0.42\webapps\ROOT

2.    只能有一個默認根目錄

3.   一個 默認根目錄只能映射一個 “文件系統目錄”

啟動Tomcat后,在瀏覽器地址欄輸入:http://localhost:8080/,訪問的其實就是tomcat虛擬根目錄下的index.jsp文件。

二、tomcat怎么設置了虛擬根目錄?

在D:\apache-tomcat-7.0.42\conf目錄下的server.xml文件的Host元素中,name屬性:主機名稱,appBase屬性:基准目錄 ,基准目錄下的Root 目錄被自動設置為根目錄

?
1
2
3
4
< Host  name = "localhost"   appBase = "webapps"
     unpackWARs = "true"  autoDeploy = "true" >
     <!-- ... -->
</ Host >

 

三、如果修改虛擬根目錄?

在Host元素里,添加Context元素:

?
1
< Context  path = ""  docBase = "D:\test" ></ Context >

 

path: 為空代表網站根目錄

docBase:可以設置絕對路徑,也可設置相對路徑,相對路徑是相對 appBase 屬性所設的目錄而言的

此時再訪問:http://localhost:8080/,出現404錯誤頁面。因為在test目錄下存在1.html文件,在地址欄輸入:http://localhost:8080/1.html,可以訪問成功。

如果想即使不輸入1.hmtl也能默認訪問該文件,則需修改:D:\apache-tomcat-7.0.42\conf目錄下web.xml文件的<welcome-file-list>元素,將index.hmtl改為1.html,那么訪問http://localhost:8080/時就會默認訪問1.html

 

四、虛擬目錄(根目錄的子目錄)

  • 可以設置多個虛擬目錄

  • 一個文件系統目錄(docBase)可以被映射成多個虛擬目錄(path),即不同的path可以對應相同的docBase

  • 虛擬目錄名稱(path)可以是多級目錄結構的形式

  • 一個虛擬目錄就是一個獨立的web應用程序

五、如何設置虛擬目錄?

第1種:修改server.xml(建議使用第二種)

在server.xml文件的Host元素中,嵌套下面兩條語句:

?
1
2
< Context  path = "/test1"  docBase = "D:\test"  reloadable = "true" ></ Context >       
< Context  path = "/test2/test"  docBase = "D:\test"  reloadable = "true" ></ Context >

 

path: 表示虛擬目錄的名稱(前面的正斜杠“/”可以省略)

docBase:可以設置絕對路徑,也可設置相對路徑,相對路徑是相對 appBase 屬性所設的目錄而言的

reloadable:表示修改應用程序后,tomcat自動幫你部署(reload),不用重新啟動

(注意,設置debug屬性后,在tomcat6.0.39不會出現警告,而在tomcat7.0.42會出現警告)

添加后重啟tomcat

輸入:http://localhost:8080/test1/1.html,可以成功訪問。

輸入:http://localhost:8080/test2/test/1.html,也可以成功訪問

上面例子也說明:一個文件系統目錄(docBase)可以被映射成多個虛擬目錄(path),虛擬目錄名稱(path)可以是多級目錄結構的形式(/test2/test)

第2種:不修改server.xml,http://my.oschina.net/liangzhenghui/blog/184088


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM