목록BE (354)
오봉이와 함께하는 개발 블로그
스프링 MVC - 컨트롤러 통합 @RequestMapping 을 잘 보면 클래스 단위가 아니라 메서드 단위에 적용된 것을 확인할 수 있다. 따라서 컨트롤러 클래스를 유연하게 하나로 통합할 수 있다. SpringMemberControllerV2 @Controller @RequestMapping("/springmvc/v2/members")// @RequestMapping 클래스 레벨과 메서드 레벨 조합 public class SpringMemberControllerV2 { private MemberRepository memberRepository = MemberRepository.getInstance(); @RequestMapping("/new-form") public ModelAndView newForm(..
스프링 MVC - 시작하기 스프링이 제공하는 컨트롤러는 어노테이션 기반으로 동작해서 유연하고 실용적이다. 자바에 어노테이션도 없기도 했고, 스프링도 처음부터 이런 유연한 컨트롤러를 제공한 것은 아니다. @RequestMapping 스프링은 어노테이션을 활용해서 실용적인 컨트롤러를 만들었는데 이것이 바로 @RequestMapping 어노테이션을 사용하는 컨트롤러다. @RequestMapping RequestMappingHandlerMapping RequestMappingHandlerAdapter 가장 우선순위가 높은 핸들러 매핑과 핸들러 어댑터는 RequestMappingHandlerMapping, RequestMappingHandlerAdapter다. 지금까지 만들었던 코드를을 @RequestMappin..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bAvBaO/btrJABDpbRW/KHYtjOzNakkGlsGHRfrTi1/img.png)
뷰 리졸버 OldController - View 조회할 수 있도록 변경 @Component("/springmvc/old-controller") public class OldController implements Controller { @Override public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { System.out.println("OldController.handleRequest"); return new ModelAndView("new-form"); } } http://localhost:8080/springmvc/old-controller로 실행하면 브..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ubvGr/btrJC4jqGTN/L0e2Qs5GQFmZX4XqtCYt2k/img.png)
핸들러 매핑과 핸들러 어댑터 핸들러 매핑과 핸들러 어댑터가 어떤 것들이 어떻게 사용되는지 알아보자. Controller 인터페이스 과거 버전 스프링 컨트롤러 public interface Controller { ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception; } Controller 인터페이스는 @Controller과는 전혀 다르다. 간단하게 구현해보자. @Component("/springmvc/old-controller") public class OldController implements Controller { @Override public ModelAndView ha..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bppKM0/btrJARZO3e8/fIfpidkGzf1evllGZvMjJ1/img.png)
스프링 MVC 전체 구조 전에 만든 MVC 프레임워크와 스프링 MVC를 비교해보자. 직접 만든 MVC 프레임워크 Spring MVC 구조 자체는 직접 만든 것과 스프링이 똑같다. 비교 FrontController -> DispatcherServlet handlerMapping -> HandlerMapping MyHandlerAdapter -> HandlerAdapter ModelView -> ModelAndView viewResolver(메서드) -> ViewResolver(인터페이스) MyView -> View DispatcherSevlet 구조 org.springframework.web.servlet.DispatcherServlet 스프링 MVC도 프론트 컨트롤러 패턴으로 구현되어 있다. 스프링 MV..