Servlet数据压缩发送、默认Servlet配置

先说说数据压缩,

public class GzipServlet extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doPost(request, response);
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        String str=""或许你也一样,每天匆匆走过熟悉的街道,擦肩万千陌生的面孔;或许你也一样,时而驻足凝固正在逝去的时间.生活依然在前进,但我却还在这里,生命始终在寻找,曾走过的街角.这将是一次相遇与轮回,因为我们生于街头!;
        byte[] src = str.getBytes();
        System.out.println("src-length:"+src.length);

        //把字节数组src中的数据 压缩到  array内存流当中
        ByteArrayOutputStream array = new ByteArrayOutputStream();
        GZIPOutputStream gOut = new GZIPOutputStream(array);
        gOut.write(src);
        gOut.close();
        //从内存流array中把压缩后的数据拿出来
        byte[] dest = array.toByteArray();
        System.out.println("dest-length:"+dest.length);

        response.setContentType("text/html");
        response.setHeader("Content-Encoding","gzip");//告诉浏览器,当前发送的是gzip格式的内容
        //response.setContentLength(dest.length);//设内容长度---法1
        response.setHeader("Content-Length", ""+dest.length);//设内容长度---法2

        OutputStream out = response.getOutputStream();
        //out.write(src);
        out.write(dest);
        out.flush();
        out.close();
    }

}

以下是默认路径的解说,web.xml配置如下:

 <servlet>
        <servlet-name>default</servlet-name>
        <servlet-class>cn.hncu.servlets.DefaultServlet</servlet-class>
 </servlet>
<servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>/</url-pattern>
 </servlet-mapping>

默认Servlet,当请求的路径在web.xml中没有匹配上,那么就导向该servlet,避免客户端出现404这些找不到资源的错误。注意,它可能会屏蔽掉我们放在安全目录以外的有效的资源(因为这些路径没有在web.xml中配置)
默认Servlet通过只会在项目正式发布时配置,测试阶段一般不会,因为我们无法看到具体的出错信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值