原文链接:http://blog.csdn.net/qq_37936542/article/details/79076768
问题:当在jsp使用相对路径引入其他js文件的时候,通过浏览器访问该页面一切正常,但是通过服务器跳转到该页面,就会出现文件404的错误。
解答:同样一个页面,客户端跳转与服务器跳转的相对路径是不一样的。服务器的跳转都是相对于http://localhost:8080/项目名/,而客户端的跳转是相对于页面所在文件夹的位置。
解决该问题有两种方案
首先提供一个项目目录结构:
一:使用<base>标签
- <%
- String path = request.getContextPath();
- String basePath = request.getScheme()+ "://" +request.getServerName()+ ":"+request.getServerPort()+path+ "/" ;
- %>
- <base href="<%=basePath%>">
在demo.jsp页面添加上面一段代码,basePath的值http://localhost:8080/项目名/ , 它的作用就是限制该jsp页面url路径都要根据它的所在位置来定,这时候在1.jsp页面可以这样引入jquery.min.js
- <script src="js/jquery.min.js" type="text/javascript"></script>
这样不管是客户端访问还是服务端跳转访问都没有问题
二:使用绝对路径 ${pageContext.request.contextPath}
- <script src="${pageContext.request.contextPath}/js/jquery.min.js" type="text/javascript"></script>
文末福利:
福利一:前端,Java,产品经理,微信小程序,Python等8G资源合集大放送:https://www.jianshu.com/p/e8197d4d9880
福利二:微信小程序入门与实战全套详细视频教程
领取方式:
如果需要学习视频,欢迎关注 【编程微刊】微信公众号,回复【领取资源】一键领取以下所有干货资源,获取更多有用技术干货、文档资料。所有文档会持续更新,欢迎关注一起成长!