将项目部署到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这个文件可以下载,把中文名字改成英文和数字是可以的。