1. MVC 패턴을 이용하여 특정 경로로 들어오는 GET 요청 처리하는 컨트롤러 만들기
(파일 경로: src/main/java/hello_spring/controller/HelloController)
@GetMapping("hello-mvc")
public String helloMvc(@RequestParam("name") String name, Model model){
model.addAttribute("name", name);
return "hello-template";
}
코드를 하나씩 해석보자.
@GetMapping("hello-mvc")
-> /hello-mvc 경로로 들어오는 HTTP GET 요청을 처리할 메서드를 지정합니다.
public String helloMvc(@RequestParam("name") String name, Model model){
-> helloMvc라는 이름의 메서드를 정의합니다. 이 메서드는 name이라는 요청 매개변수를 받아(@RequestParam("name")) 그 값을 name이라는 변수에 저장하고, Model 객체를 통해 데이터를 뷰에 전달합니다.
model.addAttribute("name", name);
-> 뷰에 전달할 데이터로 name이라는 이름으로 요청에서 받은 name 값을 모델에 추가합니다. 이 값은 뷰 템플릿에서 사용할 수 있습니다.
return "hello-template";
-> hello-template이라는 이름의 뷰(보통 hello-template.html)를 반환하여, 해당 뷰를 렌더링하도록 합니다.
2. hello-template Page 만들기
(파일 경로: src/main/resources/templetes/hello-template.html)
아래의 html을 구성해서 간단한 hello-template Page를 만들어보자.
<html xmlns:th="http://www.thymeleaf.org">
<body>
<p th:text="'hello ' + ${name}">hello! empty</p>
</body>
</html>
기존의 방식처럼 localhost:8080/hello-mvc라고 하면 페이지가 실행되지 않느다.
그 이유는 매개변수 name의 값이 전달되지 않았기 때문이다. 따라서 localhost:8080/hello-mvc?name=값 형태로 url을 구성해줘야한다.
'Server > Spring' 카테고리의 다른 글
회원관리 - 백엔드 개발) 3. 회원 서비스 개발하기 (0) | 2024.08.24 |
---|---|
회원관리 - 백엔드 개발) 2. 각각의 repository 메소드 테스트 하기 (0) | 2024.08.24 |
회원관리 - 백엔드 개발) 1. 회원 도메인과 Repository 만들기 (0) | 2024.08.24 |
JSON 데이터를 직접 반환하여, 템플릿을 거치지 않고 API 응답을 처리하기(API 활용하여 개체 JSON으로 반환하기) (0) | 2024.08.24 |
HTML 페이지 렌더링 시 고정된 데이터 포함하기(MVC와 템플릿엔진 이용해보기) (0) | 2024.08.24 |