728x90
[Servlet] 요청 위임
클라이언트의 요청을 받은 서블릿에서 다른 컴포넌트(서블릿, JSP, html)로 요청을 위임할 수 있다. 직접 요청 받은 서블릿에서 모든 작업을 처리하지 않고 위임한 컴포넌트에서 특정 작업을 처리
gangintheremark.tistory.com
리턴 타입이 String 일 때, 다음과 같은 특별한 키워드를 붙여서 사용할 수 있다.
- forward : 포워드 방식으로 처리
forward:target
- redirect : 리다이렉트 방식으로 처리
redirect:target
포워드(forward) 처리
- 화면 URL 변경 X
request scope
에 저장된 데이터 target에서 사용 가능
@RequestMapping("/aaa")
public String aaa(Model m) {
m.addAttribute("userid","옥지얌");
return "forward:xxx";
}
리다이렉트(redirect) 요청
- 화면 URL 변경
request scope
에 저장된 데이터 target에서 사용 불가
@RequestMapping("/bbb")
public String bbb(Model m) {
m.addAttribute("userid","옥지얌");
return "redirect:xxx";
}
flash scope
RedirectAttributes
는 redirect 처리를 한 경우 일회성으로 데이터를 전달할 수 있다.
@RequestMapping("/bbb")
public String bbb(RedirectAttributes m) {
m.addFlashAttribute("userid", "옥지얌");
return "redirect:xxx";
}
RedirectAttributes
는 파라미터로 선언해서 사용하고, addFlashAttribute(이름, 값)
메서드를 이용해 화면에 한 번만 사용하고 다음에는 사용되지 않는 데이터를 전달하기 위해 사용한다.
728x90
'WebServer > Spring' 카테고리의 다른 글
[Spring] Spring 기반의 파일업로드(File Upload) (0) | 2023.09.19 |
---|---|
[Spring] MVC 네임스페이스 태그 관련 (0) | 2023.09.18 |
[Spring] 스프링 MVC의 Controller (0) | 2023.09.17 |
[Spring] Spring MVC 구조와 컴포넌트 (0) | 2023.09.16 |
[Spring] 트랜잭션 처리 (TransactionManager) (1) | 2023.09.15 |