728x90 Spring/spring framework 구현 스터디17 [Spring] 프론트 컨트롤러 4 : 개선편 프론트 컨트롤러 4 앞서 만들어 둔 프론트컨트롤러를 개선한다. 개선방안 우리는 앞에 프로젝트에서 모델뷰를 만들었다. 이번에는 모델뷰를 제거한다. 대신 컨트롤러에 Map 을 넘겨 필요한 데이터를 저장한다. Controller interface 모델 뷰가 없어지고 파라미터들이 Map 으로 변경되었다. package hello.servlet.web.frontcontroller.v4; import java.util.Map; public interface ControllerV4 { /** * * @param paramMap * @param model * @return viewName */ String process(Map paramMap, Map model); } FrontContorller Map 으로 mode.. 2021. 10. 26. [Spring] 프론트 컨트롤러 3 : 종속성제거, 뷰리졸버 구현 프론트 컨트롤러 종속성제거, 뷰리졸버 구현 이전에 반복되는 코드들을 줄인다. 프론트컨트롤러에 많은 역할을 주고 일반 컨트롤러에서는 종속성을 제거한다. 서블릿 종속성을 제거한다. 컨트롤러 입장에서 HttpServletRequest, HttpServletResponse 가 꼭 필요하진 않다. 그렇다면 requset 에서 model을 가져다 썼는데 어떻게 해결할까? - 직접 만들어서 사용한다. 종속성을 제거의 장점 불필요한 코드 request, response 를 줄일수 있다. 만약 파일의 경로가 변경되면 프론트컨트롤러 만 손보면 된다. 유지보수가 간편해 진다. 뷰이름 중복제거 컨트롤러마다 뷰이름이 계속해서 등장하고 절대경로를 사용한다. 상대경로로 변경하여 구현한다. /WEB-INF/views/new-form.. 2021. 10. 23. [Spring] 프론트 컨트롤러 2 : 적용, 뷰 분리 프론트 컨트롤러 적용 과 뷰 분리 프론트 컨트롤러를 직접 만들어 보자. 프론트 컨트롤러 적용 전체적인 구조 ControllerV1 interface 인터페이스로 만든 이유 - 다형성으로 필요한 컨트롤러들을 구현한다. public interface ControllerV1 { void process(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException; } MemberFormContrellerV1 앞서 구현한 기존로직과 동일하다. 다른점은 ControllerV1 을 상속받아 구현을 하였다. public class MemberFormControllerV1 implements ControllerV.. 2021. 10. 21. [Spring] 프론트 컨트롤러 1 : 개념 프론트 컨트롤러 지금까지는 컨트롤러를 구현하기 위해 서블릿을 상속받아 만들었다. 프론트 컨트롤러를 도입하여 공통로직을 한번에 처리하고 요청에 맞는 컨트롤러로 넘겨준다. 프론트 컨트롤러 도입전 공통로직이 중복이 되어 있다. 전부다 서블릿을 상속받아서 만들어야 한다. 프론트 컨트롤러 도입 후 서블릿 하나로 모든클라이언트의 요청을 받는다. 프론트 컨트롤러가 요청에 맞는 컨트롤러를 찾아서 호출한다. 공통처리를 프론트컨트롤러에서 담당한다. 프론트 컨트롤러가 동작하는 과정 https://vprog1215.tistory.com/194?category=989392 [Spring] DispatcherServlet DispatcherServlet이란? 모든 요청을 DispatcherServlet을 통해 받는다. 해당 받아.. 2021. 10. 18. 이전 1 2 3 4 5 다음 728x90 반응형