Programming/Spring

[SpringBoot] @Controller - jsp 페이지 호출 시 에러 (Exiting from "FORWARD" dispatch, status 404) 해결

OriginMaster 2022. 3. 9. 21:42
반응형
  • 에러
2022-03-09 21:34:59.981 DEBUG 21940 --- [nio-7068-exec-1] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, application/signed-exchange;v=b3;q=0.9, */*;q=0.8]
2022-03-09 21:34:59.981 DEBUG 21940 --- [nio-7068-exec-1] o.s.w.servlet.view.InternalResourceView  : View name '/home', model {}
2022-03-09 21:34:59.982 DEBUG 21940 --- [nio-7068-exec-1] o.s.w.servlet.view.InternalResourceView  : Forwarding to [/WEB-INF/views/home.jsp]
2022-03-09 21:34:59.985 DEBUG 21940 --- [nio-7068-exec-1] o.s.web.servlet.DispatcherServlet        : "FORWARD" dispatch for GET "/WEB-INF/views/home.jsp", parameters={}
2022-03-09 21:34:59.987 DEBUG 21940 --- [nio-7068-exec-1] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped to ResourceHttpRequestHandler [classpath [META-INF/resources/], classpath [resources/], classpath [static/], classpath [public/], ServletContext [/]]
2022-03-09 21:34:59.987  WARN 21940 --- [nio-7068-exec-1] o.s.w.s.r.ResourceHttpRequestHandler     : "Path with "WEB-INF" or "META-INF": [WEB-INF/views/home.jsp]"
2022-03-09 21:34:59.987 DEBUG 21940 --- [nio-7068-exec-1] o.s.w.s.r.ResourceHttpRequestHandler     : Resource not found
2022-03-09 21:34:59.988 DEBUG 21940 --- [nio-7068-exec-1] o.s.web.servlet.DispatcherServlet        : Exiting from "FORWARD" dispatch, status 404
2022-03-09 21:34:59.988 DEBUG 21940 --- [nio-7068-exec-1] o.j.s.OpenEntityManagerInViewInterceptor : Closing JPA EntityManager in OpenEntityManagerInViewInterceptor
2022-03-09 21:34:59.988 DEBUG 21940 --- [nio-7068-exec-1] o.s.web.servlet.DispatcherServlet        : Completed 404 NOT_FOUND
2022-03-09 21:34:59.988 DEBUG 21940 --- [nio-7068-exec-1] o.s.web.servlet.DispatcherServlet        : "ERROR" dispatch for GET "/error", parameters={}

 

  • 문제

Spring Boot 환경에서는 내장톰캣에 기본적으로 JSP 엔진을 포함하지 않고 있다.

따라서 의존성 설정을 따로 해주어야한다.

자동 리프레시가 안될수 있으므로 리프레시를 꼭 해주도록 한다. 

가급적 상단쪽에 위치시킨다.(하단에 하니 이상하게 못받아 오는 에러가 잘남)

 

 

  • 해결
<dependency>
  <groupId>org.apache.tomcat.embed</groupId>
  <artifactId>tomcat-embed-jasper</artifactId>
</dependency>

maven에서 해당 dependency를 추가해 줘야 JSP 파일을 읽어올 수 있다.

 

 

yml 파일 설정

/main/resources/application.yml

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

 

반응형