Java Socket编程(五) 简单的WEB服务器
来源:互联网 发布:java中string什么意思 编辑:程序博客网 时间:2024/04/29 04:57
欢迎访问本人博客!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.当一个新的对要被加入时,一个新的数组将被分配.新的数组接受了旧的数组和新的成员.旧的数组然后被一个新建的对象覆盖了.
- Java Socket编程(五) 简单的WEB服务器
- socket编程实验-简单的Web服务器
- 基于Socket编程实现一个简单的Web服务器
- Java Socket搭建一个简单地Web服务器(1)
- Java Socket编程(五)
- Java Socket编程(五)
- Java Socket编程(五)
- java网络socket编程(五)之Socket扩展2--实现重定向服务器
- 利用socket编写简单的web 服务器
- C# | socket实现简单的web服务器
- java 简单的Socket编程
- socket编程之简单的TCP服务器
- php socket编程学习建立简单web服务器
- Java Socket(五) 服务器响应客户端
- Java Socket编程(五)NIO
- 利用java的Socket编程实现一个小小的web服务器
- Java实现简单的Socket服务器(源码公开)
- 简单socket编程,服务器、客户端
- 最近打开文件记录清理
- Java Socket编程(四) 重复和并发服务器
- C/C++项目中的代码复用和管理
- 生存和发展
- 使用.bat文件在Windows下运行Java程序时怎样避免DOS窗口
- Java Socket编程(五) 简单的WEB服务器
- php odbc 数据库操作类
- 存储过程
- 【巨囧】我对她的爱情
- 则优超级记忆法
- TortoiseSVN也可以用来比较两个文件
- 是否需要理直气壮
- CPU卡基础知识
- Matlab与C语言程序的应用编程接口