본문 바로가기
에러 회고

[Springboot] JSP 연동 에러

by Unagi_zoso 2022. 9. 9.

사건 발단

 

저는 Springboot 2.7.3,  gradle 7.5 환경에서 작업하였습니다.

 

thymleaf가 아닌 JSP를 이용하여 Springboot환경에서 웹프로그램을 만드려하였습니다.

Springboot가 JSP지원을 하지 않게되며, 정확히는 Springboot 내장 톰캣이 JSP를 따로 지원을 하지 않으며

이를 해결하기 위해 추가적인 의존성 주입과 JSP파일의 디폴트경로로 이동이 필요하였습니다.

 

해결 방안

 

먼저 Springboot 내장 톰캣이 JSP를 지원하지 않기에 

build.gradle에 다음과 같은 의존성을 주입하였습니다. 

implementation 'org.apache.tomcat.embed:tomcat-embed-jasper'

 

 

그리고 JSP파일의 경로를 잡아주기 위해 

 src.main아래에 webapp.WEB-INF.views 디렉터리를 생성하고

이 디렉터리 아래로 JSP파일이 든 폴더들을 저장하였습니다.

 

 

컨트롤러에서 JSP파일에 대한 사용을 더 편하게 하기 위해

 

application.yml에도 다음과 같은 view resolver 설정을 추가하였습니다.

기본적으로 webapp을 디폴트 디렉터리로 가장 먼저 인식하는데

다음 설정을 통해 컨트롤러에서는 파일명만 반환하는 것으로 손쉽게 JSP파일을 사용할 수 있습니다. 

spring:
  mvc:
    view:
      prefix: /WEB-INF/views/
      suffix: .jsp

 

 

향후 방침, 행동

 

 

Springboot가 현업에서 많이 사용되기도 하고 편리한 면도 많지만, 스프링 개발자로써 JSP를.. 어떻게 대해야할지

생각이 들었습니다. Springboot에서 밀어주는 thymleaf를 적극적으로 사용해야할 지, 현업에 가서는 legacy에서 JSP가

많이 사용되고 있다고 들었는데.. 일단 계속 공부해야겠습니다. 

댓글