[Spring] 서버가 빈 자원(css, js, img)들을 보내는 에러

charco·2021년 6월 27일
0

!ERROR!

목록 보기
7/17

브라우저에서 자원들이 불러와지긴 하는데
적용이 안되는 문제가 생겼다.

개발자 도구를 열어 네트워크를 확인해보니
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 시킨다.

출처: https://leegaworld.tistory.com/360

profile
아직 배우는 중입니다

0개의 댓글