이클립스 IDE와 함께 스프링을 사용하여 애플리케이션을 빌드했습니다. 이클립스 IDE에서 프로젝트를 시작할 때 모든 것이 정상이지만 메이븐 프로젝트를 워 파일로 패키징하고 별도의 톰캣에 배포할 때 다음과 같은 문제가 발생합니다.
The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
다음은 내 xml 파일의 구성 스니펫입니다.
<!-- View Resolver -->
<beans:bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="prefix" value="/WEB-INF/pages/" />
<beans:property name="suffix" value=".jsp" />
</beans:bean>
이 컨트롤러에 액세스하려고 합니다.
@RequestMapping(value = {"/welcome", "/"})
public String defaultPage() {
return "Web Service data successfuly consumed";
}
왜 이것이 톰캣에 배포되었을 때 실패하는지 아는 사람이 있나요?
Eclipse에서 서블릿을 실행하려고 할 때(마우스 오른쪽 버튼 클릭 + "서버에서 실행") 똑같은 문제가 발생했습니다: "HTTP 상태: 404 / 설명: 원본 서버가 대상 리소스에 대한 현재 표현을 찾지 못했거나 해당 리소스가 존재한다는 사실을 공개하지 않으려 합니다; index.html을 추가해도 도움이 되지 않았고, 톰캣의 다양한 설정을 변경해도 도움이 되지 않았습니다.
마침내 예상치 못한 곳에서 문제를 발견했습니다: Eclipse에서 <자동 빌드> 옵션이 설정되어 있지 않았습니다. 따라서 서블릿이 컴파일되지 않았고, 서버에 <myServlet.class> 파일이 배포되지 않았습니다(제 경우에는
내 환경: Eclipse Neon.3 릴리스 4.6.3, Tomcat 버전 8.5.14., OS Linux Mint 18.1.