유연한 컨트롤러
public interface ControllerV3 {
ModelView process(Map<String, String> paramMap);
}public interface ControllerV4 {
String process(Map<String, String> paramMap, Map<String, Object> model);
}@WebServlet(name = "frontControllerServletV4", urlPatterns = "/front-controller/V4/*")
public class FrontControllerServletV4 extends HttpServlet {
private Map<String, ControllerV4> controllerMap = new HashMap<>();
public FrontControllerServletV4() {
controllerMap.put("/front-controller/V4/members/new-form", new MemberFormControllerV4());
controllerMap.put("/front-controller/V4/members/save", new MemberSaveControllerV4());
controllerMap.put("/front-controller/V4/members", new MemberListControllerV4());
// value의 타입이 맞지 않아 사용할 수 없다!
controllerMap.put("/front-controller/V3/members", new MemberListControllerV3());
}
}어댑터 패턴

핸들러 어댑터 목록
핸들러 어댑터
핸들러
supports()
handle()
다른 버전의 핸들러 추가

Last updated