概述
先写两种我经常用的方法:
${pageContext.request.contextPath}
var pathName = window.document.location.pathname;
var path = pathName.substring(0, pathName.substr(1).indexOf(’/’) + 1);
jsp:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/";
%>
<!DOCTYPE html>
<html>
<head>
<base href="<%=basePath%>">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="<%=basePath%>/css/mycss/login_css.css" rel="stylesheet" type="text/css" />
</head>
js:
方法一
function getRealPath(){
//获取当前网址,如: http://localhost:8083/myproj/view/my.jsp
var curWwwPath=window.document.location.href;
//获取主机地址之后的目录,如: myproj/view/my.jsp
var pathName=window.document.location.pathname;
var pos=curWwwPath.indexOf(pathName);
//获取主机地址,如: http://localhost:8083
var localhostPaht=curWwwPath.substring(0,pos);
//获取带"/"的项目名,如:/myproj
var projectName=pathName.substring(0,pathName.substr(1).indexOf('/')+1);
//得到了 http://localhost:8083/myproj
var realPath=localhostPaht+projectName;
alert(realPath);
}
方法二:
function getRootPath_dc() {
var pathName = window.location.pathname.substring(1);
var webName = pathName == '' ? '' : pathName.substring(0, pathName.indexOf('/'));
if (webName == "") {
return window.location.protocol + '//' + window.location.host;
}
else {
return window.location.protocol + '//' + window.location.host + '/' + webName;
}
}
常识补充:
- //获取当前窗口的Url
//returnUrl=http://localhost:8080/shopping/buyCart.shtml?skuId=510&amount=1
window.location.href - //获取当前窗口的主机名 例如:http://localhost:8080
window.location.host - //获取当前窗口的端口 例如: 8080
window.location.port - //获取当前窗口的路径 例如: /shopping/buyCart.shtml
window.location.pathname - //获取当前文档的Url
document.URL - //获取参数 例如: ?skuId=510&amount=1
window.location.search - //跳出当前窗口,打开新窗口
window.open(url); - document默示的是一个文档对象,window默示的是一个窗口对象,一个窗口下可以有多个文档对象。
所以一个窗口下只有一个window.location.href,然则可能有多个document.URL、document.location.href - window.location.href和document.location.href可以被赋值,然后跳转到其它页面,document.URL只能读不克不及写
- //获取当前网址,如: http://localhost:8080/Tmall/index.jsp
var curWwwPath=window.document.location.href; - //获取主机地址之后的目录如:/Tmall/index.jsp
var pathName=window.document.location.pathname;
var pos=curWwwPath.indexOf(pathName); - //获取主机地址,如: http://localhost:8080
var localhostPaht=curWwwPath.substring(0,pos); - //获取带"/"的项目名,如:/Tmall
var projectName=pathName.substring(0,pathName.substr(1).indexOf(’/’)+1);
从reques获取各种路径总结
request.getRealPath() 这个方法已经不推荐使用了,代替方法是:
request.getSession().getServletContext().getRealPath()
在servlet里用this.getServletContect().getRealPath()
在struts里用this.getServlet().getServletContext().getRealPath()
在Action里用ServletActionContext.getRequest().getRealPath();
以上三个获得都是当前运行文件在服务器上的绝对路径
从request获取各种路径总结
request.getRealPath(“url”); // 虚拟目录映射为实际目录
request.getRealPath("./"); // 网页所在的目录
request.getRealPath("…/"); // 网页所在目录的上一层目录
request.getContextPath(); // 应用的web目录的名称
转载请注明出处!
最后
以上就是痴情黑米为你收集整理的js 获取项目根路径的全部内容,希望文章能够帮你解决js 获取项目根路径所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复