본문 바로가기
반응형
Programming/Spring Framework

Spring Boot로 Gradle + SpringMVC + JSP 적용하기

by JAMINS 2016. 7. 12.

Spring Boot를 이용해서 JSP를 사용하려고 할 때, 별도의 작업을 해야만 합니다. Spring Boot를 사용하는 것부터 JSP페이지를 출력하는 과정을 정리해봅니다.




Spring Initializer



http://start.spring.io/



Spring Boot Initialize 하는 사이트입니다. 원클릭으로 기본적인 프로젝트를 zip파일 형태로 생성할 수 있습니다. 여기서는 gradle, Spring Boot 1.3.6버전을 선택했고 SpringMVC로 구현할 것이기 때문에 Dependencies에는 Web을 추가했습니다. Generate Project 클릭하면 [Artifact name].zip 파일을 다운받을 수 있습니다.


* JPA나 MongoDB, Redis, OAuth 등 다양한 라이브러리를 지원하는데 필요한 만큼 추가할 수 있습니다.





Eclipse에서 project import



압축을 푼 후 Eclipse에서 Import를 합니다. Gradle 기반이므로 Gradle Project 선택.






우상단 Browse.. 버튼을 선택하여 압축을 풀었던 폴더를 지정합니다. 이 후 Build Model 버튼을 클릭하면 위와 같이 표시가 됩니다. Finish를 눌러 Import를 완료합니다.




설정





좌측 프로젝트 계층을 보면 src/main/resources 밑에 application.properties가 있는데 여기서 jsp를 출력하기 위해 설정값을 입력해보겠습니다. application.properties는 Spring Boot를 통해 자동 생성된 설정 파일이며 다양한 설정을 할 수 있도록 제공합니다. 직접 xxx.properties 파일을 만들고 불러오는 소스를 작성해야 했던 번거로움을 덜어줍니다. application.properties에 아래 2줄을 입력합니다.


spring.mvc.view.prefix=/WEB-INF/home

spring.mvc.view.suffix=.jsp





그리고 서비스를 실행하기 위한 build.gradle 파일도 수정하도록 하겠습니다. build.gradle의 dependency안에 아래 2줄을 입력합니다.


compile('org.apache.tomcat.embed:tomcat-embed-jasper')

compile('javax.servlet:jstl:1.2')



첫 번째는 내장된 Tomcat을 이용할 수 있도록 설정한 것입니다. Spring Boot를 사용하지 않은 일반적인 웹 프로젝트의 경우 war파일을 가지고 배포를 진행하게 되는데 Spring Boot는 내장된 Tomcat을 이용하여 자동으로 배포를 진행하도록 도와줍니다. 이 과정은 Spring Boot Application을 실행하면 진행됩니다.





JSP 파일 넣기


직접 화면에 보여질 JSP 파일을 추가합니다. 




src/main/webapp/WEB-INF/home 경로에 (경로가 없으면 폴더 생성) 아래와 같은 간단한 jsp 파일을 추가합니다.




기본적으로 Hello~ 만 출력되는 JSP페이지를 넣고 이 페이지를 불러오겠습니다. 




위 프로젝트 계층 화면에서 가장 상위에 있는 demo 선택 후 우클릭 -> Run as -> Spring Boot App or Spring Boot Application을 클릭하여 실행시킵니다. 




8282 포트를 지정했기 때문에 localhost:8282 로 접근합니다. 아무런 설정을 하지 않았다면 localhost:8080 으로 접근할 수 있습니다. URL을 /hello로 정의했기 때문에 해당 URL을 호출하면 jsp 페이지를 정상적으로 불러옵니다.














'Programming > Spring Framework' 카테고리의 다른 글

Spring AOP Proxy에 관하여  (0) 2020.05.24
Spring RestTemplate  (0) 2019.11.27
Spring 트랜잭션에 대해 알아보자  (0) 2019.11.25
Spring MVC  (0) 2019.11.22
Spring AOP (Aspect Oriented Programming)  (0) 2018.10.30

댓글