Eclipse开发Java项目引入jQuery报net::ERR_Aborted 404错误
jQuery引入报404(net::ERR_ABORTED)排查解决步骤
按以下顺序逐一排查,可覆盖绝大多数触发场景:
- 首先确认静态资源是否被正确部署
停止服务器,打开你使用的服务器部署目录(比如本地Tomcat的webapps文件夹),找到对应项目的部署文件夹,检查是否存在js/jquery-1.12.4.js文件。
如果部署目录里根本没有这个js文件,属于Eclipse的部署配置问题:右键项目 -> 选择Properties-> 找到Deployment Assembly选项,确认WebContent文件夹被映射为部署根路径/,如果js文件夹是你手动新建的没有被包含进部署规则,手动添加对应目录映射即可。配置完成后右键服务器执行Clean,清空之前的部署缓存后重新全量发布。 - 检查script标签路径写法
你当前写的src="/module_name/js/jquery-1.12.4.js"是服务端绝对路径,开头的/等价于域名根http://localhost:8080/,如果项目实际上下文根和module_name不一致(比如你在Eclipse的Web Project Settings里修改过上下文根、或者把项目部署为根应用),路径就会不匹配。推荐两种不会出错的写法:
- 相对路径写法:如果引入js的页面在WebContent根目录,直接写
src="js/jquery-1.12.4.js",去掉开头的斜杠即可 - JSP动态路径写法:用EL表达式自动获取上下文根,完全不受部署路径变更影响:
<script src="${pageContext.request.contextPath}/js/jquery-1.12.4.js"></script> - 相对路径写法:如果引入js的页面在WebContent根目录,直接写
- 检查文件名大小写和拦截规则
- 确认js目录下的jQuery文件名和代码里写的完全一致,包括大小写、后缀:Windows本地文件系统不区分大小写,但部署到Linux类服务器时大小写敏感,比如文件实际叫
JQuery-1.12.4.min.js,代码里写小写就会返回404。 - 检查后端是否配置了全局拦截:如果你的Servlet/SpringMVC拦截规则配置为
/*,会把js、css这类静态资源请求也拦截到后端逻辑,没有配置静态资源放行就会返回404。这种情况需要在配置中添加静态资源映射,比如SpringMVC中添加<mvc:resources mapping="/js/**" location="/js/"/>放行js目录请求,或者在web.xml中配置默认Servlet处理静态资源。
- 确认js目录下的jQuery文件名和代码里写的完全一致,包括大小写、后缀:Windows本地文件系统不区分大小写,但部署到Linux类服务器时大小写敏感,比如文件实际叫
- 最终验证
重新发布项目后,直接在浏览器地址栏输入http://localhost:8080/你的项目实际上下文路径/js/jquery-1.12.4.js访问,如果能直接看到jQuery的源码文本,说明资源路径正常,回去修正页面里的引入路径即可;如果还是404,回到第一步重新检查部署目录结构。
内容的提问来源于stack exchange,提问作者Manas Tripathi
相关产品推荐
相关产品推荐

