MVC 패턴(v1~v5) 요약 저장 DB private static MemberRepository instance = new MemberRepository(); public static MemberRepository getInstance(){ return instance; } 요구 사항 클라이언트가 입력한 username과 age를 저장하고 목록을 보여주는 기능 Member 객체는 username과 age 매개변수를 갖음 필요한 기능 : 입력 기능, 저장 기능, 목록을 보여주는 기능 구현 과정 Front Controller를 통해 서블릿 하나로 클라이언트 요청을 받는다. 요청에 맞는 컨트롤러를 찾아서 호출 Controller를 인터페이스를 통해 각각 기능을 구현한다 인터페이스를 구현하는 컨트롤러는 Fro..
java

유연한 컨트롤러 -v5 기존 v1~4까지의 문제 v1 ~v4 까지는 Controller를 직접 호출해 private Map controllerV4Map = new HashMap(); public FrontControllerServletV4(){ controllerV4Map.put("/front-controller/v4/members/new-form",new MemberFormControllerV4()); controllerV4Map.put("/front-controller/v4/members/save",new MemberSaveControllerV4()); controllerV4Map.put("/front-controller/v4/members",new MemberListControllerV4()); }..

실용적인 컨트롤러 -v4 v4 구조 ControllerV4 package hello.servlet.web.frontcontroller.v4; import java.util.Map; public interface ControllerV4 { String process(MapparamMap, Map model); } MemberFormControllerV4 package hello.servlet.web.frontcontroller.v4.controller; import hello.servlet.web.frontcontroller.v4.ControllerV4; import java.util.Map; public class MemberFormControllerV4 implements ControllerV4 { @..
스프링 웹 개발 기초 정적 컨텐츠 정적 컨텐츠 static 폴더내의 html 파일을 localhost/[폴더명]을 통해서 접근 가능 localhost/[폴더명]을 통해서 접근하면 [폴더명]을 가지고 스프링 컨테이너가 컨트롤러를 우선적으로 탐색 static 폴더내의 html 파일은 컨트롤러가 아니기 때문에 컨트롤러 탐색 후 static 폴더에 있는 html 파일 반환 http://127.0.0.1:8080/hello-static.html 으로 접근이 가능MVC와 템플릿 엔진 MVC : Model, View, Controller 스프링의 동작 방식 Controller 요청에 따라 어떤 처리를 할지 결정해주는 로직 서비스를 담당 package hello.hellospring.controller; import ..