TOMCAT虚拟路径配置
在tomcat安裝好后,只要把你的web項(xiàng)目copy到%TOMCAT_HOME%webapp下面就可以是使用啦!!其實(shí)還有種方法就是設(shè)定虛擬目錄,即把項(xiàng)目的目錄映射到tomcat中。這樣做即可以不用重復(fù)的部署,節(jié)約時(shí)間,而且給開發(fā)人員帶來方便。
方法如下:
1,找到%TOMCAT_HOME%/conf/server.xml,(即tomcat的安裝目錄下面相關(guān)的文件)打開此xml文件,在 <host> </host>之間加入如下代碼:
<Context path="" reloadable="true" debug="0" docBase="E:/workspace/test/bin" workDir="E:/workspace/test/work" crossContext="true" >
</Context>
<Context path="/test" docBase="E:/aaa" debug="0" reloadable="true"/>
??? docBase是實(shí)際路徑,這里一般寫一個(gè)絕對的磁盤路徑,當(dāng)然也可以寫 相對路徑,相對路徑是相對于tomcat安裝目錄的webapps目錄的,通常設(shè)置虛擬目錄的目的是將tomcat的安裝和項(xiàng)目的保存分開,所以這里建議你使用磁盤絕對路徑,并且這個(gè)磁盤路徑不時(shí)在tomcat安裝目錄下。workDir是tomcat運(yùn)行是對JSP文件做編譯后的文件,這個(gè)文件最好也是分開。
path為虛擬路徑,訪問時(shí)的路徑,注意:一定要加“/”。值得注意的是:path可以為 "/"那么訪問“IP:端口”就可以訪問到布置的工程,如果為"/test",那么必須得訪問“IP:端口/test”才能訪問到,我建議采用第一種方法。不然訪問每個(gè)工程都得有個(gè)虛擬路徑,看上去不舒服??赡苣銜?huì)想到如果我有多個(gè)工程怎么辦?是不是一定得取幾個(gè)虛擬路徑,如果你用一個(gè)IP的話那是肯定的。但是如果你把機(jī)器多設(shè)置幾個(gè)IP,那么就行了,每個(gè)工程占用一個(gè)IP,這樣層次結(jié)構(gòu)更加清晰。
debug建議設(shè)置為0,reloadable設(shè)置為true。
我的習(xí)慣是將path設(shè)置為path=""因?yàn)檫@樣可以在tomcat啟動(dòng)時(shí)就可以加載首頁項(xiàng)
2,如果在測試中出現(xiàn)404的錯(cuò)誤,如果前面配置沒有錯(cuò),可能就是在%TOMCAT_HOME%/conf/web.xml文件中把虛擬路徑顯示目錄給禁止啦,此時(shí)可以在web.xml文件中找到
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
將listings的value改為true,然后重新啟動(dòng)tomcat,在輸入url,測試成功!
3,如果項(xiàng)目開發(fā)完成,準(zhǔn)備部署在服務(wù)器上時(shí),記住要把第三步中web.xml文件中參數(shù)listings的值改為false,這樣可以避免把項(xiàng)目的部署路徑呈現(xiàn)給使用者!
具體如下:
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
4、訪問多臺(tái)機(jī)器文件問題:
文件太多的時(shí)候必然需要跨目錄或跨盤,這個(gè)時(shí)候就需要用到虛擬目錄,但是Tomcat 不能直接跨Context 進(jìn)行Forward。
例如:
用 Context 配置映射了虛擬目錄 data1, 目錄下有文件 123.txt
如果要在 / 下直接 forward 到 "/data1/123.txt" 是不行的,會(huì)提示 404 找不到文件。
那么就需要靈活應(yīng)用Tomcat 虛擬目錄映射:
在 D:/Tomcat/conf/Catalina/test 目錄下(test為Server.xml配置文件中的域名) 增加 一個(gè) xml 文件,(test要?jiǎng)?chuàng)建),創(chuàng)建之后加上這個(gè)樣一個(gè)XML文件(這里就取名為data1.xml):
<Context docBase="//IP/data1" reloadable="false" crossContext="true" />
并且修改 Server.xml 中的 Context 允許 crossContext="true"。
那么就可以在工程中訪問另外臺(tái)機(jī)器上的文件(當(dāng)然這個(gè)臺(tái)機(jī)器需要共享訪問的文件)。例如:
<img src="/data1/001/002/003.png">,來顯示圖片。
問題又來了,就是權(quán)限問題,共享的文件不想給任何人訪問的話,就需要設(shè)置共享權(quán)限,那么就需要配置tomcat的權(quán)限:
1、在共享的機(jī)器上設(shè)置tomcat帳戶和密碼,并加入共享權(quán)限。
2、然后在放tomcat的服務(wù)器上,設(shè)置相同的tomcat帳戶和密碼。
3、在tomcat服務(wù)上配置登錄賬號和密碼。
轉(zhuǎn)載于:https://www.cnblogs.com/mophy/p/6284324.html
與50位技術(shù)專家面對面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的TOMCAT虚拟路径配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 打开页面默认弹出软键盘,同时兼容iOS和
- 下一篇: CSS 空中飘动的云动画
