先获取当前的全路径,然后对全路径进行分析获取到跟路径
//js获取项目根路径,如: http://localhost:8083/uimcardprj
function getRootPath(){//获取当前网址,如: http://localhost:8083/uimcardprj/share/meun.jsp
var curWwwPath=window.document.location.href
//获取主机地址之后的目录,如: uimcardprj/share/meun.jsp
var pathName=window.document.location.pathname
var pos=curWwwPath.indexOf(pathName)
//获取主机地址,如: http://localhost:8083
var localhostPaht=curWwwPath.substring(0,pos)
//获取带"/"的项目名,如:/uimcardprj
var projectName=pathName.substring(0,pathName.substr(1).indexOf('/')+1)
return(localhostPaht+projectName)
}
JSP引用JS文件的路径有以下三种:1、使用相对于jsp页面的相对路径
<script type="text/javascript" src="../a.js"></script>
2、使用相对于Web工程的相对路径
<script type="text/javascript" src="scripts/a.js"></script>
PS:使用此方法这种方式引用,如果直接访问该jsp页面http://localhost:8080/项目名称/a.jsp,是引用不到该js的。
3.使用Web工程的绝对路径
<script type="text/javascript" src="/项目名称/scripts/a.js"></script>
如此,不管是通过跳转访问还是直接访问a.jsp,都可以成功引用。
PS:如果在部署Web应用时,没有设置Context Root(一般情况下配置为项目名称),也就是端口后面不带项目名称,如:http://localhost:8080/a.do和http://localhost:8080/a.jsp,此时在引用时就不能带项目名,如:
<script type="text/javascript" src="/scripts/a.js"></script>