Back-end/Spring

Spring) Contoller 리턴 타입에 따른 매핑 방법

luana_eun 2022. 4. 27. 17:37
728x90

컨트롤러의 메서드의 리턴타입에 따라 페이지 이동 방법이 다르다. 

리턴값이 없을때(void), 리턴타입이 String일때, 리다이렉트, 포워드 의 페이지 이동을 정리해보려 한다. 

 

 

1.  리턴타입이 void일때

이전글에서 했던 대로 @RequestMapping("/주소") 괄호안에 적은 주소와 같은이름의 페이지를 매핑한다.

@RequestMapping("/myPage") 로 하면 views/myPage.jsp 페이지를 호출.

 

 

 

2. 리턴타입이 String일때

형식

@RequestMapping("/doTest2")
public String doTest02() {		
	return "String리턴";
}

@RequestMapping() 에는 /doTest2로 되어있지만 return된 문자열인 String리턴.jsp 페이지를 호출한다. 

URL주소: localhost:8088:/web/doTest2    → 실제 보여주는 페이지: /views/String리턴.jsp

 

 

 

3. 리다이렉트로 페이지 이동

리다이렉트는 주소가 바뀌면서 화면이 이동하는 방법이다. 

@RequestMapping("/doA")
public String doA() {
	return "redirect:/doB";
}
@RequestMapping("/doB")
public void doB(@ModelAttribute("data") String data) {

}

주소창에 localhost:8088:/web/doA 를 입력하자마자 /web/doB 로 주소가 바뀌면서 페이지가 이동한다. 

 

 

 

4. 포워드로 페이지 이동

포워드는 주소변경 없이 화면이 이동하는 방식이다. 

@RequestMapping("/doA")
public String doA() {
	return "forward:/doB";
}
@RequestMapping("/doB")
public void doB(@ModelAttribute("data") String data) {

}

리다이렉트와 다를거 없이 글자만 forward로 변경하면된다. 

주소창에 localhost:8088:/web/doA 를 입력하면 주소는 그대로 유지되고, doB페이지가 나온다. 

 

 

 

다음 글은 이 방법에 이어서 파라미터값을 받고, 또 가지고 이동하는 방법을 정리해보았다. 

728x90