반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- 스프링 빈
- JPA
- db
- springboot
- sqld
- thymeleaf
- DIP
- 스프링 부트 입문
- 스프링 부트
- SQL
- 생성자 주입
- jdbc
- assertThat
- kafka
- 스프링 부트 기본
- 스프링
- assertThrows
- Javascript
- @Configuration
- 스프링 프레임워크
- 스프링부트
- Effective Java
- mybatis
- resultMap
- 싱글톤
- 필드 주입
- 스프링 컨테이너
- spring
- java
- DI
Archives
- Today
- Total
선 조치 후 분석
[Spring] Spring Boot 입문(3)- Welcome 페이지 만들어보기 본문
728x90
반응형
SMALL
resources 폴더안에 있는 static폴더안에 'index.html' 을 만들면 Welcome page 기능을 제공한다.
스프링은 자바의 생태계를 감싸고 있기에 머리속에 다 담을 수 가 없다.
그래서 필요한 기능을 찾아서 사용하는게 중요하다.
스프링 페이지에 들어가서 https://spring.io/ 찾아서 사용하면 된다.
메뉴얼에서 검색하면서 필요한 기능을 찾으면서 사용할 수 있다.
이렇게 정적인 페이지가 아니라 동적인 페이지를 만들기 위해서 템플릿엔진을 사용한다고한다.
강의에서는 Thymleaf를 사용한다.
웹 애플리케이션에서 첫번째 진입점이 'Controller' 이다. 그래서 Controller를 먼저 만들어보자.
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") // http get 메소드
public String hello(Model model) {
model.addAttribute("data", "hello"); // Key : data \ Value : hello
return "hello"; // model을 hello.html에 넘기고 hello페이지를 return한다.
// Controller에서 return값으로 문자를 반환하면 뷰 리졸버(viewResolver)가 화면을 찾아서 처리
}
}
웹 어플리케이션에서 /hello가 들어오면 'hello' 메소드를 호출한다.
templates폴더안에 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> <!-- Controller에 입력한 Value값으로 치환될것이다. -->
</body>
</html>
- 웹 브라우저에서 '/hello'를 던지면 스프링부트는 서버에서 받아서 helloController에서 해당하는 메소드를 실행한다.
- 스프링이 model (key, value 넣어서) 이라는걸 만들어서 메소드에 넣어준다.
- return "hello"; 은 'templates'폴더 아래에 있는 'hello'파일을 찾아서 return한다.
뷰 리졸버(viewResolver)가 화면을 찾아서 처리한다. 'resources:templates/' + {ViewName}+'.html
출처 - 인프런 스프링 입문 강의
728x90
반응형
LIST
'Framework > Spring Boot' 카테고리의 다른 글
[Spring] Spring Boot - 입문(6) - 스프링 웹 개발 기초 [MVC와 템플릿 엔진] (0) | 2021.11.26 |
---|---|
[Spring] Spring Boot - 입문(5) - 스프링 웹 개발 기초 [정적 컨텐츠] (0) | 2021.11.25 |
[Spring] Spring Boot 입문(4) - Build하고 실행하기 (0) | 2021.11.23 |
[Spring] Spring Boot 입문(2)- 주요 라이브러리 설명 (0) | 2021.11.22 |
[Spring] Spring Boot 입문(1)- 프로젝트 설정, Maven, Gradle (0) | 2021.11.19 |