Spring MVC

Archymi·2021년 3월 12일

Spring MVC

Spring MVC 란?

  • M (Model) : 애플리케이션의 정보, 데이터 처리 관리
  • V (View) : 사용자 인터페이스 (화면)
  • C (Controller) : Model과 View간 상호동작 조정

Spring MVC의 장점

  • View와 비즈니스 로직처리가 분리가 되어서 프론트와 백엔드의 종속성이 줄어든다.
  • Controller, View, DispatcherServlet 처럼 각 컴포넌트별로 역할구분이 명확해 진다.

Component 기능

  • DispatcherServlet : HTTP 프로토콜에서 모든 요청을 프레젠테이션 계층의 가장 앞에 둬서 중앙 집권식으로 처리해주는 프론트 컨트롤러(Front Controller)
  • HandlingMapping : 요청 URL을 어떤 컨트롤러가 처리해줄지 결정한다.
  • Controller : 요청 URL을 처리한 후 결과를 DispatcherServlet으로 리턴.
  • ModelAndView : 컨트롤러가 처리한 결과 정보 및 뷰 선택에 필요한 정보를 담는다.
  • ViewResolver : 컨트롤러의 처리결과를 생성할 뷰를 결정한다.
  • View : 컨트롤러의 처리결과를 JSP등을 이용하여 화면으로 생성한다.

Spring MVC 구성도


1. ① 모든 요청을(URL)을 DispatcherServelet에서 받는다.
2. ②,③ 요청 URL에 맞는 Controller를 HandlerMapping에서 선택해준다.
3. ④ Controller에서 비즈니스 로직을 수행하고 그 결과를 View에 반영하여 리턴한다.
4. ⑤ ViewResolver 에서 View이름을 받아 해당 View객체를 리턴한다.
5. ⑥,⑦ View에 Model을 적용하여 View객체를 전달하면 Response(JSP)를 생성하여 ⑧ 클라이언트에게 리턴한다.

Spring MVC Annotation

  • @EnableWebMvc : 스프링이 자동으로 내부적으로 다양한 빈 설정을 추가해 준다.
  • @Controller : 스프링 MVC에서 컨트롤러로 사용한다.
  • @GetMapping : Get 요청을 처리한다. 메서드가 처리할 요청경로를 지정한다. (ex: /hello)
  • @PostMapping : Post 요청을 처리한다. 메서드가 처리할 요청경로를 지정한다.
  • @RequestParam : HTTP 요청 파라미터의 값을 메서드의 파라미터로 전달할 때 사용된다.

참고

profile
겸손하고 꾸준하게.

0개의 댓글