Spring MVC 정리

라코마코·2020년 4월 21일
0

부스트코스 이론

목록 보기
4/6

https://www.edwith.org/boostcourse-web/lecture/16763/

Spring MVC 흐름

DispacherServlet

스프링 MVC의 프론트 컨트롤러
일을 처리하지는 않고 넘기는 역할만 수행함.

선처리 작업에서
LocaleResolver(지역정보).
FlashMapManager(임시 메시지, 리다이렉트시 삭제됨 addFlashAttrubute로 저장, url 파라미터 저장할때 사용되어짐).
RequestContextHolder(request,response,session 객체를 사용할 수 있게 하는 컴포넌트 ).
MultipartResolver(multipart을 받게 하는 컴포넌트)
등의 컴포넌트가 사용된다.

요청 선처리 흐름


(multipart resolver 전략 )

요청 전달

사용되는 컴포넌트

HandlerMapping : 어떤 핸들러가 사용되어야 되는지 정보를 저장하는 컴포넌트.

HandlerExecutionChain : 실제로 호출될 핸들러를 참조하고 있는 구현체, HandlerMappin으로 HandlerExecutionChain을 호출한다.

HandlerAdapter : 실제 핸드러를 호출한다. 이름이 Adapter인 이유는 인터페이스처럼 구현되어져 있기 때문에, 형태가 다른 여러 컨트롤러를 동일하게 제어할 수 있기 떄문

요청 처리시 사용되는 컴포넌트

ModelAndView : Controller의 처리후 보여줄 view와 결과값 model을 담아 전달하는 클래스

RequestToViewNameTranslator :

URL 요청 정보를 참고하여 뷰 이름을 생성해주는 오브젝트.

예외 처리

handlerexceptionresolver : 예외가 던져졌을때 어떤 핸들러를 실행할지에 대한 정보를 제공한다.
DefaultHandlerExceptionResolver를 이용해서 등록한다.

뷰 렌더링

ViewResolver : 컨트롤러가 리턴한 뷰 이름을 바탕으로, 뷰 객체를 찾아줌
뷰 리졸버를 추가 설정하는것도 가능하다.

0개의 댓글