background image

 
压缩是解决数据冗余的一个好的方法,特别是在网络带宽不够发达的今天。有的浏览器支
持 gzip(GNU zip)进行来对 HTML 文件进行压缩,这种方法可以戏剧性地减少 HTML 文件
的下载时间。因此,如果你将 servlet 或 JSP 页面生成的 HTML 页面进行压缩的话,那用户
就会觉得页面浏览速度会非常快。但不幸的是,不是所有的浏览器都支持 gzip 压缩,但你
可以通过在你的程序中检查客户的浏览器是否支持它。下面就是关于这种方法实现的一个
代码片段:
  public void doGet(HttpServletRequest request,
  HttpServletResponse response)
  throws IOException,
  ServletException
  {
  OutputStream out = null
  String encoding =
  request.getHeader("Accept-Encoding");
  if (encoding !=
  null && encoding.indexOf("gzip") != -1)
  {
  request.setHeader
  ("Content-Encoding" , "gzip");
  out = new GZIPOutputStream
  (request.getOutputStream());
  }
  else if (encoding !=
  null && encoding.indexOf("compress") != -1)
  {
  request.setHeader
  ("Content-Encoding" , "compress");
  out = new ZIPOutputStream
  (request.getOutputStream());
  }
  else
  {
  out = request.getOutputStream();
  }
  ...
  ...
  }

 

  方法 5: 使用线程池
  应用服务器缺省地为每个不同的客户端请求创建一个线程进行处理,并为它们分派
service()方法,当 service()方法调用完成后,与之相应的线程也随之撤消。由于创建和撤消
线程会耗费一定的系统资源,这种缺省模式降低了系统的性能。但所幸的是我们可以通过