Hello 서블릿

slee2·2022년 1월 4일
0

서블릿은 톰캣 같은 웹 애플리케이션 서버를 직접 설치하고, 그 위에 서블릿 코드를 클래스 파일로 빌드해서 올린 다음, 톰캣 서버를 실행하면 되지만,

이 과정은 매우 번거롭다.

근데 스프링 부트는 톰캣 서버를 내장하고 있으므로 편리하게 사용 가능

Mac 기준에서 Ctrl+O를 누르면 위와 같이 오버라이딩 할 메서드를 선택할 수 있다. 그중에 자물쇠가 걸린 service 선택하고 완성을 한다.

아파치의 커넥터에 요청과 응답이 둘다 들어있는 것을 확인할 수 있다.

request의 경우 파라미터라는 메서드를 통해 url의 쿼리 정보를 가져올 수 있다.

response를 통해 가져온 쿼리를 다시 화면에 표시할 수 있다.

HTTP 로그 보기

logging.level.org.apache.coyote.http11=debug

위 옵션을 application.properties에 추가하고 실행하면

이런식으로 전체 내용을 보면서 진행이 어떻게 되는지 확인할 수 있다.

단, 운영서버에서 넣으면 느려질 수 있으니 개발 단계에서만 사용하는 것이 좋다.

서블릿 컨테이너 동작 방식

스프링 부트가 실행되면 내장 톰켓 서버를 띄워준다. 그러면 내장 톰캣 서버가 서블릿 컨테이너가 생성되고 그 안에 우리가 생성한 helloServlet을 생성해준다.

HTTP 요청으로 왼쪽 위 그림과 같이 보내면 웹 애플리케이션은 아래 그림과 같이 작동한다.

처음에 HTTP 요청을 기반으로 request와 response를 생성하고 이를 싱글톤인 helloServlet을 호출하여 정해진 로직을 실행한다. 그 후에 reponse에 Content-Type, charset, 등등 응답으로 보내면 웹 브라우저는 hello world를 볼 수 있게 된다.

welcome 페이지 추가

이 두 html파일을 넣게 되면

기본 localhost:8080 또는 localhost:8080/index.html 로 이동하면 index.html 파일이 보여지게 된다.

그리고 위 버튼을 누르면 basic.html이 보여지도록 만들어졌다.(프론트 부분이라 그냥 복붙)

0개의 댓글

관련 채용 정보