springmvc 静态资源 404问题

项目根目录结构:
图片说明
Web.xml中配置
图片说明
Spring-sevlet.Xml中配置
图片说明
首页JSP中调用外部文件
图片说明
该链接按中Ctrl后再点击,可访问。
之后依旧无法调用JS文件,跪求大神!!!!!!!

5个回答

我也遇到过这个问题。这里有三种方法可以解决:Spring3中js/css/jpg/gif等静态资源无法找到。我习惯第二种

u012756273
雪落倾辰 二三两种合用,根据我的项目结构,应该是配置对的~~~~无语耶
4 年多之前 回复

现在好了! 方法一 ,要写在DispatcherServlet的前面, 让 defaultServlet先拦截请求,这样请求就不会进入Spring了。


default

.jpg





default

.png




default

.js





default

.css

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

你的配置文件放到哪里了,有没有正确应用?

看你的配置,应该是JSP里面引用js文件的路径问题。你写的引用如果正确的话,那么此时该jsp文件和js文件之间的未知关系是
jsp文件的当前目录下的js子目录才对。
通常我们都是用项目全路径的绝对路径来引用文件的:现获取项目的根目录,再补充引用文件的位置,通常这样就很容易保证路径的正确性了。

 <%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"
            + request.getServerName() + ":" + request.getServerPort()
            + path + "/";
%>
<script  type='text/javascript' src="<%=basePath %>resources/js/jquery-1.9.0.min.js" ></script>
wojiushiwo945you
毕小宝 回复雪落倾辰: 还有你的Spring配置文件路径配置有误,你的spring-servlet.xml位置应该是:<init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring-*.xml</param-value> </init-param>
4 年多之前 回复
wojiushiwo945you
毕小宝 回复雪落倾辰: 按照我写的方式,你的项目的引用路径应该是:<script type="text/javascript" src="<%=basePath %>js/jquery-1.11.1.js"></script>
4 年多之前 回复
wojiushiwo945you
毕小宝 回复雪落倾辰: 试试修改引用路径为(去掉第一个/):<script type="text/javascript" src="js/jquery-1.11.11.js"></script>
4 年多之前 回复
u012756273
雪落倾辰 JSP文件照你改了之后还是无用~囧!~网上太多方法都没用,不知道哪出错
4 年多之前 回复

应该有三种方式
1.spring的话有个resource handle标签,默认过滤
2.在web.xml中配置servletmapping 并放在spring的监听器上面,让tomcat先拦截
3.将资源文件放在同一个文件夹下,然后再spring的配置文件里使用resource标签过滤该文件夹。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!