Back-End/Spring

[Spring] Controller 패턴과 MVC 구조 알아보기

챌링킴 2021. 8. 30. 20:47
반응형

1) Front-Controller 패턴 알아보기

 

 

Spring 기반 웹 구동 원리

 

Spring 기반 웹 구동 원리 순서 알아보기

1. 사용자의 Request 는 Front-Controller인 DispatcherServlet을 통해 처리한다.

 

2. HandlerMapping은 Request의 처리를 담당하는 컨트롤러를 찾기 위해 존재한다.

 

3. HandlerMapping 인터페이스를 구현한 여러 객체 중 @RequestMapping이라는 어노테이션이 적용된 것을 기준으로 판단하며, 적절한 컨트롤러를 찾았다면 HandlerAdapter를 이용해서 해당 컨트롤러를 동작시킨다.

 

4. Controller의 처리가 완료되었다면 어디로, 어떻게 갈것인지 라는 결과가 나오고 그 결과를 ViewResolver가 리턴을 통해 받아서 어떤 View에서 처리하는 것이 좋을지 해석을 해준다.

 

5. 해석된 결과를 가지고 실제 응답을 보내야 하는 데이터를 JSP등을 이용해서 생성해준다.

 

6. 만들어진 응답(페이지)을 DispatcherServlet을 통해서 전송한다.

✔ 순서 요약
Request -> DispatcherServlet -> HandlerMapping -> HandlerAdapter -> Controller -> ViewResolver -> DispatcherServlet -> Response

 

 

2) 스프링 MVC Controller 특징 알아보기

 

- HttpServletRequest, HttpServletResponse를 거의 사용할 필요 없이 기능 구현이 가능하고

다양한 타입의 파라미터 처리, 다양한 타입의 리턴 타입 사용이 가능하다.

 

- GET방식, POST방식 등 전송 방식에 대한 처리를 어노테이션으로 처리가 가능하다.

 

- 상속/인터페이스 방식 대신 어노테이션으로도 설정이 가능하다.

반응형