이전에 포스팅했던 멀티쓰레드와 같은 복잡한 문제들을 해결해주는 기술이다.
이 기술덕분에 개발자들은 비즈니스 로직을 집중하여 개발할 수 있게 되었다.
하지만 서블릿은 HTML 동적으로 생성하는것이 어렵다는 단점이 있다.
JSP : 자바 서버 페이지는 HTML내에 자바 코드를 삽입하여 웹 서버에서 동적으로 웹 페이지를 생성하여 웹 브라우저에 돌려주는 서버 사이드 스크립트 언어이다.
JSP는 HTML 생성은 편리하지만 비즈니스 로직까지 너무 많은 부분을 담당하는 단점이 있다.
그래서 사람들은 서블릿과 JSP를 조합한 MVC 패턴을 사용한다.
MVC 패턴은 Model, View, Controller 부분을 나누어 개발하는 패턴을 말한다.
핵심은 비즈니스로직과 View부분을 2개로 나누었다는 것이다.
여기서는 View는 JSP, 비즈니스로직은 서블릿이 담당하는 형태이다.
전에는 JSP에 비즈니스 로직과 View부분이 다 들어가있어서 코드를 관리하기 힘들었지만 MVC 패턴을 적용한 후 개발자는 유지보수를 하기 훨씬 좋아졌다.
이후 MVC 패턴 프레임워크가 많이 나오기 시작하는데 그중에 하나가 스프링 MVC(과거 버전)이다.
스프링 애노테이션 기반 스프링 MVC(현재 우리가 쓰는 버전)가 나온이후 많은 사람들이 스프링 MVC를 사용하기 시작한다.
현재는 뷰 템플릿은 타임리프 (Thymeleaf)+ Spring MVC 조합으로 많이 사용한다.