Java Socket编程(五) 简单的WEB服务器
2008-12-10 12:51
671 查看
欢迎访问本人博客!http://blog.csdn.net/ktb2007
简单的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 + "/n";
for (int x = 0; x < headerpairs.length; x++ )
s += headerpairs[x] + "/n";
return s;
}
}
NameValue类简单地存储了两个字符串:name 和 value.当一个新的对要被加入时,一个新的数组将被分配.新的数组接受了旧的数组和新的成员.旧的数组然后被一个新建的对象覆盖了.
简单的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 + "/n";
for (int x = 0; x < headerpairs.length; x++ )
s += headerpairs[x] + "/n";
return s;
}
}
NameValue类简单地存储了两个字符串:name 和 value.当一个新的对要被加入时,一个新的数组将被分配.新的数组接受了旧的数组和新的成员.旧的数组然后被一个新建的对象覆盖了.
相关文章推荐
- [JavaWeb基础] 024.Socket编程之简单的聊天程序
- Socket网络编程--简单Web服务器(3)
- [Socket编程] 用Java实现简单的服务器
- Socket网络编程--简单Web服务器(4)
- Socket网络编程--简单Web服务器(1)
- 运用Java中socket编程实现简单的服务器客户端收发信息程序
- Socket网络编程--简单Web服务器(6)
- 浅谈用java搭建web服务器之Socket编程——更好的理解Apache、Tomcat等软件的工作模式
- Socket网络编程--简单Web服务器(2)
- socket编程实验-简单的Web服务器
- android socket简单编程(java在PC本地创建服务器)
- 基于Socket编程实现一个简单的Web服务器
- android socket简单编程(java在PC本地创建服务器)
- Socket网络编程--简单Web服务器(5)
- 【java编程】Socket编程之UDP模拟简单聊天功能
- socket编程:服务器与客户端简单交互的例子
- java网络编程一:Socket用法,简单模拟一对一聊天
- 用java写简单的web服务器,在宿舍提供视频播放
- 从NIO讲到JAVA NIO框架,web服务器比较,socket与HTTP区别
- java简单socket编程