Spring Initializer 에 들어가면 Spring Boot 어플리케이션을 쉽게 만들 수 있다.
빌드 도구 (Maven, Gradle)을 설정할 수 있으며, Spring Boot의 버전도 설정이 가능하다.
Metadata를 설정할 수 있으며, Dependencies에서는 Spring 프로젝트와 호환이 되는 라이브러리를 포함시킬 수 있다.
Package Explorer
에서 우클릭 new -> Spring Starter Project
버튼 클릭. 아래 그림과 같지 Spring Initializer 화면과 유사한 UI가 나온다. 비슷한 방법으로 설정을 한다.
상단 Bar에서 File -> New -> Project -> Spring Initializr
그 이후는 STS와 유사하다.
STS와 IntelliJ 둘 다 JDK를 먼저 설정하고 Spring Boot의 버전을 선택하는데, Spring Boot 3, Spring Framework 6부터는 JDK 17이 기본이기 때문에, 이를 유의하고 진행해줘야 한다.
Spring Boot에서 JSP를 이용하기 위해선 몇가지 설정을 해줘야 한다.
그 이유는 Spring Boot에서 JSP를 권장하지 않기 때문이라고 함. 왜인지는 조사해봐야함.
권장 사항은 Thymeleaf
나 Freemaker
와 같은 Template를 우선시한다.
아무튼 그래서 Spring Boot에서 JSP를 이용하기 위해선 몇 가지 설정을 해줘야 한다.
Spring Boot에서는 일반 JSP를 인식하지 못하기때문에, JSP를 이용하기위한 의존성을 추가해줘야 한다.
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
dependencies {
implementation 'javax.servlet:jstl'
implementation "org.apache.tomcat.embed:tomcat-embed-jasper"
}
Spring Boot는 다른 템플릿 엔진의 경우 Prefix와 suffix 설정이 되어 있는데, JSP의 경우엔 설정이 안되어있다. 그래서 이 설정을 직접 해줘야 한다.
설정 파일(application.properties
혹은 application.yml
)에 다음과 같이 구문을 추가한다.
// jsp파일이 위치할 경로
spring.mvc.view.prefix=/WEB-INF/views/
// controller에 확장자를 붙혀준다.
spring.mvc.view.suffix=.jsp
spring:
mvc:
view:
prefix: /WEB-INF/views/
suffix: .jsp
그리고 디렉토리를 추가해줘야 한다.
main
디렉토리 아래에 webapp/WEB-INF
폴더를 생성해주고, WEB-INF
하위엔 위에 작성한 spring.mvc.view.prefix
에 해당하는 경로를 맞춰주면 된다. (WEB-INF 까지는 있어야함.)
STS의 경우 JSP를 다루는 플러그인이 없어서 JSP파일을 읽지도, 생성하지도 못한다.
상단Bar의 Help - Eclipse MarketPlace
를 클릭하고 Eclipse Web
이라는 검색어를 입력하면 Eclipse Enterprise Java and Web Developer Tools
라는 플러그인을 설치해주면 된다.