1 분 소요

스프링 강의 2일차

0. 목차

1. View 환경설정

2. Controller 설정

1. View 환경설정

저번 포스팅에서 http://start.spring.io에서 스프링 부트 프로젝트 생성 및 다운하고 인텔리제이로 프로젝트 열기까지 하였습니다.

View 환경설정 전에 열린 프로젝트를 잠시 살펴보면 좋을거같습니다. 보다보면 ~Application이라고 적힌 자바 파일을 볼 수 있습니다. 여기서 평상시에 본 public static void main이 있는데 왼쪽 플레이 버튼을 통해 해당 메소드를 런 시켜봅시다.

그럼 스프링이 시작됩니다. 포트는 default 값이 8080입니다. 이제 http://localhost:8080에 접속을 하면! Not Found Page가 뜰겁니다. 그렇다면 제대로 작동되고 있는 것이니 걱정 마세요! 준비는 끝났습니다.

이제 View 환경을 설정하도록 하겠는데 매우 간단합니다.
인텔리제이 왼쪽에 프로젝트를 살펴보시면 src -> main -> resources -> static 이라는 폴더를 찾을 수 있는데 static 폴더에 index.html을 만들어줍니다.
index.html안에는

<!DOCTYPE HTML>
<html>
<head>
    <title>Hello</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
</head>
<body>
  Hello
  <a href="/hello">hello</a>
</body>
</html>

을 적어줍시다! 혹시 HTML을 배우셨던 분이라면 표현하고 싶은 대로 적으셔도 좋을듯합니다.

다 작성을 하셨다면 프로젝트를 한번 멈추었다가 다시 켜주세요. DevTools도 포함시키신 분이라면 재시작을 안하셔도 자동적으로 재시작을 합니다. 이제 그렇다면 다시 http://localhost:8080에 들어가봅시다!

다시 들어가보면! 뙇하고 index.html에 적은 것들이 출력되는 것을 볼 수 있습니다.

이제 그렇다면 스프링으로 프로젝트를 만든만큼 컨트롤러를 이용을 해봐야겠죠!

2. Controller 설정

hello.hellospring 패캐지 안에 컨트롤러용 패키지(이름은 controller)를 하나 생성하겠습니다.
만들었다면 해당 패키지 안에 HelloController라는 자바 클래스 파일 하나를 생성하고 아래와 같이 작성해주시면 됩니다.

package hello.hellospring.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class HelloController {

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

}

이제 컨트롤러에서 다시 뷰로 올 곳을 만들어주도록 하겠습니다.

resources폴더 안에 templates라는 폴더를 하나 생성하고 hello.html 파일을 하나 생성해줍시다!
hello.html의 코드는 아래와 같습니다.

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

여기서 좀 독특한 것이 뭔가 하나 보입니다. th:text="${ }"부분입니다.
프로젝트를 생성할 떄 말한 thymeleaf의 사용법입니다. thymeleaf의 사용법이 더 궁금하신 분은 구글을 통해서 찾아보시면 좋을 듯합니다!

다 작성이 끝나셨다면 이제 다시 프로젝트를 재시작하고 index에서 <a />태그를 클릭해 hello.html으로 이동해봅시다!

그럼 또 다시 뙇! 하고 새로운 페이지가 나왔을겁니다. 성공하셨다면 한번 더 새로 만들어보시는 걸 추천드립니다! 안그러면 나중에 한참 더 어려운 것들이 많은데 프로젝트 생성부터 힘들어지더라구요 ㅠㅠ

오늘도 고생하셨고 내일 또 다시 포스팅하겠습니다~