작성
·
105
·
수정됨
1
안녕하세요, 강의를 수강하는 학생입니다.
<문제 상황>
이때까지 강의를 잘 따라오다가 갑자기 뷰 리졸버를 위해 OldController 클래스를 작성하고 properties도 수정했는데 뷰가 제대로 나오지 않았습니다. 그래서 문제를 찾다가 애초에 servlet도 호출이 잘 안되는거 같아서 다시 스프링 프로젝트 파일을 생성하여 이전에 배운 프레임워크를 간단하게 다시 구현하고 실행을 했습니다만, 여전히 문제가 발생합니다. 어떻게 해결해야 할지 모르겠습니다.
*수정 : 확인을 다시해보니, 서블릿은 정상적으로 호출이 되며, viewPath도 잘 만들어지고 view 객체 클래스의 render 메서드까지 잘 도달했지만, foward 메서드 실행 후에 계속 같은 문제가 발생하고 있습니다. 꼭 좀 도와주세요!! (강의를 듣고 싶습니다 ㅠㅠ)
<문제 코드>
깃허브에 코드를 올려놓았습니다.
주소 : https://github.com/bread-Cat13/mvc1/tree/main/mvc/src/main/java/com/example/mvc
<문제 사진>
혼자서 해결해보고자 했지만 잘 안되어 질문드립니다. 많은 정보를 작성해놓지 않아 죄송합니다.
질문글 읽어주셔서 감사합니다.
답변 2
0
강의에선 아래와 같이 OldController를 선언하였습니다.
그런데 올리신 코드에서는 OldController가 보이지 않고, OldController와 동일한 동작을 하는 클래스도 없는 것 같습니다.
OldController코드를 작성해주세요.
로컬 환경에서 클래스를 추가해서 돌려봤었습니다. 깃허브에는 반영을 안 해놓았습니다. 죄송합니다 ㅠㅠ
깃에 푸쉬하고 보니 디렉토리 구조가 잘못 되어 있었습니다. 다시 변경해서 돌려보니 정상적으로 작동합니다. 앞으로 더 신중하게 원인을 찾겠습니다. 귀한 시간 내주시고 친절하게 방법 알려주셔서 정말 감사드립니다.
0
안녕하세요, 인프런 AI 인턴입니다. 빵냥이님의 문제 상황에 대해 이해하고 적절한 해결 방법을 찾아보았습니다. 제가 찾은 정보를 기반으로 답변을 드립니다.
문제 상황에서 언급하신 것처럼, 서블릿 호출이 제대로 이루어지지 않아 웹 페이지에 404 오류가 발생하고 있습니다. 이 문제는 서블릿 및 스프링 MVC 구성, 컨트롤러 매핑, 뷰 리졸버 설정에 오류가 있을 수 있으므로 다음 링크의 지침에 따라 해결 방법을 찾으실 수 있습니다.
안녕하세요 localhost:8080/hello 부분 질문드립니다.에서 유사한 문제(서블릿 호출 문제)에 대한 질문에 답변한 내용입니다. 특히, @ServletComponentScan
애노테이션이 빠져있어서 서블릿이 등록되지 않았을 가능성에 초점을 맞추었습니다. 안녕하세요 localhost:8080/hello 부분 질문드립니다. 와 같은 상황일 수 있으니, @ServletComponentScan
애노테이션을 추가하거나, 해당 애노테이션이 특정 클래스나 패키지 경로에 정확히 적용되었는지 확인해 보시기 바랍니다.
MVC 패턴 적용 중 404 에러가 납니다. (/servlet-mvc/members/new-form)에서는 서블릿 매핑 및 뷰 리졸버와 관련된 문제 해결에 대해 다루고 있습니다. MVC 패턴 적용 중 404 에러가 납니다. 이 답변 역시 귀하의 문제 해결에 도움이 될 수 있는 통찰력을 제공합니다.
위의 답변 링크들을 확인하시고, 해당 사례들과 유사한 설정을 점검해보시는 것이 좋겠습니다. 일반적으로 404 오류는 요청한 URL이 서버에서 찾을 수 없음을 의미하므로, URL 매핑, 서블릿 등록, 스프링 MVC 설정 등을 다시 한 번 꼼꼼히 검토해 볼 필요가 있습니다.
깃허브에 올려주신 코드를 기반으로 구체적인 코드 문제들을 진단할 수는 없으나, 컨트롤러 클래스에서 @RequestMapping
어노테이션을 사용하여 경로를 정확하게 설정했는지, application.properties
또는 application.yml
에 뷰 리졸버 설정이 적절히 되었는지 확인하시길 권장드립니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
늦은 시간에도 정말 감사드립니다. 문제가 해결되었습니다!
정말 죄송하지만, 근본적인 원인이 해결이 안되었습니다.
이렇게 했고, http://localhost:8080/springmvc/old-controller를 호출했지만,
문제가 여전히 발생합니다. 어떻게 해결할 수 있을까요?