SpringMVC访问静态资源方法

如果web.xml中拦截规则设置如下,则无法正常访问静态资源。

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

解法1:修改web.xml 

写在DispatcherServlet的前面, 由defaultServlet先拦截请求。相关请求不会进入Spring,由tomcat进行处理。

    <!--Default 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>*.css</url-pattern>
    </servlet-mapping>

解法2:修改myproject-servlet.xml

将对静态资源的访问由HandlerMapping转到ResourceHttpRequestHandler处理并返回

    <mvc:annotation-driven />
    <mvc:resources mapping="/myproject/js/**" location="/js/" cache-period="31556926"/>
    <mvc:resources mapping="/myproject/css/**" location="/css/" cache-period="31556926"/>

(参考: http://elf8848.iteye.com/blog/875830/)

你可能感兴趣的:(SpringMVC访问静态资源方法)