Response Flow.. ?
* SpringMvc는 Client로 부터 요청이 발생되면 그 요청주소를 분석하여 매핑이되는 메서드를 호출하게 되며, 결과 처리이후 반환정보(View, Data) 생성하여 Client에게 전달한다.
* 서버의 응답결로 String, Model, ModelAndView 는 브라우저의 응답결과로 화면(View) 을 경로지정하여 반환한다.
Redirect ?
* Server에서 Client에게 응답결과로 View(화면)이 아닌 재 요청할 주소를 응답결과로 전달하는 것을 의미한다.
* Client는 응답결과로 받은 재 요청할 주소를 직접요청하게되며, 주소창의 URL(주소)는 변경된다.
* Redirect는 새로운 요청(Request)이 발생하는 것이므로 HttpServletRequest 객체는 새롭게 생성되며, HttpSession 객체는 유지한다.
Forward ?
* Server 상 에서 코드의 흐름이 이동되는 것을 의미한다.
* Browser는 다른곳으로 흐름이 이동된 것을 알수 없어, 주소상의 URL은 변경되지 않는다.
* Forward는 Client에게 새로운 요청(Request)하는 것이 아닌 서버상의 이동이므로 HttpServletRequest 객체와 HttpSession 객체는 유지된다.
Redirect. Forward Exercise..
1. 리다이렉트,포워드(Response) 컨트롤러 생성
2. TestRedireFowardController 응답결과 확인 (URL Redirect Test)
Redirect요청
* Server에서 Client에게 응답결과로 View(화면)이 아닌 재 요청할 주소를 응답결과로 전달.
* Client는 응답결과로 받은 재 요청할 주소를 직접요청 -> 주소창의 URL(주소)는 변경, HttpServletRequest 재 생성
("/redirectTest" --> "/redirectTest/sub")
3. TestRedireFowardController 응답결과 확인 (URL Forward Test)
Forward요청
* Server 상 에서 코드의 흐름이 이동, HttpServletRequest, HttpSession 기존유지.
* 브라우저의 상 주소(URL)은 변경되지 않는다. ("/fowardTest" --> "/fowardTest")
'SpringMVC' 카테고리의 다른 글
[SpringMVC] RequestScope Bean(2) (0) | 2021.09.14 |
---|---|
[SpringMVC] RequestScope(1) (0) | 2021.09.10 |
[SpringMVC] Server응답 처리방식(Request, Model, ModelAndView) (0) | 2021.09.05 |
[SpringMVC] 파라미터 처리방식 (2) (0) | 2021.09.01 |
[SpringMVC] 파라미터 처리방식 (1) (0) | 2021.08.30 |