백기선(인프런 강의)/스프링 웹 MVC

스프링 부트에서 JSP 사용하기

레알윙 2020. 8. 31. 23:40
반응형

제약사항

1. JAR 프로젝트로 만들 수 없다. WAR 프로젝트로 만들어야 한다.

2. Java -JAR로 실행할 수 있지만 "실행가능한 JAR 파일"은 지원하지 않는다.

3. 원더토우(JBoss에서 만든 서블릿 컨테이너)는 JSP를 지원하지 않음

4. Whitelabel 에러 페이지를 error.jsp로 오버라이딩 할 수 없음

 

Packaging 설정

 

ServletInitializer 설명

WAR페이지로 스프링 부트로 만들게 되면 아래와 같은 코드가 생성이 된다.

스프링 부트로 만든 프로젝트독립적으로 실행가능한 파일로 만들 수 있다. 하지만 WAR파일로 만든다면 tomcat에 배포하여 실행시킬 수 있기 때문에 이와같은 역활을 하기위해서 커스텀된 SpringBootServletInitializer 를 추가를 하는것이다.

 

 

package kr.co.study;

import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

public class ServletInitializer extends SpringBootServletInitializer {

	@Override
	protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
		return application.sources(SpringMvcApplication.class);
	}
}

 

 

의존성 추가

jstl을 사용하기 위한 의존성과 JSP를 사용하기 위한 의존성을 추가한다.

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>

 

 

application.properties

spring.mvc.view.prefix=/WEB-INF/jsp
spring.mvc.view.suffix=.jsp=

 

 

WAR파일 배포

java -jar를 사용해서 실행

 

서블릿 컨테이너에 배포(Tomcat, Jetty 등등)

 

 

참고

설명

샘플 프로젝트

반응형