자바 소켓 프로 그래 밍(5)간단 한 WEB 서버

1937 단어 JaavvaaSSooc
손 문
간단 한 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.새로운 쌍 이 가입 할 때 새로운 배열 이 분 배 됩 니 다.새로운 배열 은 오래된 배열 과 새로운 구성원 을 받 아들 입 니 다.오래된 배열 은 새로운 대상 에 의 해 덮어 씁 니 다.

좋은 웹페이지 즐겨찾기