Spring의 MVC의 구조
·
스프링 프레임워크
Spring MVC 구조Spring은 MVC 패턴에 프론트 컨트롤러 패턴, 어댑터 패턴이 적용된 구조를 가지고 있다. Spring MVC 구조 흐름실행 순서는 다음과 같다.Client로 부터 HTTP 요청(request)를 받는다.Handler 조회Handler Mapping을 통해 요청 URL에 Mapping된 Handler(Controller)를 조회Handler를 처리한 Adapter 조회Handler를 처리할 수 있는 Handler Adapter 조회Handler Adapter 실행알맞은 어댑터가 존재한다면 Handler Adapter에게 요청을 위임한다.Handler 실행(호출)Handler Adapter가 실제 Handler를 호출하여 실행 및 결과 반환Model And View 반환(retu..
프론트 컨트롤러 패턴와 어댑터 패턴
·
스프링 프레임워크
MVC 패턴의 문제점MVC 패턴을 적용해서 View 영역은 Model에서 데이터를 참조하여 화면을 그리는 역할만 수행하면 됐다. 하지만 Controller 에 해당하는 부분은 여전히 문제를 가지고 있다. Contorller의 문제점dispacher.forward(request, response) View로 이동하는 forward가 항상 중복 호출된다.String path = "/WEB-INF/views/new-form.jsp" View의 path 입력을 중복 작업한다.jsp 파일의 경로 혹은 이름이 바뀌면 적용된 코드 전부가 변경되어야 한다.JSP 이외의 확장자를 사용하려면 전체가 변경되어야 한다.HttpServletResponse 객체를 사용하는 경우가 적다.(JSP에서 모두 해결하기 때문에)공통 기능..
MVC 패턴
·
스프링 프레임워크
MVC 패턴 개요MVC 패턴은 Servlet이나 JSP 만으로 비즈니스 로직과 View Rendering 까지 모두 처리하면 너무 많은 역할을 하게 되고 유지보수가 굉장히 어려워져서(책임이 너무 많음) 고안된 패턴이다. Web Application은 일반적으로 MVC(Model View Controller) 패턴을 사용한다. MVC패턴을 적용하지 않은 Servlet 예시@WebServlet("/hello-world")public class HelloWorldServlet extends HttpServlet { // User 저장소 private UserRepository repository = new UserRepository(); public HelloWorldServlet() ..