아주 간단하게만 설명하고 넘어가려 합니다.
추후에 시큐리티가 끝나고 다시 자세히 알아보겠습니다.
WebServer의 방식은 위 그림처럼 정적 파일들만 주고받습니다.(javaScrips, css등등도 있다.)
기존에 정적 파일들만 주었던 WebServer 방식에서
서블릿 이라는 자바 컴포넌트, 자바 코드를 통해 웹이 동적으로 작동 할 수 있게 도와주는 것입니다.
http://localhost:8080/board?id=12 <- 이런 식으로 같은 uri, url 이여도 끝 쿼리스트링의
변수가 달라짐에 따라 다른 html 문서를 주거나 html문서를 바꿔서 주는 것들이 기존의 Webserver방식이
아닌 서블릿 컨테이너가 들어간 was방식입니다.
그렇다면 서블릿 (servlet)이란?
아주 작게 이야기하면 제가 웹 동작, 로직을 위해 짠 코드 파일 하나도
서블릿 이라고 할 수 있습니다.
자바로 만든 CGI(Common Gateway Interface) 라고도 합니다.
예를 들면 어떤 변수 값 두 개를 받아 더해주고 리턴 값을 주는 것을
자바로 짜면 자바 소프트웨어 컴포넌트인 하나의 서블릿 입니다.
그것을 관리하는 것이 서블릿 컨테이너(Servlet Contianer) 입니다!
서블릿 컨테이너는 서블릿의 라이프 사이클을 관리하며
주기가 끝나면 종료, 즉 destroy 파괴 시키는
관리 컨테이너라고 합니다!
서블릿 컨테이너는 서블릿을
Init() , service(), destroy() 로 두는 데 말 그대로 생성() – 요청 처리, 서비스 진행 () – 종료, 파괴()
순으로 진행됩니다.
서블릿들의 처리는 스레드 풀로 처리하는 거 같은데 자세한 것은
추후에 다루도록 하겠습니다!
이번에는 여기서 간단하게 마치겠습니다.