MVC패턴

2dh2wdk·2021년 1월 18일
0
post-thumbnail

MVC패턴

1. MVC패턴

MVC 패턴은 Model, View, Controller로 나뉘어 진다.

  • Model : DB와 상호작용하여 비지니스 로직을 처리하는 모듈
  • View : Cilent에게 보여지는 결과 화면을 반환하는 모듈
  • Controller : Client 요청이 들어왔을 때 그 입력을 처리하고 어떤 로직을 실행시킬 것인지 제어하는 모듈

MVC 패턴의 종류에는 Model1과 Model2가 있다.

  • Model1 : 모든 파일에 클라이언트가 요청한 로직을 처리하는 것 JSP에서 View, Controller의 역할을 담당하고 그 결과를 클라이언트에게 반환
  • Model2 : Model1방식을 보완한 아키텍쳐 Model, View, Controller 부분으로 모듈화 되어있고 JSP는 로직 처리 없이 단순히 Client에게 보여지는 View만을 담당.

2. MVC 처리 과정

  1. Client가 URL을 통해 request 요청

  2. DispatcherServlet이 web.xml에 < url-pattern>에 등록된 내용을 가로채고 HandlerMapping에게 요청을 보내 해당 요청을 처리할 수 있는 Controller를 찾는다.

  3. HandlerMapping은 URL을 이용하여 이를 처리할 Controller 객체를 DispathcerServlet에게 반환한다.

  4. DistpathcerServlet 은 Controller 객체를 처리할 수 있는 HandlerAdapter에게 요청 처리를 위임

  5. HandlerAdapter는 Controller에게 맞는 method를 호출

  6. Controller → Service → DAO → DB → DAO → Service → Controller 순서로 비즈니스 로직을 실행한 후 결과를 HandlerAdapter에게 반환

  7. HandlerAdapter는 DispatcherServlet에게 Controller의 실행 결과를 ModelAndView객체로 변환하여 반환

  8. DispatcherServlet은 결과를 보여줄 View를 검색하기 위해 ViewResolver 객체에게 ModelAndView안의 해당 View를 검색 요청

  9. ViewResolver는 ModelAndView안의 View 이름에 해당하는 View객체를 찾거나 생성해서 반환

  10. DispatcherServlet은 ViewResolver가 반환한 View 객체에게 request result 생성을 요청

  11. View 객체는 JSP를 사용하는 경우 JSP를 실행하여 결과를 Rendering한 후 Client에게 View를 응답


참고사이트

  • https://server-engineer.tistory.com/253
  • https://engkimbs.tistory.com/686
  • https://velog.io/@gillog/Spring-MVC-%EA%B5%AC%EC%A1%B0
profile
지금 바로 Do!!

0개의 댓글