반응형
💡 FrontController
화면에서 뭔가를 클릭해 호출 했을 때, 각각의 여러 컨트롤러로 이동하지 않고, 하나의 프론트 컨트롤러로 이동해 각 컨트롤러로 이동하는 구조이다. 수문관👨🎤과 같은 역할
공통 처리가 가능하고, 프론트 컨트롤러를 제외한 나머지 컨트롤러는 서블릿을 사용하지 않아도 된다.
이 글에서는 나오지 않지만, 스프링MVC의 핵심도 FrontController이며, Dispatcherservlet으로 되어 있다.
기존 코드에서 프론트 컨트롤러를 도입해보겠다.
2025.02.28 - [☕ JAVA/☕ Library & Pattern] - [JAVA]HttpServlet, JSP, JSTL을 이용한 MVC pattern
- 패키지와 클래스 위치
- interface 컨트롤러
- 를 상속받는 컨트롤러들을 만들어준다.
이 때, 안의 코드는 메서드명만 다르고 안의 코드는 기존 코드와 같다. - 동일하게 나머지 save, memberList 컨트롤러도 만들어준다.
- FrontController
- urlPatterns = "/front-controller/v1/*" 로 시작하는 모든 페이지를 받을 수 있다.
- controllerMap이라는 컨트롤러 매핑 정보를 만들어서
- request.getRequestURI( ) 로 uri를 가져오면 "/front-controller/v1/members"가 가져와진다.
→ key값으로 활용해 일치하는 하위 컨트롤러를 가져온다. - controller.process(request, response)
→ 일치하는 컨트롤러를 실행시킨다.
※ 구조를 개선할 때는 이와 같이, 기존 코드를 최대한 유지 시키고 틀을 변경하는 것이 좋다.
느낀 점. 물론 요즘 이렇게 쓰지는 않겠지만 참 깔끔하고 좋은 구조이다.
반응형
'☕ JAVA > ☕ Library & Pattern' 카테고리의 다른 글
[JAVA]MVC의 Model 만들어보기 (0) | 2025.03.01 |
---|---|
[JAVA]MVC의 View 만들어보기 (1) | 2025.03.01 |
[JAVA]HttpServlet, JSP, JSTL을 이용한 MVC pattern (0) | 2025.02.28 |
[JAVA]HttpServlet 이용해 회원관리 웹 애플리케이션 만들기 (1) | 2025.02.28 |
[JAVA]싱글톤 방식의 주의점 (0) | 2025.02.25 |