1. 程式人生 > >Linux下tomcat部署的專案,應用下載到專案中的檔案,無法下載,會報404找不到檔案的錯誤

Linux下tomcat部署的專案,應用下載到專案中的檔案,無法下載,會報404找不到檔案的錯誤

將專案部署到linux系統中的tomcat下,上下文路徑為demo,結構如下:

|--tomcat-webapps-demo

....|--js

....|--WEB-INF

....|--META-INF

....|--html

....|--export

........|--客戶公關201744139.xls

........|--asd34543656.xls

其中export資料夾是在專案執行中生成的,並建立幾個excel檔案,當通過 ip地址:8080/demo/export/客戶公關201744139.xls 訪問的時候報404錯誤,檔案找不到。

通過查詢資料,發現需要檢視幾個地方的配置:

1、檢視spring-mvc.xml中是否配置了靜態資源訪問許可權

<!--靜態資源訪問 -->
<mvc:resources location="/export/" mapping="/export/**" />

2、tomcat伺服器編碼配置

server.xml中

<Connector port=”8080″ protocol=”HTTP/1.1″ connectionTimeout=”20000″  redirectPort=”8443″ URIEncoding=”utf-8″ useBodyEncodingForURI=”true”/>

web.xml中開啟

   <filter>
        <filter-name>setCharacterEncodingFilter</filter-name>
        <filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
   </filter>

   <filter-mapping>
        <filter-name>setCharacterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

3、後來發現修改了上述配置還是下載不了,但是asd34543656.xls這個檔案可以下載,把中文名字改成英文和數字是可以的。