반응형
Welcome 페이지 만들기!!(정적 페이지)
스프링 부트에서 제공하는 Welcome Page 기능이 있다.
- "static/index.html"을 만들어두면 자동으로 제공된다!
( https://docs.spring.io/spring-boot/docs/2.3.1.RELEASE/reference/html/spring-boot-features.html#boot-features-spring-mvc-welcome-page 해당 페이지에서 자세한 정보 확인 가능!!! )
후에 서버를 연 뒤 http://localhost:8080/에 접속 시 확인해 볼 수 있다.
static에 추가한건 정적 페이지인데 동적 페이지로 작동을 하고 싶다면 템플릿 엔진을 사용하면 된다.
그중 나는 thymeleaf엔진을 사용해볼 것이다.
thymeleaf
- thymeleaf 공식 사이트: https://www.thymeleaf.org/
- 스프링 공식 튜토리얼: https://spring.io/guides/gs/serving-web-content/
- 스프링 부트 매뉴얼: https://docs.spring.io/spring-boot/docs/2.3.1.RELEASE/reference/html/spring-boot-features.html#boot-features-spring-mvc-template-engines
해당 페이지에 가면 자세한 내용을 확인할 수 있다.
동적 페이지 만들기!!
컨트롤러 만들기
- @GetMappint("hello") : get방식 hello 입력 시 연결해줌(localhost:8080/hello)
- return "hello" : 뷰 리졸버("viewResolver")가 화면을 찾아서 처리함.
즉, 템플러 폴더에서"hello"파일을 찾아서 처리해줌.
▷스프링 부트 템플릿 엔진 기본 viewName매핑
▷'roesources:templates/' + {ViewName}+.'html'
템플릿 만들기
작동 화면
실행하게 되면 hello 페이지를 들어간다면 템플릿 폴더의 hello.html 불러오는데
<p th:text="'안녕하세요. ' + ${data}" ></p>
- th : 타임리프 문법 사용
- text= : text삽입
- ${data} : 컨트롤러에서 data이름(key)으로 보낸 속성 값을 넣는다!!
컨트롤러 클래스에서 아래 문장에 해당하는 부분이다!!
model.addAttribute("data", "hello!!");
즉, <p >안녕하세요. hello!!</p> 문장으로 치환이 되어 만들어진다!!
'spring-boot-devtools'라이브러리를 추가하면, 'html'파일을 컴파일만 해주면 서버 재시작 없이 View파일 변경이 가능!
IntellJ컴파일 방법 : bulid - Recomplie
IDE 없이 빌드하고 실행해보기!
저는 윈도우기준입니다. 하지만 맥os와는 큰차이가 없습니다!
cmd창 연후 스프링 폴더로 이동해줍니다.(cd 사용)
그 후 dir 해주면
해당 파일들이 있는데 gradlew를 빌드해주면 됩니다.(gradlew build)
그럼 알아서 진행이 됩니다.
해당 사진처럼 뜨면 성공.(IDE에서 실행 중이라면 무조건 끄시기 바랍니다)
혹시 실패하시는 분들은 gradlew clean build를 해주시면 됩니다!!
- gradlew build : 빌드
- gradlew clean : 빌드 폴더 삭제
- gradlew clean build : 삭제 후 재 빌드 (클린 빌드)
그 후 build - libs 폴더로 이동 후
자바 실행 명령어인
java -jar hello-spring-0.0.1-SNAPSHOT.jar 을 입력해주면 끝!!
반응형
'Library & Framework > Spring' 카테고리의 다른 글
스프링에 대해서 (0) | 2022.02.24 |
---|---|
자바 스프링입문5 - 회원 관리 예제 만들기 1 (0) | 2022.02.07 |
자바 스프링입문4 - 정적컨텐츠, mvc, api (0) | 2022.01.26 |
자바 스프링입문2 - 라이브러리 (0) | 2022.01.25 |
자바 스프링입문1 - 프로젝트 생성 (0) | 2022.01.24 |