Tomcat虛擬目錄的設置以及在IDEA中的使用

由網絡教程資料以及自己的測試整理

問題

最近在SSM項目中發現上傳文件在項目重新部署後會被刪除的問題。從網上查找了一些相關的資料,發現可以通過設置虛擬路徑來解決,通過這種方法也方便了數據的備份。

環境

IDEA 2019.1.2

Tomcat 8.5.38

方法

本教程使用了官方推薦的方法。

配置Tomcat

在conf\Catalina\localhost目錄下新建一個XML文件,如下圖
XML文件
我的目的是將D:\resources映射到/resources,這個XML文件名可以直接是要映射的目錄名字,如我所命名的,也可以是任意的名字。
接下來修改這個XML文件,如下

<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="D:\resources" reloadable="true" crossContext="true"></Context>

這裏省略了path的配置,這是根據文件名自動識別的,如果沒有命名爲要映射的目錄名,就需要配置path,如下

<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="D:\resources" path="/resources" reloadable="true" crossContext="true"></Context>

然後需要修改conf/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>true</param-value> <!--這裏默認爲false,修改爲true-->
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

配置被映射目錄

WEB-INF
web.xml
被映射的目錄下必須有一個WEB-INF文件,並且WEB-INF文件下需要有個web.xml文件,內容如下

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
  <display-name>Tomcat</display-name>

  <welcome-file-list>
    <welcome-file>/</welcome-file>
  </welcome-file-list>

</web-app>

這裏我複製了項目裏的web.xml,只需要留下這些基本配置信息。

配置IDEA

IDEA
爲圖中框出的地方打上勾。
最後重啓Tomcat即可。

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