#서블렛, 서블릿
서블렛이 뭐더라
Q. 서블렛이 뭔지 궁금해서
A. 서블렛은 자바에서 서블렛 인터페이스로 상속받고 HttpServlet를 상속받은 클래스이다.
#
서블렛이 나온 배경
... 초략
서블렛이 일단 서버의 메모리 내로 읽힌 다음에는 자바 객체 형태로 메모리 내에 머뭅니다. 그러므로 서버가 사용자로부터 요청을 받은 다음 부가적으로 인터프리터가 개입해야 한다거나 변수들이 새롭게 instantiate될 필요가 없습니다. (최초 한 번만 instantiate되면 충분합니다.)
즉, 서블렛은 대단히 효율적인 기술입니다. 서블렛은 마치 경계 상태에 있는 잠수함처럼 존재합니다. 항상 출동 준비를 하고 있는 상태입니다.
그런 점들이 JSP와 무슨 상관이 있을까요? 클라이언트 컴퓨터에서 최초로 JSP 페이지를 요청하면 서버는 자동으로 백그라운드에 있는 자바 서블렛(Java Servlet)을 빌드하고, 컴파일해서 구동합니다. 자바 서블렛은 html 페이지를 만들어 내고 그 html 페이지는 클라이언트 컴퓨터의 웹브라우저로 보내져서 사용자가 보게 됩니다. 중요한 점은, 일단 그렇게 된 다음부터는 JSP 페이지에 또 다시 접근하는 경우에도 다시 컴파일할 필요가 없다는 사실입니다. 그 즉시 데이터베이스에 질의해서 html 페이지를 만들어 내면 됩니다. 왜냐하면 서블렛은 이미 자바 바이트코드(bytecode) 형태로 웹서버의 메모리에 '떠'있기 때문입니다. ASP를 사용한다면 클라이언트가 새로운 요청을 만들어 낼 때마다 코드를 새로 인터프리테이션해서 새롭게 html 페이지를 만들어 내야만 할 것 입니다. 이는 곧 속도 저하로 이어집니다.
... 생략