Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 악보
- 슬픔의 후에
- I'm fine thank you
- 장범준
- 핑거스타일
- index
- 기타
- db
- 신입
- nginx
- 천공의 시간
- 아이유
- Inside Of Me
- 말 더듬
- SQL 처리
- IT
- 인덱스
- 오라클
- 레이디스코드
- DBMS 구성요소
- DBMS
- 6학년 8반 1분단
- 데이터베이스
- 봄 사랑 벚꽃 말고
- 스위트라떼
- 니가 참 좋아
- 오라클 아키텍처
- 개발자
- oracle
- 러블리즈
Archives
취미로 음악을 하는 개발자
[Spring Boot] 정적 리소스 본문
728x90
스프링 부트가 지원하는 뷰
- FreeMarker, Groovy, Velocity
- Thymeleaf
ㄴ 프로젝트 생성시 dependency를 추가했다면 추가적인 설정 없이 템플릿 폴더 아래에 html파일을 만들어 사용 가능함
ㄴ 파일 내용은 html과 거의 유사하지만 jsp처럼 동작함, 이 때부터 html 파일은 동적으로 컨텐츠를 표현하게 됨
- JSP
ㄴ 기본적으로 지원되지 않지만 추가적인 설정으로 사용 가능함
프로젝트 생성
코드 구현
// build.gradle
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 | plugins { id 'org.springframework.boot' version '2.1.6.RELEASE' id 'java' id 'war' } apply plugin: 'io.spring.dependency-management' group = 'com.study' version = '0.0.1-SNAPSHOT' sourceCompatibility = '1.8' repositories { mavenCentral() } ext['tomcat.version'] = '8.5.38' // 내장 톰캣은 9.x버전이므로 모듈의 버전과 맞춰주기위해 dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat' testImplementation 'org.springframework.boot:spring-boot-starter-test' // jsp를 사용하기 위한 의존성 implementation 'javax.servlet:jstl' implementation 'org.apache.tomcat.embed:tomcat-embed-jasper' } | cs |
// application.properties
1 2 3 4 | server.port = 8081 # JSP spring.mvc.view.prefix=/WEB-INF/views/ spring.mvc.view.suffix=.jsp | cs |
// test1.jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <% out.println("Hello World"); %> <br> <img src=/img/puru.jpg> </body> </html> | cs |
// test2.jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <% out.println("Hello world sub"); %> </body> </html> | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | package com.study.springboot; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @Controller public class MyController { @RequestMapping("/") public @ResponseBody String root() throws Exception{ return "JSP in Gradle"; } @RequestMapping("/test1") // localhost:8081/test1 public String test1() { return "test1"; // 실제 호출 될 /WEB-INF/views/test1.jsp } @RequestMapping("/test2") // localhost:8081/test2 public String test2() { return "sub/test2"; // 실제 호출 될 /WEB-INF/views/sub/test2.jsp } } | cs |
서버를 열면 "/" 먼저 열리는데 이 때, "JSP in Gradle"이 호출되고 @ResponseBody 어노테이션을 사용했기 때문에 String 그대로 출력이 된다.
"/test1"으로 가면 "test1"이 호출되는데 이 때는 application.properties에서 설정한 경로 /WEB-INF/views/의 test1.jsp를 실행하게 된다.
"/test2"도 마찬가지로 "sub/test2"를 return하므로 /WEB-INF/views/sub/test2.jsp를 실행한다.
'공대인 > Spring[Boot]' 카테고리의 다른 글
[Spring Boot] Form (0) | 2019.07.31 |
---|---|
[Spring Boot] Model 객체 (1) | 2019.07.31 |
[Spring Boot] 의존 주입 방법 (0) | 2019.07.29 |
Spring Boot 개념 정리 시작 (0) | 2019.07.29 |
[Spring] Controller 객체 구현 (2) (0) | 2019.05.28 |
Comments