[SPRING] 스프링에서 css, js 등 404 에러 발생할 경우

[SPRING] 스프링에서 css, js 등 404 에러 발생할 경우

처음 스프링 세팅 후 css, js 등 404 에러 발생하는 경우가 있다.

파일을 webapp 밑에 넣으면, jsp는 매핑되지만 css, js 는 매핑되지 않는다.

web.xml 의 servlet-mapping 을 수정해야 한다.

기존에 jsp만 매핑 규칙이 설정되어 있기 때문이다.

참고로 스프링의 dispatcherServlet 은 default 이름으로 매핑되어 있는 경로 제외하고 @Controller와 매핑한다.

다음은 web.xml 을 수정하는 방법이다.

[AS-IS]

    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

    <!– The mappings for the JSP servlet –>
    <servlet-mapping>
        <servlet-name>jsp</servlet-name>
        <url-pattern>*.jsp</url-pattern>
        <url-pattern>*.jspx</url-pattern>
    </servlet-mapping>

[TO-BE]

     <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.js</url-pattern>
        <url-pattern>*.css</url-pattern>
        <url-pattern>*.gif</url-pattern>
        <url-pattern>*.jpg</url-pattern>
        <url-pattern>*.png</url-pattern>

        <url-pattern>*.htm</url-pattern>
        <url-pattern>*.html</url-pattern>​

        <url-pattern>*.xml</url-pattern>

        <url-pattern>*.ico</url-pattern>
    </servlet-mapping>

    <!– The mappings for the JSP servlet –>
    <servlet-mapping>
        <servlet-name>jsp</servlet-name>
        <url-pattern>*.jsp</url-pattern>
        <url-pattern>*.jspx</url-pattern>
    </servlet-mapping>