1. 程式人生 > >IDEA 中tomcat圖片儲存和訪問虛擬路徑

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

目錄

2 最佳配置

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"/>