이전글 보러가기
[Spring Boot] 0.2. MyBatis 연동하기(이클립스/mysql/SpringMVC)
지난 시간에는 Spring Boot Project에 index.jsp 띄우는 과정을 기록했는데 오늘은 DB설정 MyBatis 연동에 관해 기록해본다. 이어서 시작 전에 *사용할 스펙과 프로그램에 대해 미리 체크* (이전 게시글에서
younimini.tistory.com
지난 포스팅에서 String으로 리턴 타입을 받아오지 못하는 에러가 있었다고 적었었는데
그 부분에 대해 공부해봤더니 Controller 에서 사용할 수 있는 return 타입이 여러가지 있었다.
디테일한 설정은 지난 포스팅과 참고!
※ Spring MVC 메소드 리턴타입 정리
1. view 설정
/WEB-INF/jsp 폴더 안에 .jsp 파일로 지정
(기본설정을 위해 application.yml(또는 properties)의 mvc.view 경로 확인)

2. 리턴타입의 종류 예제
(1) String
- Spring + View template을 사용할때 흔히 사용. void와 달리 상황에 따라 다른 화면(if else)을 보여줄 필요가 있을때 유용
ex) Model 안에 key, value 데이터를 담고, return 타입을 String 해서 View의 이름을 정해주면
뷰로 데이터가 전송되어서 데이터 조회가 가능(Model, ModelMap, ModelAndView 모두 가능)
// test.jsp 파일에가서 ${name}를 사용할 수 있게 함
@RequestMapping("/test")
public String test(@RequestParam String name, Model model) {
model.addAttribute("name", name);
return "test";
}
//view가 아닌 다른 리다이렉션을 지정도 가능
@RequestMapping("/test")
public String test2(@RequestParam String name, Model model){
model.addAttribute("name", name);
return "redirect:/test";
}
(2) ModelAndView
- Model과 View를 동시에 설정 가능한 객체.
생성자로 뷰의 이름을 저장하거나, setViewName() 메서드를 사용해 뷰 네임을 지정하고, addObject() 메서드로 데이터를 저장
@GetMapping("/test")
public ModelAndView test() {
ModelAndView view = new ModelAndView(); //view = test.jsp
view.setViewName("test"); //[test.jsp] ${name} = "Kim"
view.addObject("name", "Kim");
return view;
}
@RequestMapping("/hello")
public ModelAndView hello(@RequestParam String name){
return new ModelAndView("hello").addObject("name", name);
}
@RequestMapping("/hello")
public ModelAndView hello(@RequestParam String name, Model model){
model.addAttribute("name", name);
return new ModelAndView("hello");
}
@GetMapping("/test1")
public ModelAndView test1() {
ModelAndView mav = new ModelAndView();
mav.setViewName("redirect:/test1");
return mav;
}
(3) void
- 호출하는 url과 동일한 이름의 jsp를 의미
@Controller
public class HelloController {
@RequestMapping("/hello")
public void hello() { }
}
(4) @ResponseBody
- response할 때 Http 헤더 정보와 내용을 가공하는 용도로 사용
@Controller
public class HelloController {
@RequestMapping("/hello")
@ResponseBody
public String hello() {
return "<html><body><h1>Hello, ResponseBody!</h1></body></html>";
}
}
3. 리턴타입의 적용 연습해보기
'웹 > Spring' 카테고리의 다른 글
| [Spring] apache.poi 라이브러리로 구현하는 간단한 Excel Download 기본 (1) | 2024.04.03 |
|---|---|
| [Spring] @Aurowired 의존성 주입(Dependency Injection) (0) | 2024.01.29 |
| [Spring Boot] 0.3. Filter Check Uri 설정하기(SpringMVC) (0) | 2024.01.24 |
| [Spring Boot] 0.2. MyBatis 연동하기(이클립스/mysql/SpringMVC) (0) | 2024.01.18 |
| [Spring Boot] 0.1.Project 세팅하기(이클립스/spring.io/maven/war) (0) | 2024.01.17 |