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這個檔案可以下載,把中文名字改成英文和數字是可以的。