서블릿

10/11 날 처음으로 업무회의에 참여하게 되었는데 회의 중에 "서블릿만 띄어주시면 되요" 라는 말을 듣고 서블릿이 뭔지는 알겠는데 서블릿을 띄운다는게 무슨 의미인지 확실하게 느낌이 잡히지 않아 글로 작성한다. 서블릿에 대해 제대로 이해를 못하고 있다는 반증이라고 생각한다.

서블릿 (Servlet)

웹 애플리케이션에서 동적인 페이지를 만들기 위한 *CGI 이다.

*CGI (Common Gateway Interface) :

공용 게이트웨이 인터페이스로 서버와 애플리케이션 간에 데이터를 주고받는 방식, 컨벤션을 의미한다.

웹페이지 는 정적 페이지와 동적페이지 로 나누어진다.

일반적으로 정적 페이지는 html, js 파일을 그대로 보여주는 형태이다. 상황마다 데이터가 달라지는것이 아닌 서버 데이터가 바꾸지 않는 한 해당 페이지 파일을 추가 연산 없이 일정하게 보여주는 방식이다.

주로 WEB 서버를 통해 반환된다. ex. 아파치

동적페이지는 정적페이지 와 는 다르게 웹서버 단독으로 처리가 힘든 DB 조회, 데이터 연산 등 추가 연산이 들어가 매 상황마다 요청 인자 에 따라 데이터가 달라질수있는 페이지를 의미한다.

주로 WEB 서버에서 요청을 받아 동적페이지 요청이 있다면 WAS 로 요청을 넘겨준다.

WAS 서버 의 대표적인 예로 는 Tomcat 이 있다.

WEB 서버와 WAS 서버를 분리하기도 하고 WEB 서버 안에 서블릿 컨테이너를 담아서 하나의 서버로 운영하기도 한다고 한다.

서블릿은 기본적으로 요청(URL) 을 받으면 HttpServletRequest 객체를 통해 URL 을 분석하여 어떤 서블릿에 요청을 보낼지 파싱 한 뒤 해당 요청 로직에 맞는 응답을 HttpServletResponse에 담아 반환한다.

고로 서블릿을 띄우다 라는 표현은 동적페이지 , 즉 요청 파라미터에 따라 일련의 연산이 들어간 페이지를 응답으로 보내달라는 의미 라고 받아들였다.

Last updated