作者ipod7788 (小小涼)
看板java
標題[問題] CompressionFilter的問題
時間Tue Apr 14 14:58:26 2015
大家好 最近開始接觸 Servlet 還有 JSP 問題
上網找了良葛格的網站閱讀 看到了 HttpServletResponseWrapper教學
利用 HttpServletResponseWrapper做出 一個壓縮處理的Filter
參考
http://openhome.cc/Gossip/ServletJSP/ResponseWrapper.html
程式碼完全用網站上的連結
我又寫了一個 servlet 想試看看 是否經過Filter處理後 能輸出壓縮檔
servlet 程式碼
response.setContentType("text/html;charset=UTF-8");
response.setHeader("Content-Disposition", "attachment; filename=output.gz");
PrintWriter out = response.getWriter();
out.write("測試用");
out.flush();
out.close();
可是結果輸出的 output.gz 開檔時卻是出現錯誤 檔案未知或損壞
後來上網找了一篇方法 說
Filter doFilter(..)的方法
把 response.addHeader("Content-Encoding", "gzip"); 這行去掉
就把問題解決了 但是不知道真正的原因是甚麼 不知道板上大大有遇過這情形嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.34.114.1
※ 文章網址: https://www.ptt.cc/bbs/java/M.1428994713.A.3C8.html
※ 編輯: ipod7788 (1.34.114.1), 04/14/2015 15:02:30
→ jej: 可以再看看他寫的filter的實作與設定 url-pattern限制一下 04/23 12:17
→ jej: ResponseWrapper上面說是對所有的路徑 request串流壓縮成gzip 04/23 12:19
→ jej: 但額外寫的servlet attachment 那個gz不是這個content-encodi 04/23 12:22