Spring Boot
[Spring Boot] 스프링 부트 매번 해야하는 설정 및 정적 리소스 실습
웹코린이
2023. 9. 14. 14:13
728x90
스프링 부트를 사용할 때 매번 해줘야 하는 설정
application.properties
server.port=8088
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
포트번호를 8088로 변경하고, view를 웹 브라우저로 설정하기 위한 ViewResolver를 jsp로 설정한다
또한, 꼭 보여줘야 하는 데이터가 있는 경우 사용자가 URL로 접근을 하지 못하도록 하기 위해 /WEB-INF/views 디렉토리에 JSP 폴더 경로를 생성해야 한다
build.gradle
plugins {
id 'java'
id 'war'
id 'org.springframework.boot' version '3.1.3'
id 'io.spring.dependency-management' version '1.1.3'
}
group = 'com.ryu'
version = '0.0.1-SNAPSHOT'
java {
sourceCompatibility = '17'
}
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
implementation 'org.apache.tomcat.embed:tomcat-embed-jasper'
implementation group: 'org.glassfish.web', name: 'jakarta.servlet.jsp.jstl', version: '2.0.0'
}
tasks.named('test') {
useJUnitPlatform()
}
JSP를 컴파일 해줄 수 있는 라이브러리(implentation)과 JSTL 관련 라이브러리(implementation group)을 추가해야 한다
또한, 적용 시키기 위해 꼭 Refresh Gradle project를 해줘야한다 (build.gradle 우클릭 > Gradle > Refresh Gradle Project)
정적 리소스 사용 방법
> 아래와 같이 폴더 및 파일 생성, 이미지 파일 images 하위에 삽입
test01.html (file로 생성)
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>테스트 01 페이지</title>
</head>
<body>
<h1>테스트 01 페이지</h1>
</body>
</html>
test02.html(file로 생성)
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>테스트 02 페이지</title>
</head>
<body>
<img alt="티모 이미지" src="/images/timo.png" />
</body>
</html>
코드 시연
> URL : localhost:8088/test01.html 로 이동시 해당 텍스트 출력
> URL: localhost:8088/kiwi/test02.html 로 이동시 해당 이미지 출력
728x90