자바 소켓 프로 그래 밍(5)간단 한 WEB 서버
간단 한 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.새로운 쌍 이 가입 할 때 새로운 배열 이 분 배 됩 니 다.새로운 배열 은 오래된 배열 과 새로운 구성원 을 받 아들 입 니 다.오래된 배열 은 새로운 대상 에 의 해 덮어 씁 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
자바 설정 의 Classpath 를 쉽게 돌 립 니 다.텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.