언어 및 도구들 공부/Spring

컨트롤러의 리턴값과 return값의 View

Dr.Mlem 2024. 10. 15. 17:36

Q.

웹브라우저가 컨트롤러에 접속하면, 컨트롤러의 연산을 끝내고 난 뒤에 나온 return 값의 페이지에 접속을 하는거야?

 

 

 

A.

GitHub Copilot
네, 맞습니다. 웹 브라우저가 컨트롤러에 접속하면, 컨트롤러는 요청을 처리한 후 return 값으로 지정된 뷰 이름을 반환합니다. 그 후, Spring MVC는 해당 뷰 이름에 해당하는 템플릿 파일을 찾아서 클라이언트(웹 브라우저)에게 렌더링된 HTML 페이지를 반환합니다.

 


예를 들어, SurveyController의 step3 메서드를 보면:

 

@GetMapping("/survey/step3")
public String step3(Model model,
    @RequestParam("name") String name,
    @RequestParam("age") int age,
    @RequestParam("group") String group) {

    // 이전 페이지에서 입력받은 내용을 view에 전달한다.
    model.addAttribute("name", name);
    model.addAttribute("age", age);
    model.addAttribute("group", group);

    return "survey/step3";
}


1. 클라이언트가 /survey/step3 URL로 GET 요청을 보냅니다.
2. 컨트롤러의 step3 메서드가 호출됩니다.
3. 메서드는 요청 파라미터(name, age, group)를 받아서 Model 객체에 추가합니다.
4. 메서드는 "survey/step3" 문자열을 반환합니다.
5. Spring MVC는 "survey/step3"에 해당하는 뷰 템플릿 파일(예: survey/step3.html 또는 survey/step3.jsp)을 찾아서 렌더링합니다.
6. 렌더링된 HTML 페이지가 클라이언트에게 반환되고, 웹 브라우저는 해당 페이지를 표시합니다.

 

따라서, 컨트롤러의 연산이 끝난 후 return 값으로 지정된 뷰 페이지가 클라이언트에게 전달되어 브라우저에 표시됩니다.