개발/강의

스프링 입문 - (2) Controller 작성 후 실행

냐냐_ 2021. 8. 27. 11:11
강의명 : 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
강사 : 김영한 님
플랫폼 : 인프런
강좌 : 총 28강 / 321분
가격 : 무료

 

- 강의 링크

 

 

 

 

 


 

코드 작성

 

간단한 코드를 작성하고, 실행했다.

 

 

 

HelloController.java

- 경로 : java/hello/hellospring/controller/HelloController.java

 

    @GetMapping("hello")
    public String hello (Model model) {
        model.addAttribute("data", "this is data"); //①
        return "hello"; //②
    }

 

@GetMapping 어노테이션 = RequestMapping + method는 Get 이라는 뜻

(스프링 4.3부터 출시됐다고... 내가 처음 배울 때부터 이미 있어서 별로 감사함 모르는 중.

버릇없는 요즘사람 깔깔깔)

 

Model이라는 객체에, "data"라는 이름의 객체를 담아 보낸다.

"data" 객체의 내용은 "this is data"이다.

 

"hello"라는 스트링을 리턴하는데,

이렇게 문자를 반환하게 되면 뷰 리졸버(vieweResolver)가

해당 문자를 파일명으로 갖는 화면을 찾아서 처리해 준다.

return "abc" 하면 abc.html을,

return "hi" 하면 hi.html을 찾아 줄 것!

 

 

 

hello.html

- 경로 : resources/templates/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>

 

강의안을 복붙했다 :)

 

① 

이 부분은 타임리프를 적용한 것인데, 위 코드상에서는

<p> 태그 부분에 전달받은 값이 없으면 "안녕하세요. 손님" 이 나오게 되고,

전달받은 값이 있으면 '안녕하세요. ' + ${data} 가 나오게 된다.

 

위 Controller에서 data 객체에 "this is data"라고 담아 보내줬기 때문에,

안녕하세요. this is data 라고 나와야 정상이다!

 

 

 

 

 

실행

 

@GetMapping("hello") 로 처리했기 때문에,

localhost:8080/hello 로 접근한다.

 

 

data가 잘 불러와졌다!