標籤:
package servlt;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.zip.GZIPOutputStream;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class GizpServlt extends HttpServlet{
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
System.out.println("abc.......");
String str="nsdhfjvndknhguris湖gdfdffwqdsacdggtrhhjzx" +
"南城市學院湖南城市學院湖南城市學fffffffffffffzfff院gtsrgt" +
"湖南城市學院ytdewfdsffrsgs湖南城市學院湖南城市學院vnbvnhgnh" +
"湖南城市學院dsfdxgxxfhj湖南城市學院湖南城市學院brefdcdsadjh" +
"湖南城市學院歡迎來到渾南城市血雨啊第底部房地產商的哇發啊防風固沙提高調查" +
"三方廣泛的撒釜底抽薪出現swdszghyt幸福的在深圳工作的複活石頭人是不是認識" ;
byte src[]=str.getBytes("UTF-8");
System.out.println("壓縮前的長度:"+src.length);
ByteArrayOutputStream bout=new ByteArrayOutputStream();//記憶體流;
GZIPOutputStream gzipout=new GZIPOutputStream(bout);
gzipout.write(src);//把src數組寫入到壓縮bout中
gzipout.close();//刷緩衝;
byte dest[]=bout.toByteArray();//把來源資料壓縮成目標資料;
System.out.println("壓縮後的長度:"+dest.length);
/* 告訴瀏覽器,當前用resp寫出的內容不要緩衝
resp.setHeader("Expires", "-1");
resp.setHeader("Cache-control", "no-cache");
resp.setHeader("Pragma", "no-cache");
*/
resp.setContentType("text/html;charset=utf-8");
//輸出壓縮資料時,必須設定相應頭;
resp.setHeader("Content-Encoding", "gzip");//這個gzip是要跟web.xml裡面的 <url-pattern>裡面設定的名字一樣,才能串連到伺服器中;
OutputStream out=resp.getOutputStream();
out.write(dest);
}
}
網頁中檔案的壓縮