【轉】IDEA 中tomcat圖片儲存和訪問虛擬路徑


1、idea 修改Tomcat的虛擬路徑(第一種方法)
修改配置文件有很多種,但是一直不成功;后來想還是idea的配置原因,這里tomcat虛擬路徑只說一種;

修改Tomcat安裝路徑下server.xml的文件,路徑:apache-tomcat-8.5.15\conf\server.xml

a、在Host節點下加入:

<Context path="/image" docBase="E:\ImgPath" reloadable="false" ></Context>

path:代表虛擬路徑;即返回給客戶端的地址;

docBase:代表絕對路徑;文件存儲的物理地址;

reloadable:代表不需要重啟Tomcat,更新即可生效;

b、打開Edit Configurations

在Tomcat的Server頁,勾選上Deploy applications configured in Tomcat instance

 

 

以上a、b兩步配置完即可。

 

2、idea 修改Tomcat的虛擬路徑(第二種方法)
a、取消勾選Deploy applications configured in Tomcat instance

 

 

 

訪問即可

 

 

 

3.設置虛擬目錄映射一般有兩種用途:
(1)把整個web應用映射到tomcat中:

如一個testapp的web應用的路徑是/opt/testapp,則通過虛擬目錄映射可以將其映射到tomcat(webapps)中。

(2)將外部資源映射到tomcat中以便使用:

如將一些圖片、文檔等放在/opt/documents中,則可以將其映射到tomcat中以便使用,如下載等。原理同(1)類似。

 

1 在${CATALINA_HOME}/conf/server.xml中進行配置
在 <host> </host>之間加入如下代碼:

<Context path="/virtualpath" reloadable="true" debug="0" docBase="/path/to/testapp" workDir="/path/to/work" crossContext="true" >

</Context>

 

docBase  是實際路徑,一般為絕對磁盤路徑,也可以寫相對路徑,相對路徑是相對於tomcat安裝目錄的webapps目錄,通常設置虛擬目錄的目的是將tomcat的安裝和項目的保存分開,所以這里建議使用磁盤絕對路徑,並且這個磁盤路徑不是在tomcat目錄下。

workDir  是tomcat運行是對JSP文件做編譯后的文件,這個文件最好也是分開。
path  為虛擬路徑,訪問時的路徑,注意:一定要加“/”。值得注意的是:path可以為"/"那么訪問“IP:端口”就可以訪問到布置的工程,如果為"/test",那么必須得訪問“IP:端口/test”才能訪問到。
debug  建議設置為0

reloadable設置為true。

 

如果在測試中出現404的錯誤,如果前面配置沒有錯,可能就是在$CATALINA_HOME/conf/web.xml文件中把虛擬路徑顯示目錄給禁止了,此時可以在web.xml文件中找到:

<param-name>listings</param-name>

<param-value>false</param-value>

 

將listings的value改為true,然后重新啟動tomcat。

上面的修改是全局修改。若在某一個應用中開啟listing時,在WEB-INF/web.xml中:

<servlet>

<servlet-name>media</servlet-name>

<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>

<init-param>

<param-name>listings</param-name>

<param-value>true</param-value>

</init-param>

</servlet>

<servlet-mapping>

<servlet-name>media</servlet-name>

<url-pattern>/</url-pattern>

</servlet-mapping>

 


2 最佳配置
$CATALINA_BASE/conf/Catalina/localhost/ 文件夾下創建一個xml文件,任意文件名都可以,但是此文件名是web應用發布后的虛擬目錄;
比如創建一個test.xml,在文件中添加 

<Context path="/test" reloadable="true" docBase="/path/to/your/directory" workDir=""/>

 

屬性的含義同上。不需要重啟服務器。

 

實例:將web項目映射到tomcat中,不需要每次都手動發布。

位置:/conf 文件夾里的server.xml文件

在 <host> </host>之間加入如下代碼:

<Context path="/mysshtest" docBase="C:\Users\admin\Desktop\mysshtest\mysshtest\WebRoot" reloadable="true"/>


---------------------
作者:蕭曳丶
來源:CSDN
原文:https://blog.csdn.net/chenyao1994/article/details/83010119
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

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



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