브라우저에서 자원들이 불러와지긴 하는데
적용이 안되는 문제가 생겼다.
개발자 도구를 열어 네트워크를 확인해보니
css, js, png(이미지)파일이 비어있는 것을 확인했다.
몇시간을 구글링 한 결과
답을 찾았다.
DispatcherServlet에 대한 url 매핑이 "/" 로 되어있으면
모든 url에 대해 Servlet Mapping(= Controller에 url매핑) 돼있는지
확인하기 때문에 정적 리소스들을 불러올 수 없던 것이었다.
따라서 다음과 같이 default servlet mapping을 해주면 해결된다.
<!-- static resources -->
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.png</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.jpg</url-pattern>
</servlet-mapping>
이렇게 default servlet mapping을 해놓으면
DispatcherServlet 은 해당 url을 제외하고 servlet mapping 시킨다.