這是一個設置參考:
<host appBase="d:/你的自定義目錄">
<Context path="/smswap" reloadable="true" docBase="D:\workspace\smswap\WebRoot"></Context>
</host>我們先看appBase(默認設置appBase="webapps",即tomcat下的webapps文件夾),這個目錄表示:
1 這個目錄下面的子目錄將自動被部署爲應用。
2 這個目錄下面的.war文件將被自動解壓縮並部署爲應用而docBase只是指向了你某個應用的目錄,這個可以和appBase沒有任何關係。
總結:
如果你想自己指定路徑,那麼應該在docBase裏面(意思是應用放在磁盤其他文件夾裏,而不是tomcat目錄下)
如果你想簡單,那麼直接把他們複製到appBase(也就是webapps文件夾)下面就行了如果你把他們弄重複了,也就是2個指向了一個目錄,看上去也能運行,但你的應用下面的每個子目錄,其實是被部署爲單獨的應用的。
一、正常的設置方法
如果你想自己指定路徑(意思是放到磁盤其他文件夾,而不是tomcat的webapps下面),那麼應該在docBase裏面
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
<Context docBase="d:\ssm-redis" path="/ssm-redis" reloadable="true" source="org.eclipse.jst.jee.server:ssm-redis"/>
</Host>
如果你想簡單,那麼直接把他們複製到appBase下面就行了,不需要設置docBase。
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
//不要再設置contex,除非不在tomcat的webapps目錄下
</Host>
二、注意儘量不要同時設置
不要設置了appBase爲webapps以後,還在docbase裏繼續設置webapps的文件夾爲其他訪問地址;
以下配置是不合理的!
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
<Context docBase="ssm-redis" path="/redis" reloadable="true" source="org.eclipse.jst.jee.server:ssm-redis"/>
</Host>
webapps下的ssm-redis文件夾將會被運行爲兩個應用。兩個應用名稱地址分別是
1.localhost:/ssm-redis,這個是因爲設置了appBase="webapps"
2.localhost:/redis,這個是因爲設置了docbase和path。(docbase如果不寫絕對路徑,就認爲是webapps下面的相對路徑)
三、如果想要給webapps下的應用定義別名
如果webapps下的某個應用,一定非要設置爲某個別名。那麼 可以把appbase設置爲空,doc設置爲絕對路徑。
這樣不會啓動兩個應用。
<Host appBase="" autoDeploy="true" name="localhost" unpackWARs="true">
<Context docBase="d:\ssm-redis" path="/redis" reloadable="true" source="org.eclipse.jst.jee.server:ssm-redis"/>
</Host>
參考:
https://blog.csdn.net/liuxuejin/article/details/9104055
-----------------------------------------------------------------------------------------
四、關於tomcat默認管理頁面
Tomcat的默認工具manager配置,在很多的生產環境中由於基本用不到、或者是不太需要使用Tomcat默認的manager管理頁面時一般都會把Tomcat的默認webapp下的內容給刪除了,但是如果需要使用Tomcat默認的manager來管理項目時就需要保留相應的文件目錄。在Tomcat中的webapps中有如下目錄:docs(Tomcat本地說明文檔)、examples(Tomcat相關的deamon示例)、host-manager(主機頭管理工具)、manager(項目管理工具)、ROOT(Tomcat默認頁),
其中需要保留的是host-manager、manager、ROOT這3個目錄而從Tomcat 6開始爲了安全缺省條件下Tomcat的host-manager、manager是不能訪問的(http 401拒絕),如需訪問需要分配相關的角色權限。