[spring] springMVC 구조
𖤐 서블릿(Servlet)
: 클라이언트의 요청을 처리하도록 특정 규약에 맞춰 Java코드로 작성하는 클래스 파일
○ DispatcherServlet(FrontController)에서 모든 요청을 다 받는다.
○ HandlerMapping
: HandlerMapping은 request의 url과 매칭되는 handler를 선택하는 역할을 수행.
--> 원하는 handler를 찾아오는 역할 수행함. (= 적합한 controller를 선택한다.)
○ DispatcherServlet은 선택된 controller의 비즈니스 로직 실행 작업을 HandlerAdapter에게 위임한다.
"비즈니스 로직 : 요청사항을 처리하기 위해 JAVA코드로 구현 한 것.
○ HandlerAdapter가 controllerd의 비즈니스 로직을 호출하고 결과를 ModelAndView 객체에 담아서 dispatcherServlet 에게 return 한다.
○ DispatcherServlet이 viewResolver를 이용하여 결과를 보여줄 view를 가져온다.
○ view객체에게 dispatcherServlet이 응답 결과 생성을 요청한다.
○ 동작에 필요한 대부분의 기능을 확장할 수 있도록 인터페이스로 제공한다,
(--> DispatcherServlet 코드의 변경 없이 원하는 기능으로 변경, 확장 가능 )