Eclipse version 2021-09
java 11
sts , sts addon install
legacy project > MVC project
tomtcat 연동 확인 중
1. WARN : org.springframework.web.servlet.PageNotFound - No mapping for GET /
2. WARN : org.springframework.web.servlet.PageNotFound - No mapping for GET /WEB-INF/views/index.jsp
에러 원인 / 해결 방법
1. URL 오타
@RequestMapping("/") 확인
2. @Controller 미입력
controller class에 @controller 어노테이션 확인
3. servlet-context.xml > context:component 태그에 기본 패키지를 제대로 입력하지 않았을 경우
scan base-package="com.sample.etc" 확인 후
경로가 맞는지 체크
<context:component-scan base-package="com.agt.controller">
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
ex) 기본 패키지 com.sample.etc 에 해당 Controller class가 있어야 참조 가능.
base-package 변경 or mapping url 을 갖고 있는 class를 해당 패키지에 이동.
4. Jdk version이 project jdk version 과 일치하지 않는 경우
project > proferties > Project Facets - java version 확인
5. 해당 class return url 확인
@Controller
public class AgtController {
@RequestMapping(value="/", method = RequestMethod.GET)
public ModelAndView index() {
return new ModelAndView("index");
}
}
6. servlet-context 디렉토리 경로 확인
<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="prefix" value="/WEB-INF/views/" />
<beans:property name="suffix" value=".jsp" />
</beans:bean>
7. web.xml 컨텍스트 파일 경로 확인
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring/root-context.xml
</param-value>
</context-param>