만약 서버를 직접 만들어야된다면 어떻게 될까..
저 클라이언트가 보낸 http 메시지를 하나하나 다 문자열을 나눠서 post인지 get인지/save
인지 /delete
인지 판단하고 host는 뭔지 ...디비에 저장하고...response 메시지부터...너무 복잡해! ->서블릿 등장!
위의 그림에서 의미있는 로직인 녹색 박스를 제외한 모든 부분을 다 알아서 처리해줌. 서블릿을 지원해주는 대표적인 서버가 WAS(web application server)
HttpServlet
을 상속받은 코드로 /hello
url로 요청이 오면 서블릿으로 처리하겠다는 코드임. request,response를 쉽게 처리할 수 있는 service
메소드가 이미 만들어져있기 때문에 해당 메소드를 오버라이드해서 사용하면 됨
was=web server 역할+서블릿 컨테이너
서버에 만들어진 서블릿이 스스로 작동하는 것이 아니라 서블릿을 관리해주는 것이 필요한데 이게 서블릿 컨테이너임.
위에서 만들어진 helloServlet
도 서블릿 컨테이너라고 할 수 있음.