分类: 学习预览模式: 普通 | 列表
08-04
16

使用过滤器使您的 JSP 具有 HTTP 压缩功能

HTTP 压缩是指浏览器能够理解压缩过的 HTML 代码, 文本文档等, 从而减少网络传输流量的一种功能. 在目前的大部分主流浏览器上, 都支持这种功能, 例如 Ineternet Explorer, FireFox, Netscape, Opera 等, 对应的 HTTP 版本应该是 HTTP 1.1.

要探测浏览器是否支持 HTTP 压缩, 只要查看浏览器请求的头中是否有如下字样:
Accept-Encoding: gzip, deflate
即可, 这个即是说明浏览器支持 gzip 和 deflate(一种压缩格式)的压缩内容. 这就意味着: 可以向浏览器返回默认的未压缩的文本, 也可以用 GZIP 和 deflate 压缩过后传送给它, 浏览器会自己探测这些内容并解压缩, 这就以为着传输某些资料的时候(例如文本的 HTML 代码)可以大大减少网络需要传送的内容数.

那么, 如何实现这个功能呢? 其实 Apache Tomcat 5 安装时候所自带的示例目录下都做好了一个过滤器用来实现这个功能了:
{Tomcat5.0安装目录}\webapps\jsp-examples\WEB-INF\classes\compressionFilters
下就是这个过滤器的源码和类文件, 使用时候只要将这些文件放入类路径中, 然后向 web.xml 中加入过滤器配置语句就可以了:

查看更多...

Tags: HTTP 压缩 filter 过滤

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 599
08-04
16

一个简单的数据压缩过滤器

这个小实例使用GZIP压缩的方式回传给浏览器,而IE5和NS6也都有支持Gzip的压缩格式。
这个方法在之前就有人提出过,因为是让网页在输出时经过压缩,可以让传输量变小很多,虽然现在的网络频宽对于用来看网页已经绰绰有余,但是档案大小太大的网页还是会造成一定的影响。

这里是压缩功能的代码:
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.zip.GZIPOutputStream;

查看更多...

Tags: 压缩 过滤 filter

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 564
08-04
16

Apache Common HttpClient使用之七种武器

拳头是最基本的一重武器,也是最重要的,好比练武之人必须先扎稳马步。
HttpClient httpclient=new HttpClient();//创建一个客户端,类似打开一个浏览器  
GetMethod getMethod=new GetMethod("http://www.blablabla.com");//创建一个get方法,类似在浏览器地址栏中输入一个地址  
int statusCode=httpclient.executeMethod(getMethod);//回车——出拳!  
System.out.println("response=" + getMethod.getResponseBodyAsString());//察看拳头命中情况,可以获得的东西还有很多,比如head, cookies等等  
getMethod.releaseConnection();//释放,记得收拳哦  



2.孔雀翎之支持https

查看更多...

Tags: HttpClient 武器

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 525
08-04
16

Commons-Codec

Codec 包含一些通用的编码解码算法。包括一些语音编码器, Hex, Base64, 以及URL encoder.
下载地址:http://jakarta.apache.org/commons/codec/

Tags: Commons Codec jar

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 598
08-04
16

Jakarta Commons Logging学习笔记

  说句实话,JCL(Jakarta Commons Logging)和log4j真把我搞蒙了。不都是做log的吗,怎么在jcl的源码包中,还有个log4j的包?倒底谁跟谁啊?至到看了jcl的用户指南,才明白一些。hehe.



1、Commons-Loggin简介

  Jakarta Commons Logging (JCL)提供的是一个日志(Log)接口(interface),同时兼顾轻量级和不依赖于具体的日志实现工具。 它提供给中间件/日志工具开发者一个简单的日志操作抽象,允许程序开发人员使用不同的具体日志实现工具。用户被假定已熟悉某种日志实现工具的更高级别的细节。JCL提供的接口,对其它一些日志工具,包括Log4J, Avalon LogKit, and JDK 1.4等,进行了简单的包装,此接口更接近于Log4J和LogKit的实现.

2、快速入门

查看更多...

Tags: Commons Logging

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 952
08-04
16

compareTo()与compare()

一个类继承了comparable 或是comparator接口后,重定义了compareTo()或是compare()方法,虽然是重定义当然是看你自己如何比较的啊.一个人的对象,有身高,和体重,有形状,如果你愿意.你可以只比较身高相同就认为了同一个人,但你也可以比较他所有的属性相同就认为了同一个人:
class 人{
    int 身高;
    int 体重;
public int compareTo(另一个人的对象){
    if(this.身高==另一个人的对象.身高)
        return 0;
    }
    如果你想光身高相同还不行,那就把所有属性都相同才返回0

查看更多...

Tags: compareTo

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 561