일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 피보나치함수 예제
- 한국투자증권 해외주식 양도세
- katalon xpath
- katalon 사용법
- 재귀 예제
- js 자동완성
- tomcat log
- katalon 자동화
- 해외주식 양도세 신고
- 국세청 해외주식 양도세 신고방식
- 재귀함수 예제
- javascript 자동완성
- 테스트 자동화
- bfs 미로탐색 java
- katalon 비교
- 주식 양도세 신고방법
- CSTS 폭포수 모델
- 최대공약수 예제
- 홈택스 해외주식 양도세
- recursion example
- java.sql.SQLSyntaxErrorException
- Katalon Recorder 사용법
- katalon
- git 연동
- 해외증권 양도세 한국투자증권
- 톰캣 실시간 로그
- 피보나치 예제
- 피보나치함수
- oracle group by
- 한국투자증권 양도세 신고
- Today
- Total
엄지월드
Srping Handler 본문
1) 사용자로부터 요청이 오면 Filter를 통해 DispatcherServlet으로 요청이 간다.
2) HandlerMapping Bean에게 매칭되는 Handler가 있는지 조회를 요청한다.
3) HandlerMapping은 클라이언트의 요청 경로를 이용해 컨트롤러 Bean 객체를 DispatcherServlet에게 전달해준다.
(Ex @PostMapping("/admin/list")
4) HandlerAdapter에게 매칭된 Handler를 전달해서 처리를 요청한다.
5) HandlerAdapter는 컨트롤러의 알맞은 메서드를 호출한다.
(Ex public String list(Model model, CourseParam parameter){ ... }
6)7)8) Controller는 처리한 후에 결과를 ViewName에 전달해주고,
HandlerAdapter를 통해 ModelAndView로 만들어 DispatcherServlet에게 반환해준다.
9) DispatcherServlet은 결과를 보여줄 View를 찾기 위해 ViewResolver Bean 객체를 사용한다.
10) ViewResolver는 ModelAndView 내부에 있는 뷰 이름에 해당하는 View 객체를 찾거나 생성해서 리턴한다.
11) DispatcherServlet은 ViewResolver가 리턴한 View 객체에게 응답 결과 생성을 요청한다.
<핸들러 흐름의 연관된 설명들>
- Controller 안에서 실제 요청을 처리하는 메소드를 핸들러(Handler)라고 한다. 사용자로부터 서버로 요청이 가면, 해당 요청에 맞는 컨트롤러의 핸들러로 요청 정보가 전해지고, 핸들러는 이를 처리하여 적절한 값을 반환 한다.
그리고 요청과 핸들러를 연결하는 것을 핸들러 맵핑(Handler Mapping)이라고 하고, @RequestMapping 어노테이션을 사용하여 맵핑이 이루어진다.
-Controller가 실행되려면 HandlerMapping, HandlerAdapter 두 가지가 필요하다.
- 클라이언트의 요청을 실제로 처리하는 것은 컨트롤러이고 DispatcherServlet은 클라이언트의 요청을 전달받는 창구 역할을 한다. 즉, DispatcherServlet은 클라이언트의 요청을 처리 할 컨트롤러를 찾기 위해 HandlerMapping을 사용한다.
- DispatcherServlet은 핸들러 객체의 실제 타입에 상관 없이, 실행 결과를 ModelAndView라는 타입으로만 받을 수 있으면 된다.
그런데 핸들러의 실제 구현 타입에 따라 ModelAndView를 리턴하는 객체도 있고, 그렇지 않은 구현 객체도 있다.
따라서, 핸들러의 처리 결과를 ModelAndView로 변환해주는 객체가 필요하며, HandlerAdapter가 바로 이 변환을 수행해준다.