jsp, servlet으로 todo list 웹 프로젝트를 진행하는 중에 jsp 에서 css, js 파일을 분리하였다.
하지만 분리하는 순간부터 Tomcat 서버에서는 css와 js가 적용되지 않았다.
크롬의 개발자 도구에서는 아래와 같이 net::ERR_ABORTED 404 오류가 발생했다.
https://okky.kr/article/673254
개발자 커뮤니티 사이트에 이렇게 질문도 올려가며(결국 답변을 받지 못했다 ㅠㅠ) 일주일가량 삽질을 한 결과....
처음에는 문제의 원인이 무엇인지 파악하기가 힘들어서 광범위하게 해결을 하려다보니 이거했다 저거했다(정확한 표현은 어렵지만 정확한 방향을 몰랐다는게 맞는 표현인 것 같다). 선배의 조언덕에 어쨋거나 404 오류는 '경로문제'라는 관점에서 접근을 시도했다.
경로로 찾는와중에 servlet-context.xml 이나 web.xml, server.xml 에서 어떤 작업을 해보라는 조언들이 많았다.
그중에 나는 web.xml에서 servlet-mapping을 해주면서 문제를 해결했다.
Tomcat이 설치되어있는 경로에서 conf폴더에 있는 web.xml을 메모장으로 연다 (나의 경우에는 Library/Tomcat/conf)
그리고 <servlet-mapping> 부분을 수정한다.
처음에는 아래처럼 default servlet에 '/' url-pattern만 등록되어있었다.여기에 추가적으로 js, css 등등의 지정자도 추가해준다.
이 url-pattern 들을 추가하고 저장한 뒤, Tomcat 서버를 실행했더니!! 정상적으로 css와 js 를 인식하여 적용되었다!
무려 일주일이나 걸린 삽질이었다. 아마 조금의 힌트도 없이 혼자 끙끙 앓았다면 더 오랜 시간이 걸리지 않았을까 ...?