手机
当前位置:查字典教程网 >编程开发 >Java >Java Socket编程(五) 简单的WEB服务器
Java Socket编程(五) 简单的WEB服务器
摘要:文章来源:aspcn作者:孙雯简单的WEB服务器一个简单的WEB服务器将由列表9.2这样构建.当然,还必须要对方法和回应事件进行改进.简单的...

文章来源:aspcn 作者:孙雯

简单的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.当一个新的对要被加入时,一个新的数组将被分配.新的数组接受了旧的数组和新的成员.旧的数组然后被一个新建的对象覆盖了.

【Java Socket编程(五) 简单的WEB服务器】相关文章:

java 使用线程做的一个简单的ATM存取款实例代码

Java程序执行时间的2种简单方法

java多线程编程之从线程返回数据的两种方法

Java中 shuffle 算法的使用

Java自定义简单标签实例

java使用Memcached简单教程

深入理解Java编程中异常处理的优劣

JavaWeb编程 Servlet的基本配置

Java Clone(类的复制)实例代码

实现了基于TCP的Java Socket编程实例代码

精品推荐
分类导航