Redirect
서블릿의 요청이 클라이언트의 웹브라우저를 다시 거쳐 요청 되는 방식으로 dispatch의 forward와는 달리 url주소가 바뀐다.
Redirect 과정
클라이언트의 웹 브라우저에서 첫번째 서블릿을 요청 -> 첫 번째 서블릿은 sendRedirect() 메서드를 이용해 두 번째 서블릿을 웹 브라우저를 통해서 요청 -> 웹 브라우저는 sendRedirect() 메서드가 지정한 두번 쨰 서블릿을 다시 요청한다
dispatcher 방식
controller
@Controller
public class HomeController {
//첫번째
@RequestMapping(value = "first", method = RequestMethod.GET)
public String first() {
System.out.println("first");
return "second";
}
//두번째
@RequestMapping(value = "second", method = RequestMethod.GET)
public String second() {
System.out.println("second");
return "second";
}
}
first 요청 화면
url 변화 없이 second화면이 출력이 되며 콘솔창에 first만 출력되는 것을 확인 할 수 있다.
Redirct 방식
controller
@Controller
public class HomeController {
//첫번째
@RequestMapping(value = "first", method = RequestMethod.GET)
public String first() {
System.out.println("first");
return "redirect:second";
}
//두번째
@RequestMapping(value = "second", method = RequestMethod.GET)
public String second() {
System.out.println("second");
return "second";
}
}
first 요청 화면
url이 기존 first에서 second로 바뀌고 second화면이 출력이 되었다. 콘솔창을 보면 기존 first만 출력되었지만 second 까지 출력되는 것을 확인 할 수 있다.
'Spring' 카테고리의 다른 글
Spring Interceptor에서 redirect 사용법 (0) | 2020.05.02 |
---|---|
Spring Interceptor에서 redirect 사용법 (2) | 2020.05.02 |
Spring 포워드 방법 (0) | 2020.05.01 |
Spring Interceptor (0) | 2020.05.01 |
Spring redirect 사용시 parameter 넘기기 (1) | 2020.04.28 |