1.
return 타입을 String으로 지정함으로써, viewName으로 '직접 설정'해서 뷰페이지로 보내는 방법이면서
각각 경로를 잡는 방법.
==> made 한번 , view 한번 경로를 지정해서 사용해야한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | @Controller public class CookieController { @RequestMapping("/cookie/made.do") public String make(HttpServletResponse response) { response.addCookie(new Cookie("auth", "KHacademy")); return "cookie/made"; } @RequestMapping("/cookie/view.do") public String view(@CookieValue(value = "auth", defaultValue = "0") String auth) { System.out.println("auth 쿠키 : " + auth); return "cookie/view"; } } | cs |
2.
1번이 번거롭기때문에, 단계를 거치지 않고 made를 만들고 바로 view로 가는 redirect 뷰 방법
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | @Controller public class CookieController { @RequestMapping("/cookie/made.do") public String make(HttpServletResponse response) { response.addCookie(new Cookie("auth", "KHacademy")); return "redirect:/cookie/made"; } @RequestMapping("/cookie/view.do") public String view(@CookieValue(value = "auth", defaultValue = "0") String auth) { System.out.println("auth 쿠키 : " + auth); return "cookie/view"; } } | cs |
3.
return타입을 String으로 명시하지 않고, 뷰 이름 자동 지정법.
return값이 없는 메서드 인경우에
@RequestMapping에 적혀있는 ("/cookie/view.do") 에서
맨앞 '/' 제거하고, '.do'인 확장자 제거해서 자동 cookie/view로 리턴하게된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | @Controller public class CookieController { @RequestMapping("/cookie/make.do") public String make(HttpServletResponse response) { response.addCookie(new Cookie("auth", "KHacademy")); return "redirect:/cookie/view.do"; } @RequestMapping("/cookie/view.do") public void view(@CookieValue(value = "auth", defaultValue = "0") String auth) { System.out.println("auth 쿠키 : " + auth); System.out.println("리턴타입 void로 성공"); } } | cs |
- 뷰 이름 자동 지정 규칙
1. 리턴타입이 Model, Map인경우
2. 리턴타입이 void이면서, ServletResponse / HttpServletResponse타입의 파라미터가 없는경우
==> 요청 URI에서 맨 앞 '/' 와 확장자를 제외한 나머지 부분으로 사용된다.
ex) /search/game2.do => search/game2
리다이렉트 뷰 : 이름에 redirect:접두어
'JAVA > Spring' 카테고리의 다른 글
Spring - @ModelAttribute + @Controller (0) | 2018.09.12 |
---|---|
web.xml 전체경로(.do)와 Servlet기반 경로 매칭 설정(/폴더) (0) | 2018.09.12 |
Spring MVC - 파라미터 저장법②(파라미터이름==매개변수명) (0) | 2018.09.12 |
Spring MVC - 예제(List로 출력) (2) | 2018.09.12 |
@Autowired, @Resource, @Inject의 차이 (0) | 2018.09.11 |