Spring, Spring Boot

[Spring Boot] 스프링 부트에서 jsp 사용하기

Yoon 2021. 11. 28. 22:54

JSP란?

JSP(JavaServer Pages)란 HTML코드에 JAVA 코드를 넣어 동적 웹 페이지를 생성하는 서버 사이드 스크립트 언어이다.

 

스프링 부트에서 JSP를 사용하면 동적 웹 애플리케이션을 만들 수 있다.

 

spring-boot-starter-web에 포함된 톰캣엔 JSP 엔진을 포함하고 있지 않기 때문에

jsp는 Spring Boot 에 templates 폴더 안에서 작동하지 않는다. 따라서 jsp를 적용하기 위해 의존성을 추가해줘야한다.


pom.xml

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

 

의존성을 추가하고 스프링 부트가 인식 할 수 있는 jsp 뷰 경로 지정을 하기 위해 application.properties를 설정한다.

 

application.properties

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

prefix는 jsp가 있는 폴더의 경로를 지정하고,

suffix로 Controller가 view의 이름을 반환할때 .jsp를 붙게해줘

스프링 부트가 해당 폴더에 있는 jsp파일들은 모두 인식이 가능해진다.


resource와 같은 레벨에 webapp 디렉토리를 생성하고

아까 지정했던 경로대로 디렉토리를 생성 후 그 밑에 jsp를 생성한다.

 

컨트롤러가 사용자에게 데이터를 뿌려줄 때 Model 객체를 사용하여

Model에 데이터를 담고 view를 반환하는 컨트롤러이다.

 

지정된 view에선 jstl을 이용하여 컨트롤러에서 받은 Model 객체의 데이터를 불러올 수 있다.

 

└jstl은 자바서버 페이지 표준 태그 라이브러리(JavaServer Pages Standard Tag Library)이다.


RESULT