如何在java中获取当前项目的路径

Python013

如何在java中获取当前项目的路径,第1张

很多朋友都想了解java如何获取当前项目的路径?下面就一起来了解一下吧~

在jsp和class文件中调用的相对路径不同。

在jsp里,根目录是WebRoot

在class文件中,根目录是WebRoot/WEB-INF/classes 也可以选用System.getProperty("user.dir")获取工程的绝对路径

1.jsp中取得路径:

以工程名为TEST为例:

(1)得到包含工程名的当前页面全路径:request.getRequestURI() 结果:/TEST/test.jsp (2)得到工程名:request.getContextPath() 结果:/TEST (3)得到当前页面所在目录下全名称:request.getServletPath() 结果:如果页面在jsp目录下 /TEST/jsp/test.jsp (4)得到页面所在服务器的全路径:application.getRealPath("页面.jsp") 结果:D: esinwebappsTEST est.jsp (5)得到页面所在服务器的绝对路径:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent() 结果:D: esinwebappsTEST

2.在class类中取得路径:

(1)类的绝对路径:Class.class.getClass().getResource("/").getPath() 结果:/D:/TEST/WebRoot/WEB-INF/classes/pack/ (2)得到工程的路径:System.getProperty("user.dir") 结果:D:TEST

3.在Servlet中取得路径: (1)得到工程目录:request.getSession().getServletContext().getRealPath("") 参数可具体到包名。 结果:E:TomcatwebappsTEST (2)得到IE地址栏地址:request.getRequestURL() 结果:http://localhost:8080/TEST/test (3)得到相对地址:request.getRequestURI() 结果:/TEST/test

绝对路径:从指定分区到目标地点经过的位置,如C:/a/v/c/d/b 这就是绝对路径。

相对路径:相对于当前文件所处位置的路径,如./b 这就是相对路径。

路径名:是路径的名称,包含了该文件的相对或者绝对路径,显示了该文件所处的位置。

文件名:用于标识文件但是和文件属性无关的字符串。

所谓“绝对路径”就是从根目录开始一直到该目录的全程的路径,这样说可能太抽象,举个例子:"c:\apache\htdocs\cgi-bin\test.cgi"就是文件test.cgi的绝对路径。

所谓“相对路径”就是相对于当前目录的路径,举个例子:例如当前目录目录是 "c:\apache\htdocs" 你要浏览 c:\apache\htdocs\cgi-bin\test.cgi文件的内容,那么只需在命令行里输入 "type cgi-bin\test.cgi" 就可以了,要是在"c:\apache\htdocs\cgi-bin\xyz"下呢,那么就是 "type ..test.cgi"。绝对路径是不变的,而相对路径是随用户工作目录的变化而变化。

抽象路径:

用户界面和操作系统使用与系统相关的路径名字符串来命名文件和目录。此类呈现分层路径名的一个抽象的、与系统无关的视图。抽象路径名有两个组件:

一个可选的与系统有关的前缀字符串,比如盘符,"/" 表示 UNIX 中的根目录,"\\\\" 表示 Microsoft Windows UNC 路径名,以及零个或更多字符串名称的序列。

除了最后一个,抽象路径名中的每个名称代表一个目录;最后一个名称既可以代表目录,也可以代表文件。空的抽象路径名没有前缀和名称序列。