공부/Spring - 김영한

[ Spring ] Welcome Page 만들기 및 컴파일

haena02 2022. 8. 6. 21:37
반응형

컨트롤러에서 리턴 값으로 문자를 반환하면 뷰 리졸버( viewResolver )가 리턴값과 같은 파일를 찾아서 처리한다.
 
 resources:templates/ +{ViewName}+ .html
 
현재 컨트롤러에서 hello를 리턴하고 있어, 이를 실행하면 hello.html이 실행이된다.
 

@Controller
public class HelloController {

 @GetMapping("hello")
 public String hello(Model model) {
 
 	model.addAttribute("data", "hello!!");
 
 	return "hello";
 }
 
}
<!--
resources/static/hello.html
-->

<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
 <title>Hello</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<p th:text="'안녕하세요. ' + ${data}" >안녕하세요. 손님</p>
</body>
</html>

위와 같이 두개의 코드를 작성한 뒤 locallhost:8080/hello로 들어가면 
" 안녕하세요. Hello! " 라고 뜬다.
 
 
코드를 조금씩 설명하며 왜 결과가 저렇게 나오는지 알아보겠다.

@GetMapping("hello")

이 코드는 hello를 get 했을 때 이렇게 반응해라. 라는 의미이다.

public String hello(Model model){
    model.addAttribute("data","hello!");
    return "hello";
}

위 코드는 모델이 들어오면 그 모델의 이름은 data 값은 hello!라고 지정해주고 resotce/templetes/hello.html을 실행시켜라 라는 의미이다.
hello.html에는  아래와 같은 코드가 있는데, 여기에 ${data}에 hello! 라는 값이 들어가게된다.

<p th:text="'안녕하세요. ' + ${data}" >안녕하세요. 손님</p>

다음으로는 빌드 후 실행을 해보겠다.
 
먼저 dir로 파일들을 확인하고 cd로 이동하며 gradle.bat 파일이 있는 위치로 이동한다.
 

$gradlew build

위 코드로 빌드한다,
빌드를 했다면 build 파일이 생성된다.
 
build/libs 에 들어간 뒤 아래 코드로 실행시키면 된다.

java -jar (프젝명)-0.0.1-SNAPSHOT.jar

 
잘 실행을 시켰다면 아래 사진과같이 나올것이다.
 

또, 이상태로 hello.html/hello에 들어가본다면 아래와 같이 정상작동 할 것이다.

 

반응형