본문 바로가기
728x90
반응형

HandlerAdapter4

[Spring] 핸들러 매핑과 핸들러 어댑터 핸들러 매핑과 핸들러 어댑터가 어떤 것들이 어떻게 사용되는지에 대해 알아보자. 지금은 전혀 사용하지 않았지만, 과거에 주로 사용했던 스프링이 제공하는 간단한 컨트롤러로 핸들러 매핑과 어댑터를 이해해보자. Controller 인터페이스 과거 버전 스프링 컨트롤러. org.springframework.web.servlet.mvc.Controller public interface Controller { ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception; } 스프링도 처음에는 이런 형식의 컨트롤러를 제공했다. 참고로, .Controller 인터페이스는 @Conroller 애노테이션.. 2023. 5. 25.
[Spring] 스프링 MVC 전체 구조, 스프링 MVC 동작순서 직접 만들었던 MVC 프레임워크와 스프링 MVC를 비교해보면 직접 만든 MVC 프레임워크 구조 SpringMVC 구조 직접 만든 프레임워크 스프링 MVC 비교 FrontController → DispatcherServlet handlerMappingMap → HandlerMapping MyHandlerAdapter → HandlerAdapter ModelView → ModelAndView viewResolver → ViewResolver MyView → View DispatcherServlet 구조 살펴보기 org.springframework.web.servlet.DispatcherServlet 스프링 MVC도 프론트 컨트롤러 패턴으로 구현되어 있다. 스프링 MVC의 프론트 컨트롤러가 바로 디스패처 서블.. 2023. 5. 25.
[Spring] HandlerAdapter를 적용한 유연한 컨트롤러2 - v5 FrontControllerServletV5 에 ControllerV4 기능도 추가해보자. package helloMVC.servlet.web.frontcontroller.v5; import helloMVC.servlet.web.frontcontroller.ModelView; import helloMVC.servlet.web.frontcontroller.MyView; import helloMVC.servlet.web.frontcontroller.v3.controller.MemberFormControllerV3; import helloMVC.servlet.web.frontcontroller.v3.controller.MemberListControllerV3; import helloMVC.servlet.web.. 2023. 5. 25.
[Spring] HandlerAdapter를 적용한 유연한 컨트롤러1 - V5 만약 어떤 개발자는 ControllerV3 방식으로 개발하고 싶고, 어떤 개발자는 ControllerV4 방식으로 개발하고 싶다면, 어떻게 해야할까? public interface ControllerV3 { ModelView process(Map paramMap); } public interface ControllerV4 { String process(Map paramMap, Map model); } 둘 다 유연하게 사용하게 하려면 Adapter를 적용하면 된다. 어댑터 패턴이 있는데, 앞서 적용된 ControllerV3, ControllerV4는 한 가지 방식의 컨트롤러 인터페이스만 사용할 수 있다. ControllerV3, ControllerV4는 완전히 다른 인터페이스이다. 따라서 호환이 불가능하며.. 2023. 5. 25.
728x90
반응형