1. 程式人生 > >Java Web專案匯出excel表,位址列中文正常,但是檔案下載報404中文檔名亂碼

Java Web專案匯出excel表,位址列中文正常,但是檔案下載報404中文檔名亂碼

最近,在公司做專案遇到的問題,解決了很長時間。總結一下。

使用的是easyui前臺框架,後臺是spring+jdbc。問題是:匯出excel表時,出現錯誤,報404.如下圖所示:

我們可以看到,在下載excel表時,位址列沒有問題,且中文檔名正常顯示。如中文檔名出現亂碼,則需需改tomcat的server.xml檔案。

<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

下面問題了來了,不是tomcat的問題。我解決的辦法是,在spring的配置中加入,tomcat載入靜態資源的配置,如下程式碼:

    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.xls</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.xlsx</url-pattern>
    </servlet-mapping>

重新啟動tomcat,下載正常。