spring mvc4 找不到静态文件js/css/html 404

说明:

http://localhost:8080 指向的目录是WEB-INF所在的目录,也就是说请求静态资源时都是从该根目录开始查找。建议将所有静态文件放到和WEB-INF同级的目录下。

以 http://localhost:8080/script/vue.js  为例,将vue.js放到 web/script/vue.js 

解决方法一:

页面引用到/script/**的资源都从/script/里面进行查找,重点该配置需要重启tomcat生效

在需要引入的位置按图放置。

备注:mvc:default-servlet-handler 和 c:url 可以不写,已测试。

 

参考该文中试试

http://www.cnblogs.com/Rozdy/p/4710616.html

解决方法二:

修改web.xml文件,增加对静态资源的url映射

<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>

在web.xml中添加好配置后,在jsp页面就可以引用这些静态资源了,但需要用<c:url value="">,如:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<script type="text/javascript" src='<c:url value="/js/jquery.js"></c:url>'></script>

这里还需要说明的是:这种方法不能访问WEB-INF目录下的静态资源,也就是js目录必须是web根(可能是webapp,webContent等)目录下,否则是不能引用的;

如果放在WEB-INF目录下,即使你使用<c:url value=“/WEB-INF/js/jquery.js”>也是会出现404错误的。

 

posted @ 2018-08-05 18:26  小德cyj  阅读(313)  评论(0编辑  收藏  举报