Study/Spring

[Spring Framework] JSP, Servlet의 등장

AC 2019. 8. 3. 20:01

 

웹 기술은 처음에 정적 콘텐츠(HTML 파일)를 표시하는 기술이었다.
즉, 웹 브라우저의 요청에 매번 같은 콘텐츠밖에 반환하지 않았다. 점차 웹을 업무에 이용하려는 수요가 생겨났지만,
정적 콘텐츠만으로 웹 기술을 업무에 이용하기에는 기능이 부족했다. 

그래서 등장한 것이 CGI (Common Gateway Interfece) 기술이다.
CGI는 HTTP의 요청으로 실행되는 프로그램을 말한다. 웹 브라우저의 요청을 받아 CGI가 해당 프로그램을 실행함으로써 같은 요청의 처리 결과로 다른 콘텐츠를 반환할 수 있게 됐다. 이른바 동적으로 콘텐츠를 반환할 수 있게 된 것이다.

하지만 CGI에는 몇 가지 문제가 있었다. 그 중 가장 큰 문제는 처리를 요청할 때마다 프로그램이 실행되는 점과 세션 관리가 없다는 점이었다.  이러한 문제는 처리 요청이 많아지면 성능 저하나 트랜잭션 관리의 어려움을 초래했다.

그래서 JSP, Servlet이 등장했다. JSP, Servlet은 멀티 스레드로 실행되고, JSP, Servlet의 실행 기반인 웹 컨테이너는 개발자가 세션 관리를 의식하지 않을 수 있도록 세션을 관리해준다. 또한, CGI는 페이지 생성 로직과 비즈니스 로직을 분리하기 곤란했던 반면, JSP로 페이지를 생성하고 비즈니스 로직을 Servlet으로 처리하는 아키텍처도 큰 장점이다. 이렇게 JSP, Servlet은 CGI의 단점을 해결해주는 웹 애플리케이션 기술로서 보급됐다.

물론 이렇게 널리 보급된 이면에는 JSP와 Servlet으로 디자인과 프로그램을 분리할 수 있다는 소문과 오브젝트 지향의 장점인 재사용처럼, 과대 홍보의 영향이 컸다.

 

 

 

LIST