tomcat把項目放到非webapp目錄下且訪問路徑

一、設置方法

   方法一:

廢話不多說先說設置方法,好處後面說,這裏以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設置爲讀取同一個路徑下的項目文件,就只需要放到這個目錄下一份即可,維護起來就方便很多。且訪問路徑中可以隱藏項目名稱。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章