Spring MVC가 404로 응답하고 "DispatcherServlet에서 URI […]를 사용하여 HTTP 요청에 대한 맵핑을 찾을 수 없음"으로보고하는 이유는 무엇입니까? (2/2)

java spring spring-mvc servlets




Answer 6 2rahulsk


서버를 청소하십시오. 서버를 삭제하고 프로젝트를 다시 한 번 추가하고 실행하십시오.

  1. Tomcat 서버 중지

  2. 서버를 마우스 오른쪽 버튼으로 클릭하고 "청소"를 선택하십시오.

  3. 서버를 마우스 오른쪽 버튼으로 다시 클릭하고 "Clean Tomcat Work Directory"를 선택하십시오.




Answer 7 Steve T


필자의 경우 보조 Java 구성 파일을 기본 Java 구성 파일로 가져 오기로 놀고있었습니다. 보조 구성 파일을 만드는 동안 기본 구성 클래스의 이름을 변경했지만 web.xml에서 이름을 업데이트하지 못했습니다. 따라서 Tomcat 서버를 다시 시작할 때마다 Eclipse IDE 콘솔에 매핑 핸들러가 표시되지 않고 홈 페이지를 탐색하려고 할 때이 오류가 표시되었습니다.

org.springframework.web.servlet.PageNotFound noHandlerFound 경고 : 이름이 'dispatcher'인 DispatcherServlet에서 URI [/ webapp / home / index]를 사용하는 HTTP 요청에 대한 맵핑을 찾을 수 없습니다.

수정 사항은 이전 이름 ​​"WebConfig"가 대신 "MainConfig"가되도록 web.xml 파일을 업데이트하는 것입니다. 단순히 기본 Java 구성 파일의 최신 이름 ( "MainConfig"는 임의적이며 " 여기에 사용 된 웹 "및"메인 "은 구문 요구 사항이 아닙니다. MainConfig는 컴포넌트가 웹 요청을 처리하는 스프링 mvc 컨트롤러 클래스 인 "WebController"를 스캔 한 파일이기 때문에 중요했습니다.

@ComponentScan(basePackageClasses={WebController.class})

web.xml에는 다음이 있습니다.

<init-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
        com.lionheart.fourthed.config.WebConfig
    </param-value>
</init-param>

web.xml 파일에는 다음이 있습니다.

<init-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
        com.lionheart.fourthed.config.MainConfig
    </param-value>
</init-param>

이제 콘솔 창에 매핑이 표시됩니다.

정보 : "{[/ home / index], methods = [GET]}"을 공개 org.springframework.web.servlet.ModelAndView com.lionheart.fourthed.controller.WebController.gotoIndex ()에 매핑했습니다.

그리고 내 웹 페이지가 다시로드됩니다.




Answer 8 Thanis Albert


나는이 같은 문제가 없었다 **No mapping found for HTTP request with URI [/some/path] in DispatcherServlet with name SomeName**

2 ~ 4 일 동안 분석 한 후 근본 원인을 발견했습니다. 프로젝트를 실행 한 후 클래스 파일이 생성되지 않았습니다. 프로젝트 탭을 클릭했습니다.

프로젝트-> 프로젝트 닫기-> 프로젝트 열기-> 청소-> 프로젝트 빌드

소스 코드의 클래스 파일이 생성되었습니다. 내 문제를 해결했습니다. 클래스 파일이 생성되었는지 여부를 확인하려면 프로젝트 폴더에서 빌드 폴더를 확인하십시오.