springmvc 静态文件无法访问 js css img

web.xml里面配置的dispatchservlet

<servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring.xml</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

在jsp中调用jquery.js的时候,浏览器console提示,jquery.js 404 ,找不到

url-pattern有5种配置模式:  

(1)/xxx:完全匹配/xxx的路径  

(2/xxx/*:匹配以/xxx开头的路径,请求中必须包含xxx。  

(3/*:匹配/下的所有路径,请求可以进入到action或controller,但是转发jsp时再次被拦截,不能访问jsp界面。  

(4).xx:匹配以xx结尾的路径,所有请求必须以.xx结尾,但不会影响访问静态文件。  

(5)/:默认模式,未被匹配的路径都将映射到刺servlet,对jpg,js,css等静态文件也将被拦截,不能访问。 

可以用以下方式解决:
1.在spring-mvc.xml里面配置

<mvc:resources mapping="/js/" location="/js/**"/>
    <mvc:resources mapping="/css/" location="/css/**"/>
    <mvc:resources mapping="/img/" location="/img/**"/>

2.在web.xml里面配置

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

此处的default
首先所有的请求进入tomcat,都会流经servlet,如果没有匹配到任何应用指定的servlet,那么就会流到默认的servlet。

猜你喜欢

转载自blog.csdn.net/qq_32296307/article/details/80690740