JavaSocket编程(五)

文章作者 100test 发表时间 2007:03:10 18:46:46
来源 100Test.Com百考试题网


简单的WEB服务器
一个简单的WEB服务器将由列表9.2这样构建.当然,还必须要对方法和回应事件进行改进.简单的服务器不会分析和存储请求头.新的WEB服务器将分析和存储请求,为以后的处理作准备.为了达到这个目的,你必须有一个包含HTTP请求的类.

HTTPrequest类
列表9.5列出了一个完整的HTTPrequest类.这个类必须包括一个请求头所需的所有信息.

列表9.5.HTTPrequest类.
import java.io.*.
import java.util.*.
import java.net.*.
import NameValue.
/**
* 这个类有一个HTTP请求的所有信息
*/
public class HTTPrequest
{
public String version.
public String method.
public String file.
public Socket clientSocket.
public DataInputStream inbound.
public NameValue headerpairs[].
/**
* 建立一个这个类的实例
*/
public HTTPrequest()
{
version = null.
method = null.
file = null.
clientSocket = null.
inbound = null.
inbound = null.
headerpairs = new NameValue[0].
}
/**
* 加入一个名称/值对到核心数组
*/
public void addNameValue(String name, String value)
{
try
{
NameValue temp[] = new NameValue[ headerpairs.length 1 ].
System.arraycopy(headerpairs, 0, temp, 0, headerpairs.length).
temp[ headerpairs.length ] = new NameValue(name, value).

headerpairs = temp.
}
catch (NullPointerException npe)
{
System.out.println("NullPointerException while adding name-value:
" npe).
}
}
/**
* 以字符串的形式归还这个类
*/
public String toString()
{
String s = method " " file " " version " ".
for (int x = 0. x < headerpairs.length. x )
s = headerpairs[x] " ".
return s.
}
}
NameValue类简单地存储了两个字符串:name 和 value.当一个新的对要被加入时,一个新的数组将被分配.新的数组接受了旧的数组和新的成员.旧的数组然后被一个新建的对象覆盖了.

相关文章


计算机二级JAVA第一章辅导:JDK目录结构
二级Java考试辅导教程:8.1网络编程的基本概念,TCP_IP协议简介
二级Java考试辅导教程:7.1Swing简介
二级Java考试辅导教程:6.3JavaApplet[1]
JavaSocket编程(五)
JavaSocket编程(四)
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛