`

java路径问题小结

阅读更多
1.user.dir
 //通过来获取;此目录并非是固定的,而是根据该代码所属类运行时的环境而定。
 //普通的java程序中获得的是该类所属项目的根目录(d:\workspace\app)
 //在特定服务器下发布运行的javaweb程序则获得的是该服务器下提供运行环境的目录
 //(如用Tomcat将获得F:\Tomcat 6.0\bin)
 System.getProperties("user.dir")


2.classes目录
顾名思义指存放类文件的根目录。
  • 普通java程序的classes目录指app\bin
  • web项目的classes目录是指app\WebRoot\WEB-INF\classes


//在普通项目或web项目中
//s:获得classes目录绝对路径(包括TestClass类所属包目录)
//      app\bin\com\test
//    或app\WebRoot\WEB-INF\classes\com\test
//ss:获得classes目录绝对路径 
//      app\bin
//    或app\WebRoot\WEB-INF\classes
com.test.TestClass c=new com.test.TestClass();
String s=c.getClass().getResource("").getPath();
String ss=c.getClass().getClassLoader().getResource("").getPath();


3.web项目根目录(在服务器发布后) app\
(1)根据ServeletContext的getRealPath()方法获得绝对路径
//第一种获得"app"绝对路径f:\tomcat 6.0\webapps\app
//第二、三种获得"app\"绝对路径f:\tomcat 6.0\webapps\app\
getServletContext.getRealPath(""); 
getServletContext.getRealPath("\\"); 
getServletContext.getRealPath("/"); 

(2)根据HttpServletRequest的getContextPath()方法获得相对路径
getRequest().getContextPath();


4.在struts2框架中获得发布后web项目的根目录
//利用ServletActionContext的静态方法
String real=ServletActionContext.getServletContext().getRealPath("");
String relative=ServletActionContext.getRequest().getContextPath());

如果使用user.dir的值的话获得的路径为%Tomcat_Home%\bin,所以不推荐使用user.dir这一环境变量来获取路径。

对于新手来说,搞清楚java项目的开发目录和发布目录的信息是十分必要的,特别是使用集成开发环境下,目录的安排十分透明,如果脱离开发环境的话,很多新手都会对项目目录结构很迷茫。

转载请注明出处:http://383984216-qq-com.iteye.com/admin/blogs/1149024
1
10
分享到:
评论

相关推荐

    Java Resource路径整理总结

    主要介绍了 Java Resource路径整理总结的相关资料,需要的朋友可以参考下

    Java学习代码实例 JAVA基础,JAVA面向对象,JAVA高级.rar

    小结 Path的主要功能是设置JDK的可执行命令 classpath主要是在执行时候起作用,告诉JVM类的保存路径,一般设置成“.” 【注意】classpath只在java命令的时候起作用,而对于javac不起任何作用 2.简单JAVA程序 使用...

    自己动手写Java虚拟机 张秀宏 著

    1.5 本章小结 第2章 搜索class文件 2.1 类路径 2.2 准备工作 2.3 实现类路径 2.3.1 Entry接口 2.3.2 DirEntry 2.3.3 ZipEntry 3 2.3.4 CompositeEntry 2.3.5 WildcardEntry 2.3.6 Classpath 2.4 测试本...

    Java数据结构和算法中文第二版(1)

    小结 问题 第2章 数组 Array专题Applet Java中数组的基础知识 将程序划分成类 类接口 Ordered专题applet 有序数组的Java代码 对数 存储对象 大O表示法 为什么不用数组表示一切? 小结 问题 实验 ...

    java01——常见CMD命令及配置环境变量小结

    2)配置环境变量小结: ①为什么配置? 答:我们想要在任意的目录下都可以打开指定的软件。就可以把软件的路径配置到环境变量中。(提高速度、方便) ②如何配置? 答:步骤:打开系统的设置界面(鼠标右键点击我的...

    数据结构与算法分析Java语言描述(第二版)

    不相交集类8.1 等价关系8.2 动态等价性问题8.3 基本数据结构8.4 灵巧求并算法8.5 路径压缩8.6 路径压缩和按秩求并的最坏情形8.7 一个应用小结练习题参考文献第9章 图论算法9.1 若干定义9.2 拓扑排序9.3 最短路径...

    数据结构与算法分析_Java语言描述(第2版)]

    不相交集类8.1 等价关系8.2 动态等价性问题8.3 基本数据结构8.4 灵巧求并算法8.5 路径压缩8.6 路径压缩和按秩求并的最坏情形8.7 一个应用小结练习题参考文献第9章 图论算法9.1 若干定义9.2 拓扑排序9.3 最短路径算法...

    Java数据结构和算法中文第二版(2)

    小结 问题 第2章 数组 Array专题Applet Java中数组的基础知识 将程序划分成类 类接口 Ordered专题applet 有序数组的Java代码 对数 存储对象 大O表示法 为什么不用数组表示一切? 小结 问题 实验 ...

    数据结构与算法分析 Java语言描述第2版

    不相交集类8.1 等价关系8.2 动态等价性问题8.3 基本数据结构8.4 灵巧求并算法8.5 路径压缩8.6 路径压缩和按秩求并的最坏情形8.7 一个应用小结练习题参考文献第9章 图论算法9.1 若干定义9.2 拓扑排序9.3 最短路径算法...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    1.11 小结 36 第2章 xml名称空间 38 2.1 声明名称空间 38 2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中的运用 42 2.3 名称空间和dtd...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    1.11 小结 36 第2章 xml名称空间 38 2.1 声明名称空间 38 2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中的运用 42 2.3 名称空间和dtd...

    Java 2平台安全技术-结构,API设计和实现

    3.12 小结 67 第4章 安全结构的使用 70 4.1 安装JDK1.2 70 4.2 策略配置 71 4.2.1 配置系统型和用户专用型策略 71 4.2.2 配置应用程序专用型策略 72 4.2.3 配置一个可选Policy类的实现 72 4.2.4 缺省的策略文件格式 ...

    数据结构与算法分析_Java_语言描述

    小结 练习 参考文献 第8章 不相交集ADT 8.1 等价关系 8.2 动态等价性问题 8.3 基本数据结构 8.4 灵巧求并算法 8.5 路径压缩 8.6 按秩求并和路径压缩的最坏情形 8.7 一个应用 小结 练习 参考文献 第9章 图论...

    数据结构与算法分析-Java语言描述(第2版)_2_2

    7.10.3 简单算法 7.10.4 多路合并 7.10.5 多相合并 7.10.6 替换选择 小结 练习题 参考文献第8章 不相交集类 8.1 等价关系 8.2 动态等价性问题 8.3 基本数据结构 8.4 灵巧求并算法 8.5 路径压缩...

    数据结构与算法分析-Java语言描述(第2版)_1_2

    7.10.3 简单算法 7.10.4 多路合并 7.10.5 多相合并 7.10.6 替换选择 小结 练习题 参考文献第8章 不相交集类 8.1 等价关系 8.2 动态等价性问题 8.3 基本数据结构 8.4 灵巧求并算法 8.5 路径压缩...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    1.11 小结 36 第2章 xml名称空间 38 2.1 声明名称空间 38 2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中的运用 42 2.3 名称空间和dtd...

    数据结构与算法分析_Java语言描述(第2版)

    小结 练习 参考文献 第2章 算法分析 2.1 数学基础 2.2 模型 2.3 要分析的问题 2.4 运行时间计算 2.4.1 一个简单的例子 2.4.2 一般法则 2.4.3 最大子序列和问题的求解 2.4.4 运行时间中的对数 2.4.5 检验你的分析 ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    1.11 小结 36 第2章 xml名称空间 38 2.1 声明名称空间 38 2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中的运用 42 2.3 名称空间和dtd...

    JAVA 2平台安全技术-结构,API设计和实现

    3.12 小结 67 第4章 安全结构的使用 70 4.1 安装JDK1.2 70 4.2 策略配置 71 4.2.1 配置系统型和用户专用型策略 71 4.2.2 配置应用程序专用型策略 72 4.2.3 配置一个可选Policy类的实现 72 4.2.4 缺省的策略文件格式 ...

Global site tag (gtag.js) - Google Analytics