본문 바로가기

Spring

1장 -3 View 환경설정 + Build 하기

728x90
반응형
SMALL

Welcome Page 만들기

 - 스프링 부트가 제공하는 welcome page 기능으로 밑에 설명한 디렉토리에 index.html으로 만들 수 있다.

 - Web 을 만드는데 있어서 가능한 기능들이 너무 많기 때문에 공식문서를 통해 해당 기능을 찾을 수 있는 능력을 기르는 것이 중요함 [https://spring.io/projects/spring-boot#learn]

 

Spring Boot

 

spring.io

 

디렉토리 src/main/resource/static 안에 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>

이 코드를 index.html 안에 작성

 

실행화면 [localhost:8080]

thymeleaf 템플릿

 - 동적인 웹페이지를 보여주기 위해서 JSP, thymeleaf등을 사용한다.

 장점

  • thyeleaf는 html5를 완벽하게 지원
  • 파일을 html 로 바꾸어도 th: 로 시작하는 thyeleaf문법을 무시해버리기때문에 인식 가능

 

 

실습

 

 

위 사진과 같이

1. controller라는 package를 src/main/java/[프로젝트명] 안에 만들어주기

2. 해당 폴더 안에 HelloController 라는 java파일 만들어주기

package com.example.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";
    }
}

 

3. src/main/resource/template 안에 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>

4. 저장 후 빌드를 하면 localhost:8080/hello를 접속

실습 화면

 - 해당 hello!!는 controller에 있는 data 에 hello!! 값을 넣어준것

 

동작원리

1. 웹 브라우저에서 localhost:8080/hello를 요청 [GetMapping, GET 요청]

2. 내장 톰켓에서 스프링에게 물어봄 (localhost:8080/hello 있어?)

3. HelloController에서 GetMapping 한 ("hello") 와 매치가 되서 코드를 수행

    3-1. return hello; 인 코드를 수행하면서 template에 있는 hello.html 을 찾아서 랜더링

4. Thymeleaf 템플릿이 hello.html 파일을 처리 함 (ViewResolver)

 

스프링 부트 템플릿엔진 기본 view매핑

* `resourses/templates/ [viewName] .html

 

 

빌드 하는 방법

-터미널에서 빌드하고자 하는 해당 파일의 디렉토리로 이동

파일 빌드
./gradlew build

빌드가 완료 되면 build파일로 이동
cd build

buld 파일안에 libs 디렉토리로 이동
cd libs
ls

 

 

빌드된 파일 명

파일을 찾으면 

java -jar hello-sping-0.0.1-SNAPSHOT.jar

해당 명령을 실행하면 intellj에서 빌드했던것과 같은 결과를 얻을 수 있음

 

 

 

해당 빌드한 파일을 지우고 싶다면

./gradlew clean

 

 

 

spring 강의 : https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%9E%85%EB%AC%B8-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8

 

[무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의

스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., 스프링 학습 첫 길잡이! 개발 공부의 길을 잃지 않도록 도와드립니다. 📣 확인해주세

www.inflearn.com

 

728x90
반응형
LIST