java 项目如何获取项目所在的物理根路径

java 项目如何获取项目所在的物理根路径,第1张

在java中获得文件的路径在我们做上传文件 *** 作时是不可避免的。web上运行1:thisgetClass()getClassLoader()getResource("/")getPath();thisgetClass()getClassLoader()getResource("")getPath();得到的是ClassPath的绝对URI路径。如:/D:/jboss-422GA/server/default/deploy/hpwar/WEB-INF/classes/SystemgetProperty("userdir");thisgetClass()getClassLoader()getResource("")getPath();得到的是项目的绝对路径。如:/D:/jboss-422GA/server/default/deploy/hpwar2:thisgetClass()getResource("/")getPath();thisgetClass()getResource("")getPath();得到的是当前类文件的URI目录。如:/D:/jboss-422GA/server/default/deploy/hpwar/WEB-INF/classes/com/jebel/helper/thisgetClass()getResource("")getPath();X不能运行3:ThreadcurrentThread()getContextClassLoader()getResource("/")getPath()ThreadcurrentThread()getContextClassLoader()getResource("")getPath()得到的是ClassPath的绝对URI路径。如:/D:/jboss-422GA/server/default/deploy/hpwar/WEB-INF/classes/ThreadcurrentThread()getContextClassLoader()getResource("")getPath()得到的是项目的绝对路径。如:/D:/jboss-422GA/server/default/deploy/hpwar在本地运行中1:thisgetClass()getClassLoader()getResource("")getPath();thisgetClass()getClassLoader()getResource("")getPath();得到的是ClassPath的绝对URI路径。如:/D:/myProjects/hp/WebRoot/WEB-INF/classesthisgetClass()getClassLoader()getResource("")getPath();X不能运行2:thisgetClass()getResource("")getPath();thisgetClass()getResource("")getPath();得到的是当前类文件的URI目录。如:/D:/myProjects/hp/WebRoot/WEB-INF/classes/com/jebel/helper//D:/myProjects/hp/WebRoot/WEB-INF/classes/得到的是ClassPath的绝对URI路径。如:/D:/myProjects/hp/WebRoot/WEB-INF/classes3:ThreadcurrentThread()getContextClassLoader()getResource("")getPath()ThreadcurrentThread()getContextClassLoader()getResource("")getPath()得到的是ClassPath的绝对URI路径。。如:/D:/myProjects/hp/WebRoot/WEB-INF/classesThreadcurrentThread()getContextClassLoader()getResource("/")getPath()X不能运行最后在Web应用程序中,我们一般通过ServletContextgetRealPath("/")方法得到Web应用程序的根目录的绝对路径。还有requestgetContextPath();在Weblogic中要用requestgetServletContext()getContextPath();但如果打包成war部署到Weblogic服务器,项目内部并没有文件结构的概念,用这种方式是始终得到null,获取不到路径,目前还没有找到具体的解决方案。

在jsp和class文件中调用的相对路径不同。在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用SystemgetProperty("userdir")获取工程的绝对路径。

另:在Jsp,Servlet,Java中详细获得路径的方法!

1jsp中取得路径:

以工程名为TEST为例:

(1)得到包含工程名的当前页面全路径:requestgetRequestURI()

结果:/TEST/testjsp

(2)得到工程名:requestgetContextPath()

结果:/TEST

(3)得到当前页面所在目录下全名称:requestgetServletPath()

结果:如果页面在jsp目录下 /TEST/jsp/testjsp

(4)得到页面所在服务器的全路径:applicationgetRealPath("页面jsp")

结果:D:\resin\webapps\TEST\testjsp

(5)得到页面所在服务器的绝对路径:absPath=new javaioFile(applicationgetRealPath(requestgetRequestURI()))getParent();

结果:D:\resin\webapps\TEST

2在类中取得路径:

(1)类的绝对路径:ClassclassgetClass()getResource("/")getPath()

结果:/D:/TEST/WebRoot/WEB-INF/classes/pack/

(2)得到工程的路径:SystemgetProperty("userdir")

结果:D:\TEST

3在Servlet中取得路径:

(1)得到工程目录:requestgetSession()getServletContext()getRealPath("") 参数可具体到包名。

结果:E:\Tomcat\webapps\TEST

(2)得到IE地址栏地址:requestgetRequestURL()

结果:>

以上就是关于java 项目如何获取项目所在的物理根路径全部的内容,包括:java 项目如何获取项目所在的物理根路径、java中怎样获取当前路径的绝对路径、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9607669.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存