[SPRING] 부팅 스프링 MVC는 "(유형 = 찾을 수 없음 상태 = 404) 예기치 못한 오류가 발생했습니다"
SPRING부팅 스프링 MVC는 "(유형 = 찾을 수 없음 상태 = 404) 예기치 못한 오류가 발생했습니다"
그래서 봄에 새로운 그리고 난 지금까지 MongoDB를 데이터베이스에 연결된 실행 간단한 웹 API를받은 적이 있지만 문제가 발생 .jsp로 또는 .html 파일을 사용하여 그냥 평범한 오래된 의견을 보내고 있습니다. 나는 다른 접근 방식의 다양한 시도했다 : 대신의 ModelAndView 객체의 문자열을 반환 것은 InternalResourceViewResolver, XmlViewResolver을, 아무것도 나를 위해 일하게 될 것 같다. 나는 다음과 같은 코드가 있습니다 :
편집 : 여기 내 프로젝트와 자식의 repo는 다음과 같습니다 https://github.com/jwallp/Spring-Test
위의 프로젝트이기 때문에, 나는 말한다에 / 인덱스가는에 흰색 라벨 오류를 얻고있다 :
There was an unexpected error (type=Internal Server Error, status=500).
Circular view path [index]: would dispatch back to the current handler URL [/index] again. Check your ViewResolver setup! (Hint: This may be the result of an unspecified view, due to default view name generation.)
편집 : 그래서 내가, 그리고 내 프로젝트 루트에서 내 WEB-INF 디렉토리를 이동하여 마지막으로 spring.view.prefix 대신 spring.mvc.view.prefix 등의 spring.view.suffix를 사용하여로드 뷰를 얻을 수 있었다 <프로젝트 루트> / SRC / 메인 / 웹 애플리케이션 / 내부. 내 WEB-INF 디렉토리를 다른 디렉토리에 포함되어있는 경우 난 그냥 아직 구성 (그 내용을 직접 볼 수없는 만들기) 기능을합니다, 알고 싶어?
해결법
-
==============================
1.봄 부팅 때문에 임베디드 서블릿 컨테이너의 사용으로, JSP에 대한 지원이 제한되어 있습니다. 봄 부팅 참조 문서에서 :
봄 부팅 때문에 임베디드 서블릿 컨테이너의 사용으로, JSP에 대한 지원이 제한되어 있습니다. 봄 부팅 참조 문서에서 :
여기에 봄 부팅 응용 프로그램에서 JSP를 사용하는 기본적인 예입니다.
-
==============================
2.당신이 당신의 클래스 경로에있는 JSP 라이브러리를 바랍니다. 당신이 그있을 것이다 pom.xml 파일에 다음과 같은 의존성을 포함 받는다는을 사용하는 경우 :
당신이 당신의 클래스 경로에있는 JSP 라이브러리를 바랍니다. 당신이 그있을 것이다 pom.xml 파일에 다음과 같은 의존성을 포함 받는다는을 사용하는 경우 :
<!-- For using JSP --> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency> <!-- If you want to use JSTL --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency>
또한, JSP 파일의 상단에이 줄을 추가해야 할 수도 있습니다 :
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
최신 정보
GitHub의에서 프로젝트에 다음과 같은 변경을하는 것은 내 환경에서 근무 :
-
==============================
3.다음을 시도해보십시오 :
다음을 시도해보십시오 :
package hello; import org.springframework.stereotype.Controller; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class IndexController { @RequestMapping("/") public String index() { return "index"; } }
-
==============================
4.봄 부팅에 이전 응용 프로그램을 업그레이드하는 동안 우리는 직장에서이 문제에 달렸다. 우리가 무슨 짓을했는지 :
봄 부팅에 이전 응용 프로그램을 업그레이드하는 동안 우리는 직장에서이 문제에 달렸다. 우리가 무슨 짓을했는지 :
-
==============================
5.나는이 문제로 몇 번 실행. 내가 / WEB-INF를 넣어 때문에 / /의 SRC의 / 주 / java 폴더이었다. 최신 나는 / SRC / 메인 / 웹 애플리케이션에서 INF 파일을 별도의 경로를 만들어 내가 제대로 내 응용 프로그램을 실행할 수 있었다 브라우저에서 텍스트를 표시.
나는이 문제로 몇 번 실행. 내가 / WEB-INF를 넣어 때문에 / /의 SRC의 / 주 / java 폴더이었다. 최신 나는 / SRC / 메인 / 웹 애플리케이션에서 INF 파일을 별도의 경로를 만들어 내가 제대로 내 응용 프로그램을 실행할 수 있었다 브라우저에서 텍스트를 표시.
-
==============================
6.JSP 파일 재배치에 따라하면 문제를 해결할 수 있습니다. 나는 내 문제를 이런 식으로 해결 :
JSP 파일 재배치에 따라하면 문제를 해결할 수 있습니다. 나는 내 문제를 이런 식으로 해결 :
.jsp로 파일을하기 위해 이동 :
"src/main/resources/META-INF/resources/WEB-INF/jsp".
application.properties 파일이 포함되어 있는지 확인합니다 :
spring.view.prefix: /WEB-INF/jsp/ spring.view.suffix: .jsp
컨트롤러 클래스는 같이해야합니다 :
@Controller public class IndexController { @RequestMapping("/") public String index() { return "index"; } }
당신이 받는다는을 사용하는 경우, pom.xml 파일에 다음과 같은 종속 관계를 포함
<!-- For using JSP --> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency> <!-- If you want to use JSTL --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency>
그런 다음 작동합니다.
from https://stackoverflow.com/questions/31900411/spring-mvc-with-boot-there-was-an-unexpected-error-type-not-found-status-404 by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 봄 휴식 JSON 포스트 null 값 (0) | 2019.09.27 |
---|---|
[SPRING] 어떻게 봄 부팅에서 편안 컨트롤러에서 HTML 페이지를 반환? (0) | 2019.09.26 |
[SPRING] 자바 빈즈와 Spring 빈의 차이 (0) | 2019.09.26 |
[SPRING] JPA는 Exception.class 활성화를 위해 여러 기관이 때 봄 @Transactional 내부 및 롤백 롤백하지로 저장 (0) | 2019.09.25 |
[SPRING] 테이블 'DBNAME.hibernate_sequence은'존재하지 않는 (0) | 2019.09.23 |