본문 바로가기

공부 자료/Spring

[Spring Boot] SpringBoot에서 JSP 사용하기

Spring Framework가 아닌
Spring Boot에서 JSP 사용하기

 

 

Spring Framework에서는 뷰(View)로 JSP 파일을 사용했었다.

(Maven 프로젝트 생성 시 아래 webapp으로 설정하면서 해당 폴더에 view 폴더를 통해 JSP를 사용했다)

https://kcode-recording.tistory.com/312

 

[Spring] IntelliJ에서 Spring Framework Project 생성 및 설정(Maven)

Maven 프로젝트 생성을 이용해 Spring Framwork 프로젝트 생성하기 인텔리제이에서 Spring Framework 프로젝트 생성하는 방법을 알아보고자 한다 기존에는 Spring Boot만 사용하여 start.spring.io 사이트를 이용

kcode-recording.tistory.com

 

 

하지만 Spring Boot에서는 JSP를 사용하지 않고 Thymeleaf와 같은 다른 템플릿 엔진들을 많이 사용하고는 한다.

또한, spring-boot-starter-web에 내장된 톰캣에서는 JSP 엔진을 포함하고 있지 않기 때문에

JSP가 Spring Boot에서 동작하지 않아 따로 설정이 필요하다.

만약 Spring Boot에서 JSP를 사용해야 한다면 아래와 같이 설정을 해서 사용하면 된다.

 

* 아래 설명은 build.gradle 및 application.properties를 사용한다는 가정하에 설명한다.

만약 다른 형식을 이용한다면 그에 맞는 설정을 하길 바란다.

 


 

 

1. build.gradle 의존성 추가

dependencies {
    // JSP
    // https://mvnrepository.com/artifact/org.apache.tomcat.embed/tomcat-embed-jasper
    implementation group: 'org.apache.tomcat.embed', name: 'tomcat-embed-jasper'

    // JSTL
    // https://mvnrepository.com/artifact/javax.servlet/jstl
    implementation group: 'javax.servlet', name: 'jstl', version: '1.2'
}

 

 

2. application.properties에 mvc view 정보 설정

// webapp 폴더의 views 폴더 안에 있는 jsp 파일들을 사용하기 위한 설정
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
spring.mvc.static-path-pattern=/resources/**

 

- prefix, suffix는 파일 확장자 명을 의미

 

 

3. 2에서 설정한 정보에 맞게 폴더 생성

 

- webapp의 폴더는 반드시 src-main의 하위에 만들어야 한다.

- applicaiton.properties에 설정한 경로에 맞게 폴더를 생성해야 한다.

 


 

위의 설정을 모두 끝냈다면 Spring Boot에서도 JSP 파일을 사용할 수 있다.

WEB-INF/views하위의 .jsp를 모두 view로 설정했기 때문에 jsp 파일들은 views의 폴더에 넣어서 사용하면 된다.