探讨jsp相对路径和绝对路径

原文链接:http://blog.csdn.net/qq_37936542/article/details/79076768

问题:当在jsp使用相对路径引入其他js文件的时候,通过浏览器访问该页面一切正常,但是通过服务器跳转到该页面,就会出现文件404的错误。

解答:同样一个页面,客户端跳转与服务器跳转的相对路径是不一样的。服务器的跳转都是相对于http://localhost:8080/项目名/,而客户端的跳转是相对于页面所在文件夹的位置。


解决该问题有两种方案

首先提供一个项目目录结构:



一:使用<base>标签

  1. <%      
  2.      String path = request.getContextPath();      
  3.      String basePath = request.getScheme()+ "://" +request.getServerName()+ ":"+request.getServerPort()+path+ "/" ;      
  4. %>    
  5. <base href="<%=basePath%>">  

在demo.jsp页面添加上面一段代码,basePath的值http://localhost:8080/项目名/ , 它的作用就是限制该jsp页面url路径都要根据它的所在位置来定,这时候在1.jsp页面可以这样引入jquery.min.js
  1. <script src="js/jquery.min.js" type="text/javascript"></script>  

这样不管是客户端访问还是服务端跳转访问都没有问题


二:使用绝对路径 ${pageContext.request.contextPath}

  1. <script src="${pageContext.request.contextPath}/js/jquery.min.js" type="text/javascript"></script> 

文末福利:

福利一:前端,Java,产品经理,微信小程序,Python等8G资源合集大放送:https://www.jianshu.com/p/e8197d4d9880

福利二:微信小程序入门与实战全套详细视频教程

领取方式:
如果需要学习视频,欢迎关注 【编程微刊】微信公众号,回复【领取资源】一键领取以下所有干货资源,获取更多有用技术干货、文档资料。所有文档会持续更新,欢迎关注一起成长!



原文地址:https://www.cnblogs.com/wangting888/p/9701644.html