- MVC model1의 한계:
각각의 요청을 처리하는 jsp파일을 일일히 만들다보니 파일의 양도 많아지고 유지보수도 어려워진다.
- MVC model2:
그래서 하나의 컨트롤러로 모든 요청을 처리할 수 있는 model2가 등장한다.
모든 요청을 controller에서 파악한 후, service객체로 메서드를 만든다. DAO는 데이터베이스와의 연동만을 전담한는 클래스이다. dao는 데이터베이스에서 작업을 한 후 이를 controller한테 보고하고, controller는 브라우저에게 리퀘스트객체를 건네주고 적절한 페이지로 응답을 보내준다. jsp는 이제 보여지는 역할에만 충실할 수 있다.
- Spring Framework
Spring은 Model2를 따른다. 단,자동화가 이루어진다.
컨트롤러를 미리 준비해놓으면 dispacher suvelet, handlerMapping, handlerAdapter 등등이 알아서 해당 컨트롤러로 연결을 해준다.
즉, 개발자는 controller를 통해 클래스형태로 메서드를 만들어 놓고 잘 작동하게 맵핑만 해놓으면 나머지는 spring이 알아서 한다.