下面是个超简单的Java Socket编程(五)简单的WEB服务器教程,图老师小编精心挑选推荐,大家行行好,多给几个赞吧,小编吐血跪求~
【 tulaoshi.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.当一个新的对要被加入时,一个新的数组将被分配.新的数组接受了旧的数组和新的成员.旧的数组然后被一个新建的对象覆盖了.
来源:http://www.tulaoshi.com/n/20160219/1601117.html
看过《Java Socket编程(五)简单的WEB服务器》的人还看了以下文章 更多>>