SPRING BOOT에서 JSP 사용하기

2018.05.03 15:42

졸리운_곰 조회 수:65

 

SPRING BOOT에서 JSP 사용하기

 
 JAVA 기반의 WEB 개발은 SPRING을 거의 쓰다시피 했는데 요즘은 SPRING BOOT를 쓰고 있다.

SPRING을 쓰면서 가장 크게 느꼈던 점은 PHP나 node.js로 웹개발을 할 때에 비해서 초기 세팅에 들어가는 노력이 너무 커서 캐주얼하게 쓸 엄두가 나지 않았다는 점인데 SPRING BOOT는 그 점에 있어서 매우 간편하게 웹개발을 할 수 있어서 장점이 많다.

SPRING FRAMEWORK를 기반으로 SPRING MVC 쓸 때와 달리 가장 큰 차이점은 boot는 static폴더와 templates 폴더가 있어서 리소스 파일(css 나 js)은 static 폴더에 템플릿(thymeleaf나 velocity 등등)은 templates 폴더에 넣으면 알아서 기본 설정된 경로로 잘 작동하게 해 준다는 점인데 아무래도 thymeleaf 나 velocity는 그다지 정이 가지 않아서 JSP를 애용하는 편.

SPRING BOOT 프로젝트를 만들기 위해서는 http://start.spring.io/ 에서 프로젝트 정보와 사용할 의존성 정보만 입력해주면 손쉽게 MAVEN 이나 GRADLE 프로젝트를 생성 가능하다. 이 프로젝트를 이클립스에서 IMPORT 하면 기본적인 설정이 끝난다.

그러나 SPRING BOOT 에서 JSP를 쓰려면 약간의 손을 봐줘야 한다.

1. spring-boot-starter-web 에 포함된 tomcat은 JSP엔진을 포함하지 않는다.

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

와 같이 jasper 및 jstl 을 의존성에 포함시켜줘야 JSP파일 구동이 가능하다.

2. JSP 파일은 SPRING BOOT 기본 templates 폴더 안에서 작동하지 않는다
위의 사항을 설정하고 나서 templates 폴더 안에 jsp 파일을 만들고 아무리 접속을 하려해도 404 Not found가 뜬다. view resolver의 prefix를 명시적으로 /templates 로 해도 마찬가지

http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-developing-web-applications.html#boot-features-jsp-limitations
여기에 있는 JSP와 관련된 제약 사항과 관련이 있는 것 같은데, WAS에 대한 지식은 모자라서 원인을 정확히 설명할 수 없다. 어쨌거나간에 일반적인 웹프로젝트에서 사용했던 src/main/webapp/WEB-INF/ 폴더를 직접 만들어준 다음 그곳에 jsp파일을 넣어야한다. 나는 /WEB-INF/ 밑에 jsp 폴더를 하나 더 만들어봤다.
그런 뒤 application.properties에
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
를 추가 해 주고

@RequestMapping("/")
 public String index(){
  return "index";
 }
이런 함수를 컨트롤러에 추가 해 준 뒤에 src/main/webapp/WEB-INF/jsp/index.jsp 를 만들어 넣으면 localhost/ 에 접속했을 때 index.jsp를 정상적으로 불러올 수 있다.
[출처] http://coding-slave.blogspot.jp/2016/01/web-spring-spring-boot.html

 

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
126 Creating a CRUD REST API/Service with Spring Boot, JPA and Hibernate file 졸리운_곰 2018.08.17 147
125 Spring boot에서 REST API 개발 시작해보기 file 졸리운_곰 2018.08.17 350
124 [JSP] 네이버 스마트 에디터 연동 + 이미지파일 업로드 기능 추가 file 졸리운_곰 2018.07.28 1123
123 Use React and Spring Boot to Build a Simple CRUD App file 졸리운_곰 2018.07.28 385
122 JSP CRUD Example jsp 기본예제 file 졸리운_곰 2018.07.28 166
121 스웨거 2.0으로 스프링 부트 어플리케이션 API 문서화하기 file 졸리운_곰 2018.05.24 132
120 Spring REST API 문서를 Swagger로 만들자 file 졸리운_곰 2018.05.22 411
119 Spring REST API에 Swagger 2 설정하기 file 졸리운_곰 2018.05.22 335
118 Spring Boot와 AngualrJS를 조합한 코드 자동 생성 도구(scaffolding) file 졸리운_곰 2018.05.17 141
117 Spring java Code 기반 설정 Configuration 어노테이션과 Bean 어노테이션 졸리운_곰 2018.05.14 77
116 java spring redis 세션 공유 : Spring Session을 이용한 세션 클러스터링 졸리운_곰 2018.05.06 1041
115 Spring MVC hello world example file 졸리운_곰 2018.05.04 223
114 Create a Web Application With Spring Boot file 졸리운_곰 2018.05.03 142
113 Spring Boot and JSP Tutorial file 졸리운_곰 2018.05.03 427
112 Spring Boot Hello World Example – JSP file 졸리운_곰 2018.05.03 109
111 Spring Boot – JSP View Example file 졸리운_곰 2018.05.03 137
110 SpringMVC-JSP 프로젝트를 Spring Boot로 옮기기 file 졸리운_곰 2018.05.03 319
» SPRING BOOT에서 JSP 사용하기 졸리운_곰 2018.05.03 65
108 MYBATIS 기본 - SELECTLIST file 졸리운_곰 2018.03.26 79
107 Spring MVC 에 MyBatis 적용해 보기. file 졸리운_곰 2018.03.26 94
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED