Search
Duplicate

<welcome-file-list>

Created time
2023/06/14 10:30
Last edited time
2023/07/11 03:36
Status
Done
tag

들어가기에 앞서

참고한 자료를 바탕으로 비전문가가 정리한 글이므로 오류가 있을 수 있습니다.
오류에 대한 지적 사항은 언제든지 환영합니다. 부디 댓글로 알려주시길 바랍니다. 감사합니다.
오늘은 팀프로젝트를 진행하면서 전혀 예상치 못 했던 문제를 만나서, 그 와 관련된 내용을 정리하고자 한다.

index.do

스프링 레거시로 mvc패턴을 적용한 프로젝트를 진행하다보면, 아래에 작성된 코드처럼 index.jsp와 매핑되는 index.do핸들러를 구현하게 된다.
하지만, 나는 “/index.do”를 이용하여 메인페이지를 접속하는 것 보다 “/”에 매핑하여 루트컨텍스트에서 메인페이지를 접속하는 것이 훨씬 깔끔하고 사용자입장에서 편하다고 생각하였다. 따라서, 아래처럼 “/”에 매핑한 코드를 작성하였다.
그런데, “/index.do”를 이용했을 때는 model이 문제없이 jsp에 전달되는 것과는 다르게 “/”는 전혀 model 데이터를 전달하지 못 하는 문제가 발생한 것이다.

<welcome-file-list>

그 이유는 web.xml에 설정한 웰컴페이지 요소에 있었다. 이 요소는 웹 애플리케이션의 루트 URL(예: http://example.com/)에 접근했을 때 표시될 기본 파일을 정의하는데, 문제는 단순히 해당 jsp나 html파일을 있는 그대로 보여주기만 한다는 것이다. 그래서 “/index.do”와 달리 “/”에 매핑하면 자동으로 웰컴페이지로 이동하여 해당핸들러에 정의된 내용을 무시하고 순수 jsp파일만 브라우저에 출력된 것이다.

해결

개발이 거의 마무리된 지금은 해당 요소가 별로 필요없다고 판단하여 삭제하였다. 그 이후로는 정상적으로 데이터가 전달되는 것을 확인하였다.

참고