[상단] "비주류"웹 용기의 TomJetty 서비스 활성화

3232 단어 jetty

전송문웹 서비스 내공 경맥
전송문요청 뚜껑을 열다
전송문정적 페이지 출발
지난 부분에서 우리는 TomJetty 서버를 실현하는 데 대해 웹과 관련된 지식을 깔고 회고했다.그럼 이 절에서 본격적으로 TomJetty 서버의'짝퉁'여행을 실현합니다.서버를 실현하려면 첫 번째 단계는 서버를 구축하고 정상적으로 실행할 수 있어야 클라이언트의 요청을 기다릴 수 있다.이 점을 고려하여 이 절에서는 TomJetty 서버의 창설과 시작 작업을 처리합니다.
1. 서버 구축
1. TomJetty라는 Java 프로젝트를 새로 만듭니다.
2. 프로젝트 루트 디렉터리에tomjetty를 새로 만듭니다.config 파일, 서버 설정 매개 변수를 제공합니다.
tomjetty.port=8080

tomjetty.requestheader.class=cn.lynn.tomjetty.RequestHeaderParserImpl

3. 프로그램이 서버 설정 매개 변수 값을 읽는 데 사용할 도구 클래스인 TomJetty Util을 작성합니다.
package cn.lynn.tomjetty;

import java.io.IOException;

import java.io.FileInputStream;

import java.util.Properties;



public class TomJettyUtil {



    private static Properties props = new Properties();

    

    static {

        try {

            props.load(new FileInputStream(".//tomjetty.config"));

        } catch (IOException e) {

            e.printStackTrace();

            System.exit(0);

        }

    }

    

    public static String getValue(String key) {

        return props.getProperty(key);

    }

}

4. TomJetty 클래스를 작성하여Thread 클래스에 계승하여 서버 대상을 봉인하는 데 사용합니다.
public class TomJetty extends Thread {

    private static ServerSocket server;

    private Socket socket;



    public TomJetty(Socket socket) {

        this.socket = socket;

    }

    

    ...

}

5. TomJetty 클래스에 오픈서버 () 와closeServer () 방법을 제공하여 서버를 열고 닫는 세부 동작을 봉인합니다.
public static void openServer() throws Exception {

        server = new ServerSocket(Integer.parseInt(TomJettyUtil.getValue("tomjetty.port")));

        while (true) {

            new TomJetty(server.accept()).start();

        }

    }



public static void closeServer() throws Exception {

    if (server != null) {

        if (!server.isClosed()) {

            server.close();

        }

    }

}

지금까지 TomJetty 서버가 구축되었고 오픈서버 () 와closeServer () 방법을 제공하여 외부 프로그램이 호출되어 서버를 열고 닫는 작업을 수행할 수 있도록 합니다.
2. 서버 시작
서버 시작 클래스 StartTomJetty를 작성합니다.
package cn.lynn.tomjetty;



public class StartTomJetty {



    public static void main(String[] args) {

        try {

            TomJetty.openServer();

        } catch (Exception e) {

            try {

                TomJetty.closeServer();

            } catch (Exception e1) {

                e1.printStackTrace();

            }

        }

    }



}

이렇게 하면 TomJetty 서버가 정상적으로 시작되고 컨트롤러에 아무런 이상 없이 ^_^가 나타납니다.물론 그것은 아무것도 할 수 없다.run() 방법에서 아무런 조작도 하지 않았기 때문입니다^_^.자, 현재 서버의 생성과 시작 작업이 완료되었습니다. 클라이언트의 요청을 기다릴 수 있습니다.하지만 정말 요청이 왔을 때 현재의 TomJetty 서버는'속수무책'으로 요청이 도대체 무엇을 해야 하는지, 무엇을 필요로 하는지 알 수 없다.이게 무슨 상호작용이야?따라서 다음 절에서 우리는 HTTP 요청 헤드의 베일을 벗고 TomJetty 서비스가 그것을 인식하고 그 의도를 이해할 수 있도록 할 것이다!

좋은 웹페이지 즐겨찾기