JVM/SpringBoot

SpringBoot "Path with "WEB-INF" or "META_INF" : [WEB-INF/jsp/main.jsp]" 경고 및 Whitelabel Error Page 오류

헹창 2022. 4. 3.
반응형

 

"Path with  "WEB-INF" or "META-INF" :  [WEB-INF/jsp/main.jsp]"

 

SpringBoot 에서 main.jsp 화면을 만들고, Controller에서 View로 리턴을 하였는데 jsp 파일을 찾지 못하는 경우 

ResourceHttpRequestHandler : Path with "WEB-INF" or "META-INF" 이런식으로 발생하는 오류이다.

 

브라우저에는 첨부한 이미지와 같이 Whitelabel Error Page가 표출되고, Console에서는 위와 같은 오류 로그를 확인할 수 있다.

 

이 오류는 Spring Boot에서 내장된 Tomcat을 사용 하는 경우 JSP 를 처리하는 서블릿을 추가하지 않아 발생하는 것으로 의존성(dependency)을 추가해주면 된다.

 

해결

  • Maven Project : pom.xml 에 의존성 추가 후 Maven - Update Project
<dependency>
              <groupId>org.apache.tomcat.embed</groupId>
              <artifactId>tomcat-embed-jasper</artifactId>
</dependency>

 

  • Gradle Project : build.gradle 에 의존성 추가 후 Gradle - Refresh Gradle Project
implementation group: 'javax.servlet'name'jstl'version'1.2'
implementation group: 'org.apache.tomcat.embed'name'tomcat-embed-jasper'version'9.0.60'

 

만약 의존성을 추가해도 해결이 되지 않는다면, application.properties에 spring.mvc.view prefixsuffix가 설정되어있는지도 확인한다.

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

 

 

여기서 잠깐 !!

설정을 모두 했는데도 같은 오류가 발생한다면 이클립스를 껐다 켜보길 추천한다.

전자정부프레임워크 4.0 으로 했을 때, 아무리 빌드하고 클린해도 적용되지 않아 반나절을 원인을 알 수 없어 헤맸는데..

이클립스를 껐다 키니까 바로 적용됐다...

 

jasper 의존성을 추가하고 바로 빌드해도 적용이 안되는 무언가가 있는 건가..?

 

 

728x90
반응형

댓글

추천 글