본문 바로가기

JAVA/Error

[Error] Eclipse spring MVC project Mapping error (WARN : org.springframework.web.servlet.PageNotFound - No mapping for GET / )

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>