关于java开发过程中需要获取项目路径,百度google一搜,网上多如牛毛,但这次搜出来,下次却忘记了。
网上曾经有无数java路径讲解的文章,从基础至终极篇数不胜数。。。但无论是多终极,始终不能指明自己所需要的那条路。
已经厌倦了在开发过程中在获取路径上浪费太多时间,于是切切实实建一个测试项目,希望能彻底地理清java路径。
系统环境:windows7
开发环境:myeclipse
运行环境:tomcat6(程序绝对路径为:D:\apache-tomcat-6.0.28 )
1. System.getProperty("user.dir")
新建java web项目:MyPath ,项目绝对路径为E:\myeclipse\MyPath
在项目里面新建一个类path.MyClass(任何类 )
public static void main(String[] args) { System.out.println(System.getProperty("user.dir")); }运行类(Run as java application),得到结果为:E:\myeclipse\MyPath
当在Servlet中的时候,启动tomcat服务器。
进入(运行)servlet类的时候,得到结果为:D:\apache-tomcat-6.0.28\bin
写道 结论:这个不是好东西!
2. application.getRealPath("")
其中application的得来:
在servlet中得到HttpServletRequest类型的request
ServletContext application = request.getSession().getServletContext();
得到的结果为:E:\myeclipse\MyPath\WebRoot
写道 结论:在web项目中,这种取得路径的方法很好。
3. System.setProperty(Param, Value)
通过系统类System的setProperty方法。但此方法需要在系统开始运行的时候就设置方可全局使用。
例如在contextInitialized方法中:
System.setProperty("WORKDIR", workDir) ; 其中workDir为路径变量值。
4. reserved
相关资源:asp.net知识库