首 页 ┆ 源码下载 ┆ IT学院 ┆ 字体下载 ┆ 模板下载 ┆ 源码发布 ┆ 广告合作 ┆ 网站地图 ┆ 虚拟主机 ┆ 中文域名
► 设为首页
► 加入收藏
► 联系我们
源码下载 >> ASP源码 | PHP源码 | ASP.net源码 | JSP源码 | CGI源码 | VC/C++源码 | VB源码 | Delphi源码 | Flash源码
文章学院 >> 网络编程 | 网页设计 | 图形图象 | 数据库 | 服务器 | 网络媒体 | 网络安全 | 操作系统 | 办公软件 | 软件开发 | 黑客知识
字体下载 >> 精制字体 | 非英字体 | 艺术字体 | 著名字体 | 哥特式 | 简单字体 | 手写体 | 节假日 | 图案字体 | 精度像素 | 中文字体
模板下载 >> 企业门户 | 数码网络 | 休闲娱乐 | 影视音乐 | 旅游名胜 | 文化艺术 | 电子商务 | 个性展示 | 登陆导航 | Flash模板
►►您当前的位置:源码园 → IT学院 → 服务器 → Win服务器 → 文章内容

基于Jave的Web服务工作机制(7)

作者:佚名  来源:天极网  发布时间:2007-2-7 22:27:40
sendStaticResource 方法是非常简单的。它首先传递父路径和子路径给File类的构造器,从而对java.io.File类进行了实例化。

  File file = new File(HttpServer.WEB_ROOT, request.getUri());
  然后它检查文件是否存在。如果存在,sendStaticResource 方法通过传递File对象来构造一个java.io.FileInputStream对象。然后调用FileInputStream 的read方法,将字节流写如到OutputStream输出。注意这种情况下, 静态资源的内容也被作为原始数据被发送给了浏览器。

if (file.exists()) {
  fis  = new FileInputStream(file);
  int ch = fis.read(bytes, 0, BUFFER_SIZE);

  while (ch != -1) {
    output.write(bytes, 0, ch);
    ch = fis.read(bytes, 0, BUFFER_SIZE);
  }
}

  如果这个文件不存在,sendStaticResource 方法发送一个错误消息给浏览器。

String errorMessage = "HTTP/1.1 404 File Not Found\r\n" +
  "Content-Type: text/html\r\n" +
  "Content-Length: 23\r\n" +
  "\r\n" +
  "<h1>File Not Found</h1>";
  output.write(errorMessage.getBytes());

  编译和运行应用程序

  为了编译和运行应用,你首先需要解压包含本文应用程序的.zip文件。你解压的目录成为工作目录(working directory),它有三个子目录: src/, classes/, 和 lib/。 要编译应用程序需要在工作目录输入如下语句:

  javac -d . src/ex01/pyrmont/*.java
  这个-d 选项参数将结果写到当前目录,而不是src/ 目录。

  要运行应用程序,在工作目录中输入如下语句:

  java ex01.pyrmont.HttpServer
  要测试你的应用程序,打开浏览器,在地址栏中输入如下URL:

  http://localhost:8080/index.html
  你将可以看到浏览器中显示的index.html 页面。

  Figure 1. The output from the web server

  在控制台(Console),你能看到如下内容:

  GET /index.html HTTP/1.1
  Accept: */*
  Accept-Language: en-us
  Accept-Encoding: gzip, deflate
  User-Agent: Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)
  Host: localhost:8080
  Connection: Keep-Alive

  GET /images/logo.gif HTTP/1.1
  Accept: */*
  Referer: http://localhost:8080/index.html
  Accept-Language: en-us
  Accept-Encoding: gzip, deflate
  User-Agent: Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)
  Host: localhost:8080
  Connection: Keep-Alive

  概要总结

  在本文中,你了解了一个简单的WEB服务器的工作机制。本文附带的应用程序源代码只包含三个类,但并不是所有的都有用。尽管如此,它还是能被作为一种很好的学习工具为我们服务。


[] [返回上一页] [打 印]
  • 上一篇文章:基于Jave的Web服务工作机制(6)
  • 下一篇文章:让DNS服务器支持泛域名解析

  • 相关文章:
  • 开发基于Java的图形用户界面
  • [图文]基于Java的代理设计模式
  • 基于Java的建造设计模式
  • [图文]基于Java的解释器设计模式
  • 基于Java的企业分布式应用
  • 基于Java的IDEA加密算法
  • 基于Jave的Web服务工作机制(7)
  • 基于Jave的Web服务工作机制(6)
  • 基于Jave的Web服务工作机制(5)
  • 基于Jave的Web服务工作机制(4)
  • 基于Jave的Web服务工作机制(3)
  • 基于Jave的Web服务工作机制(2)
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 源码发布
Copyright © 2003-2009 Ymyasp.Com. All Rights Reserved .
备案序号:粤ICP备07029071号