[꼼꼼한 개발자] 꼼코더

06. 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - [프로젝트 환경설정] - View 환경설정, Page 만들기(정적, 동적) 본문

Spring/Spring 입문

06. 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - [프로젝트 환경설정] - View 환경설정, Page 만들기(정적, 동적)

꼼코더 2022. 12. 27. 16:38
반응형

🔨 정적 페이지 만들기

  • resources/static/경로에 index.html을 만들어 놓으면 welcome page로 인식한다.
💡Welcome Page란?                                                           💡 정적페이지란?
    도메인만 누르고 들어올 때의 첫 화면                                         파일을 던저주면 그 파일을 그대로 보여주는 페이지.
 
  1. index.html파일 안에 코드를 작성한다.

2. 서버 재시작(코드수정 시 필수 작업) 후 브라우저를 새로고침 하여 확인한다.


🔨 동적 페이지 만들기

  1. hello.hellospring 아래에 controller라는 패키지를 생성 > controller 패키지 안에 HelloController(자바 클래스)파일을 생성
💡 컨트롤러란? web application에 첫 진입점을 말한다. @Controller 어노테이션 작성을 해줘야 한다.

2. 코드작성

  • 컨트롤러는 @Controller 를 붙여줘야한다.
  • @GetMapping이란
    • url에 /hello로 요청이 들어오면 해당 코드르 실행

 

3.  resources/templates 에 hello.html을 만들어 준다.

<!DOCTYPE HTML>
  <html xmlns:th="http://www.thymeleaf.org">   //templates 엔진으로써 thymeleaf문법을 사용할 수 있게 선언한다.
  <head>
      <title>Hello</title>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
  </head>
<body>
<p th:text="'안녕하세요. ' + ${data}" >안녕하세요. 손님</p> // th는 thymleaf의 약자이다.
  </body>
  </html>

 

 


 

🖌 그림 설명

  • 스프링 부트에서는 톰캣이라는 웹 서버를 내장하고 있다.
  • 웹 브라우저에서 localhost:8080/hello라고 던지면 톰캣에서 localhost:8080/hello를 받고 어? /hello네! 하면서 스프링에 던지고.
  • 스프링속 HelloController.java(@Controller가 있어 컨트롤러로 인식)속 소스중에 @GetMapping(”hello”)에 url과 매칭된다.
  • 그럼 해당 메소드가 실행이 되는데 스프링이 model(모델)이라는걸 만들어서 넣어준다.
  • 이 모델에 addAttribute에 키와 값을 넣어준다. > model(data:hello!) 그리고 리턴 한다.
  • 리턴의 이름은 “hello” 이 이름은 templates 안에 hello를 찾아서 랜더링(실행)한다.
    (이 작업은 Thymeleaf 템플릿 엔진이 한다 스프링이 이것들을 다 세팅해줬다. )
  • 컨트롤러에서 리턴 값으로 문자를 반환하면 뷰 리졸버( viewResolver )가 화면을 찾아서 처리한다.
  • 뷰 리졸버 : 스프링 부트 템플릿엔진

 

참고: spring-boot-devtools 라이브러리를 추가하면, html 파일을 컴파일만 해주면 서버 재시작 없이 View 파일 변경이 가능하다.


🙋🏻‍♂️ Spring관련 궁금한 지식을 어떻게 찾을까?

1. https://docs.spring.io 에 접속

2. Projects > Spring Boot 클릭

3. LEARN > 현재 Spring 버전의 DOC 클릭(본인은 2.7.0)

4. 왼쪽 여러 가지 항목들에 접속하고 

5. Command(⌘) + f 단축키를 통하여 원하는 정보를 검색한다.

 

 

 

 

 

 

위 자료는 김영한 님의 ‘스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술’ 강의를 참고하여 작성하였습니다. https://www.inflearn.com/course/스프링-입문-스프링부트/dashboard
Comments