一、設置方法
方法一:
廢話不多說先說設置方法,好處後面說,這裏以tomcat7或8爲例,最新的tomcat9沒試過,不過應該差不多。
1.首先進入tomcat的conf目錄下,新建名稱爲 Catalina 的文件夾
2.進入Catalina文件夾下,新建名稱爲 localhost的文件夾
3.進入localhost文件價下,新建名稱爲ROOT.xml(後面解釋爲何是叫ROOT),ROOT.xml內容如下:
<Context path="" docBase="/xxxx/xxxx/api" reloadable="false" antiJARLocking="true" antiResourceLocking="false"></Context>
完整路徑爲:tomcat/conf/Catalina/localhost/ROOT.xml
4.說明:
docBase:你想設置的tomcat加載項目的路徑
path="" :path設置爲空默認覆蓋tomcat的ROOT目錄,而我們訪問訪問ROOT目錄是無需項目名稱的,直接localhost:8080即可。所以第三步中我們新建的xml名稱爲ROOT.xml。這樣做的目的就是項目url的時候可以隱藏項目名字,避免暴露。
path也可以設置爲自己想要的名字,但是如果這麼做,那麼第三步中,ROOT.xml的名字必須和path設置的一模一樣。且訪問項目的時候路徑爲 localhost:8080/path裏設置的名字,這麼做也可以隱藏真實的項目名字。
方法二:
直接修改conf目錄下的server.xml文件,具體如下:
找到 Host節點 ,在其中添加:<Context path="" docBase="換成你的路徑" reloadable="true"></Context>
注意:如果你是按上述方法描述配置且docBase路徑也是正確,那就把你的tomcat的緩存文件(work\Catalina\localhost和temp目錄)刪除就起效了。
二、應用場景
在生產環境中,把打包好的項目都放到每個tomcat下的webapp目錄下不是很方便,比如當一臺機器上有多個tomcat容器,那就要把多個包或者編譯好的文件分別放到多個tomcat的webapp目錄下,這樣不利於維護,需要多次copy。
三、好處
如果把多個tomcat設置爲讀取同一個路徑下的項目文件,就只需要放到這個目錄下一份即可,維護起來就方便很多。且訪問路徑中可以隱藏項目名稱。