- https://github.com/slipp/web-application-server 프로젝트를 자신의 계정으로 Fork한다. Github 우측 상단의 Fork 버튼을 클릭하면 자신의 계정으로 Fork된다.
- Fork한 프로젝트를 eclipse 또는 터미널에서 clone 한다.
- Fork한 프로젝트를 eclipse로 import한 후에 Maven 빌드 도구를 활용해 eclipse 프로젝트로 변환한다.(mvn eclipse:clean eclipse:eclipse)
- 빌드가 성공하면 반드시 refresh(fn + f5)를 실행해야 한다.
- webserver.WebServer 는 사용자의 요청을 받아 RequestHandler에 작업을 위임하는 클래스이다.
- 사용자 요청에 대한 모든 처리는 RequestHandler 클래스의 run() 메서드가 담당한다.
- WebServer를 실행한 후 브라우저에서 http://localhost:8080으로 접속해 "Hello World" 메시지가 출력되는지 확인한다.
- 구현 단계에서는 각 요구사항을 구현하는데 집중한다.
- 구현을 완료한 후 구현 과정에서 새롭게 알게된 내용, 궁금한 내용을 기록한다.
- 각 요구사항을 구현하는 것이 중요한 것이 아니라 구현 과정을 통해 학습한 내용을 인식하는 것이 배움에 중요하다.
요구사항 1 - http://localhost:8080/index.html로 접속시 응답
- BufferedReader의 메커니즘과 비슷한 클래스에 대해 알게 되었다.
- 문자열 파싱, HTTP 요청에 대해 알게 되었다.
- 요구사항 구현에 필요한 기능을 간단하고 독립적인 메소드로 쪼개는 데 집중했다.
- POST 방식으로 전달하는 데이터는 HTTP 본문에 담긴다.
- GET에서 POST로 회원가입 방식을 변경하는 과정에서 코드 리팩토링을 진행했다.
- HTTP 응답 헤더의 status code에 대해 알게 되었다.
- 자바의 Servlet에 대해 알게 되었다.