如何在java中获取当前项目的路径
很多朋友都想了解java如何获取当前项目的路径?下面就一起来了解一下吧~
在jsp和class文件中调用的相对路径不同。
在jsp里,根目录是WebRoot
在class文件中,根目录是WebRoot/WEB-INF/classes 也可以选用SystemgetProperty("userdir")获取工程的绝对路径。
1jsp中取得路径:
以工程名为TEST为例:
(1)得到包含工程名的当前页面全路径:requestgetRequestURI() 结果:/TEST/testjsp (2)得到工程名:requestgetContextPath() 结果:/TEST (3)得到当前页面所在目录下全名称:requestgetServletPath() 结果:如果页面在jsp目录下 /TEST/jsp/testjsp (4)得到页面所在服务器的全路径:applicationgetRealPath("页面jsp") 结果:D: esinwebappsTEST estjsp (5)得到页面所在服务器的绝对路径:absPath=new javaioFile(applicationgetRealPath(requestgetRequestURI()))getParent(); 结果:D: esinwebappsTEST
2在class类中取得路径:
(1)类的绝对路径:ClassclassgetClass()getResource("/")getPath() 结果:/D:/TEST/WebRoot/WEB-INF/classes/pack/ (2)得到工程的路径:SystemgetProperty("userdir") 结果:D:TEST
3在Servlet中取得路径: (1)得到工程目录:requestgetSession()getServletContext()getRealPath("") 参数可具体到包名。 结果:E:TomcatwebappsTEST (2)得到IE地址栏地址:requestgetRequestURL() 结果:http://localhost:8080/TEST/test (3)得到相对地址:requestgetRequestURI() 结果:/TEST/test
我用的几个函数,看看,应该很容易:
/// <summary>
/// 获取当前页面的完整URL地址信息
/// </summary>
/// <returns></returns>
public static string GetUrl()
{
string url;
url = SystemWebHttpContextCurrentRequestServerVariables["SERVER_NAME"];
if(SystemWebHttpContextCurrentRequestServerVariables["SERVER_PORT"] != "80")
url+=":" + SystemWebHttpContextCurrentRequestServerVariables["SERVER_PORT"];
//strTemp = strTemp & CheckStr(RequestServerVariables("URL"))
url += SystemWebHttpContextCurrentRequestServerVariables["SCRIPT_NAME"];
if (!(SystemWebHttpContextCurrentRequestQueryString == null || SystemWebHttpContextCurrentRequestQueryStringToString() == ""))
{
url += "" + SystemWebHttpContextCurrentRequestQueryStringToString();
}
if (SystemWebHttpContextCurrentRequestServerVariables["HTTPS"] == "off")
{
url = "http://" + url;
}
else
{
url = "https://" + url;
}
return url;
}
/// <summary>
/// 获取当前服务器和当前页面的路径信息(不含文件名)
/// </summary>
/// <returns></returns>
public static string GetUrlPath()
{
string url = GetUrl();
return urlSubstring(0, urlLastIndexOf("/") + 1);
}
/// <summary>
/// 获取当前服务器的根路径信息,如:http://wwwlikeecom/
/// </summary>
/// <returns></returns>
public static string GetUrlRoot()
{
string url = GetUrl();
return urlSubstring(0,urlIndexOf("/",8) + 1);
}
0条评论