본문으로 바로가기

Spring MVC 프로젝트 실행시 404 에러

category 코딩/Spring 2017. 2. 1. 21:21







STS 설치 후 스프링 MVC 프로젝트를 만든다. 그리고 실행을 시키면 떡하니 404 에러가 나는 경우가 있다. 프로젝트 자체에 오류가 없는데 실행하니 404 에러가 떠서 당황스러울 수 있다. 이것은 실행 방법이 잘못되서 발생하는 에러이다.




스프링 MVC 프로젝트 404 에러 해결



먼저 프로젝트 생성 후 어떤 경우에 404 에러가 발생하는지 알아보자.





스프링 MVC 프로젝트를 생성하면 위와 같은 구조로 만들어진다. 프로젝트를 보면 HomeController.java 와 home.jsp 파일이 있다.





JSP로 웹프로젝트를 만들어봤다면 무심결에 view 폴더에 있는 jsp 파일을 실행할 것이다.





그런데 home.jsp를 실행하면 404 에러가 발생한다. 이것은 실행 위치가 잘못되었기 때문이다. 





이번에는 home.jsp가 아닌 프로젝트를 선택해서 실행해 보자. 위에서는 Example_01로 된 프로젝트를 실행한 것이다.





그러면 home.jsp 때와 달리 정상적으로 출력이 되는 것을 알 수 있다.


URL을 보면 http://localhost:8080/Example_01/ 이렇게 되어있다. 일단 이 URL로 들어오면 servlet-context.xml를 거쳐서 HomeController.java에 있는 home라는 메서드가 실행된다.


home( ) 메서드는 문자열(String)로 home를 리턴하는데 리턴된 home은 servlet-context.xml로 넘어가게 된다. servlet-context.xml에서는 home 문자열을 받아서 앞에는 /WEB-INF/views/ 를 뒤에는 .jsp를 붙이게 된다. 결론적으로 /WEB-INF/views/home.jsp 가 되면서, 프로젝트 내에 있는 home.jsp 파일이 실행되는 것이다.





RSS구독 링크추가 트위터 이메일 구독