프론트 컨트롤러 도입 - v1

v1 구조

객체 지향 개념 중 다형성을 기반으로 ControllerV1을 인터페이스로 구현하고, 각각의 기능을 하는 컨트롤러는 상속받도록 한다!

그러면 프론트 컨트롤러는 이 인터페이스를 호출해서 구현과 관계없이 로직의 일관성을 가져갈 수 있다!

정말 중요⭐️❤️

  1. URL 맵핑 정보는 HashMap으로 만든다. key : 요청 URL, value : 호출할 컨트롤러

  2. request.getRequestURI()로 요청 URL 정보를 가져올 수 있다. 이값이 Map의 key가 되기 때문에 key로 value(호출할 컨트롤러)를 찾는다!

  3. 2번의 value는 key에 따라 MemberFormController, MemberSaveController, MemberListController일 수 있다. 이 3가지는 모두 ControllerV1 인터페이스를 상속받은 구현체들이기 때문에 key를 인터페이스로 담는다!

  4. key에 따른 value가 null이 아니면 key에 해당하는 controller를 실행한다! 인터페이스 Controller의 process 메서드가 있다. 구현체들은 이 메서드들을 똑같이 상속받고, 오버라이딩했으므로, 해당하는 controller에 따라 다른 메서드가 실행된다!

Last updated

Was this helpful?