FrontControllerServlet

2023. 5. 30. 20:05·Spring
728x90

 

http://localhost:8080/front-controller/v5/v3/members/new-form 주소가 들어오면

 

handlerMappingMap.put("/front-controller/v5/v3/members/new-form", new MemberFormControllerV3());
Object handler = getHandler(request); 

MemberFromControllerV3가 반환된다.

 

MyHandlerAdapter adapter = getHandlerAdapter(handler);
private MyHandlerAdapter getHandlerAdapter(Object handler) {
    for (MyHandlerAdapter adapter : handlerAdapters) {
        if(adapter.supports(handler)){
            return adapter;
        }
    }
    throw new IllegalStateException("handler adapter를 찾을 없습니다. handler=" + handler);
}

그 후 ControllerV3의 HandlerAdapter의 support를 호출한다.

 

@Override
public boolean supports(Object handler) {
    return (handler instanceof ControllerV3);
}

V3가 있으면 true가 반환되고 adapter를 반환한다.

 

MyHandlerAdapter adapter = getHandlerAdapter(handler);

그 후 해당되는 adapter의 handler를 호출한다.

 

ControllerV3 controller = (ControllerV3) handler;

ControllerV3로 캐스팅을 한다.

 

Map<String, String> paramMap = createParamMap(request);
ModelView mv = controller.process(paramMap);

process가 호출되고,

return new ModelView("new-form");

ModelView를 반환한다.

 

String viewName = mv.getViewName();//논리이름 new-form
MyView view = viewResolver(viewName);

view.render(mv.getModel(), request, response);

그 후 viewResolver로 viewName을 찾고 rendering을 해주면 cycle이 끝이 난다.

728x90

'Spring' 카테고리의 다른 글

요청 매핑  (0) 2023.05.31
스프링 MVC  (0) 2023.05.31
HandlerAdapter  (0) 2023.05.30
Model 추가  (0) 2023.05.29
View 분리  (0) 2023.05.29
'Spring' 카테고리의 다른 글
  • 요청 매핑
  • 스프링 MVC
  • HandlerAdapter
  • Model 추가
minseououo
minseououo
    250x250
  • minseououo
    StudyRepository
    minseououo
  • 전체
    오늘
    어제
    • 분류 전체보기 (98) N
      • 인버터 (5) N
      • 자동차 (26)
      • 모터 (3)
      • 검증 (2)
      • Spring (46)
      • 프로젝트 (1)
      • 인공지능 (2)
      • 운영체제 (5)
      • Algorithm (2)
      • 소프트웨어공학 (5)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    sys그룹
    모터제어
    Spring
    자동차
    dq변환
    자동차 통신
    clarke변환
    AUTOSAR
    자동차 신차 개발 프로세스
    park변환
    autosar architecture
    java
    스프링
    bsw
    hils 검증
    ASPICE
    mtpa
    백앤드
    약계자제어
    single-wire 통신
    전류 제한원
    인버터
    자동차 네트워크
    v-cycle
    sae j2716
    SDV
    자율주행
    ASW
    ISO26262
    자바
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
minseououo
FrontControllerServlet
상단으로

티스토리툴바