전체 글
• V1 기존에는 클라이언트의 요청마다 그에 맞는 컨트롤러를 찾는 방식이었는데, 공통적인 처리 등은 하나의 컨트롤러에서 처리를 하자라는 취지로 Front-Controller가 도입이 되었고, Controller 인터페이스 생성 후 Controller를 구현하여 사용한다. Front-Controller는 이 인터페이스 구현한 클래스들을 호출해서 로직의 일관성을 가져갈 수 있다. • V2 아래의 중복된 코드를 줄이고자 MyView라는 객체를 만듦. 이 MyView객체에서 render()라는 메소드를 통해 위의 중복되는 코드를 반환할 수 있게끔 하였다. 즉, ControllerV2의 process()는 MyView객체를 반환하게 되고 역할이 종료된다. String viewPath = "/WEB-INF/vie..
• MVC 패턴 서블릿이 하나거나, JSP 하나만 가지고 비즈니스 로직과 뷰 렌더링까지 모두 처리하게 된다면, 코드도 길어지고 유지보수가 어려워진다. 그리고 변경의 라이프사이클이 다른 기능들끼리 모여있는 경우 유지보수하기 힘듦. 마지막으로 JSP같은 뷰 템플릿은 뷰 렌더링 하는 것에 최적화가 되어 있기 때문에 그 역할에만 충실히 할 수 있도록 분리하는 게 좋다. 그래서 비즈니스 로직과 그 외의 것들을 분리시키고자 MVC 패턴이 등장함 ! Model, View, Controller 3가지로 역할과 기능을 분리를 시켜 각자의 일에 집중할 수 있도록 되었다. • Model 뷰에 출력할 데이터를 담아두는 곳 *모델은 HttpServletRequest 객체를 사용한다. request는 내부에 데이터 저장소를 가지..
• Servlet 톰캣 같은 웹 애플리케이션 서버를 직접 설치하고,그 위에 서블릿 코드를 클래스 파일로 빌드해서 올린 다음, 톰캣 서버를 실행하면 된다. 하지만 이 과정은 매우 번거롭다. 스프링 부트는 톰캣 서버를 내장하고 있으므로, 톰캣 서버 설치 없이 편리하게 서블릿 코드를 실행할 수 있다. 서블릿은 Java를 이용하여 웹 페이지를 동적으로 생성하는 서버 측 프로그램이다. 웹 브라우저에서 요청을 받으면 서블릿 내부의 코드(기능)를 수행한다. 서블릿마다 역할을 지정해놓고 사용함. • Servlet Container 스프링 부트가 내장 톰캣 서버를 생성하고 이 서버가 Servlet을 생성한다. 서블릿 컨테이너는 구현되어 있는 Servlet 클래스의 규칙에 맞게 서블릿 객체를 생성, 초기화, 호출 종료하는..
그렇게 살 거면 후...후...불면은 구멍이 뚫리는 .. 커다란 솜사탕..
