(수업 내용을 ppt에 정리하다보니 그림이 작으니
확대해서 봐야한다.)
앞서 배웠던 version 5와 똑같은 구조를 갖는다.
하지만 명칭이 달라졌고 안에 있는 세부적인 내용들이 조금씩 수정되었다.
저 빨간색 네모칸에 있는 것이 스프링 MVC이다. 앞서 내가 직접 만들었던 MVC와 비교해서 생각해보자.
일단 내가 알아둬야할 것은
이제 스프링의 MVC로 인해서 내가 FrontController, 핸들러 어댑터, View, 뷰리졸버를
손보는 일은 없다.
나는 그냥 Controller와 jsp파일을 잘 설계해서 올리면 되는 것이다.
일단 왜 그게 가능해졌는지 오늘 배운 내용을 정리해본다.
스프링 MVC가 제공하는
spring.mvc.view.prefix =/WEB-INF/views/
spring.mvc.view.suffix =.jsp
를 추가한다.가장 우선순위가 높은 RequestMappingHandlerMapping 핸들러 매핑과
RequestMappingHandlerAdapter 핸들러 어댑터의 앞글자를 딴 @RequestMapping 애노테이션.
이 앞글자를 딴 애노테이션이 저 우선순위가 높은 핸들러 매핑과 핸들러 어댑터를 지원하는 애노테이션 기반의 컨트롤러 이다.
1.@Controller와 @RequestMapping
2.@Component와 @RequestMapping
3.스프링 빈 직접 등록과 @RequestMapping
@Bean
SpringMemberFormControllerV1 springMemberFormControllerV1() {
return new SpringMemberFormControllerV1();
}
컴포넌트 스캔 없이 별도로 스프링 빈을 직접 등록해도 된다.
4.번외) addObject() : 스프링이 제공하는 ModelAndView를 통해 Model데이터를 추가할 때 사용
클래스와 메서드 레벨과의 조합도 가능하다.
메소드 레벨에서 발생하는 중복된 url을 제거하여 클래스 레벨에 선언하였다.
1. Model 파라미터
save()와 members()는 Model을 파라미터로 받는다.
2. @RequestParam
request.getParameter("username")과 거의 같은 코드로 HTTP 요청 파라미터의 데이터를 받는다.
3. @RequestMapping-> @GetMapping, @PostMapping
@RequstMapping(value="/new-form",method=RequestMethod.GET)
에서 단순히 @GetMapping과 @PostMapping을 통해서 더 편리해졌다.