`
liumayulingyan
  • 浏览: 154065 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

java项目路径

    博客分类:
  • 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:\resin\webapps\TEST\test.jsp
(5)得到页面所在服务器的绝对路径:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent();
结果:D:\resin\webapps\TEST

2.在类中取得路径:
(1)类的绝对路径:Class.class.getClass().getResource("/").getPath()
结果:/D:/TEST/WebRoot/WEB-INF/classes/pack/
(2)得到工程的路径:System.getProperty("user.dir")
结果:D:\TEST
(3)得到tomcat临时目录:System.getProperty("java.io.tmpdir");
结果:D:\Development\apache-tomcat-7.0.42\temp

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

另,Class类还有一个getResourceAsStream方法,记得以前有个项目要读取在同一个包内的一个xml,就用的这个。

1.如何获得当前文件路径

常用:
(1).Test.class.getResource("")
得到的是当前类FileTest.class文件的URI目录。不包括自己!
(2).Test.class.getResource("/")
得到的是当前的classpath的绝对URI。
(3).Thread.currentThread().getContextClassLoader().getResource("")
得到的也是当前ClassPath的绝对URI。
(4).Test.class.getClassLoader().getResource("")
得到的也是当前ClassPath的绝对URI。
(5).ClassLoader.getSystemResource("")
得到的也是当前ClassPath的绝对URI。
尽量不要使用相对于System.getProperty("user.dir")当前用户目录的相对路径,后面可以看出得出结果五花八门。
(6) new File("").getAbsolutePath()也可用。

注:若这些路径中出现空格,并且空格被%20代替,则可以使用path = java.net.URLDecoder.decode(path,"utf-8") 进行转化;
       
2.Web服务器
(1).Tomcat
在类中输出System.getProperty("user.dir");显示的是%Tomcat_Home%/bin
(2).Resin
不是你的JSP放的相对路径,是JSP引擎执行这个JSP编译成Servlet的路径为根.比如用新建文件法测试File f = new File("a.htm");
这个a.htm在resin的安装目录下 
(3).如何读文件
使用ServletContext.getResourceAsStream()就可以
(4).获得文件真实路径

String   file_real_path=ServletContext.getRealPath("mypath/filename");  
不建议使用request.getRealPath("/"); 




getProperties 
public static Properties getProperties() 
确定当前的系统属性。 
首先,如果有安全管理器,则不带参数直接调用其 checkPropertiesAccess 方法。这可能导致一个安全性异常。 
将 getProperty(String) 方法使用的当前系统属性集合作为Properties 对象返回。如果没有当前系统属性集合,则先创建并初始化一个系统属性集合。这个系统属性集合总是包含以下键的值: 
键	相关值的描述 
java.version	Java 运行时环境版本 
java.vendor	Java 运行时环境供应商 
java.vendor.url	Java 供应商的 URL 
java.home	Java 安装目录 
java.vm.specification.version	Java 虚拟机规范版本 
java.vm.specification.vendor	Java 虚拟机规范供应商 
java.vm.specification.name	Java 虚拟机规范名称 
java.vm.version	Java 虚拟机实现版本 
java.vm.vendor	Java 虚拟机实现供应商 
java.vm.name	Java 虚拟机实现名称 
java.specification.version	Java 运行时环境规范版本 
java.specification.vendor	Java 运行时环境规范供应商 
java.specification.name	Java 运行时环境规范名称 
java.class.version	Java 类格式版本号 
java.class.path	Java 类路径 
java.library.path	加载库时搜索的路径列表 
java.io.tmpdir	默认的临时文件路径 
java.compiler	要使用的 JIT 编译器的名称 
java.ext.dirs	一个或多个扩展目录的路径 
os.name	操作系统的名称 
os.arch	操作系统的架构 
os.version	操作系统的版本 
file.separator	文件分隔符(在 UNIX 系统中是“/”) 
path.separator	路径分隔符(在 UNIX 系统中是“:”) 
line.separator	行分隔符(在 UNIX 系统中是“/n”) 
user.name	用户的账户名称 
user.home	用户的主目录 
user.dir	用户的当前工作目录 
系统属性值中的多个路径是用平台的路径分隔符分隔的。 
注意,即使安全管理器不允许执行 getProperties 操作,它可能也会选择允许执行 getProperty(String) 操作。 
返回: 
系统属性 
抛出: 
SecurityException - 如果安全管理器存在并且其checkPropertiesAccess 方法不允许访问系统属性。 
另请参见: 
setProperties(java.util.Properties),SecurityException,SecurityManager.checkPropertiesAccess(),Properties



http://blog.163.com/023_dns/blog/static/1187273662012834343407/
分享到:
评论

相关推荐

    java项目路径(相关信息)的取得

    ### Java项目路径与相关信息获取详解 在Java开发过程中,经常需要获取系统属性或环境变量来适应不同的部署场景,比如确定类路径、临时目录等。本文将详细介绍如何利用`System.getProperty()`方法来获取Java项目的...

    java项目中获取路径详解

    Java 项目中获取路径详解 在 Java 项目中,获取路径是非常重要的,因为它关系到项目的正确运行。特别是在 Java Web 项目中,获取路径变得更加复杂。下面我们将详细讨论 Java 项目中获取路径的方法和注意事项。 ...

    JAVA获取项目路径.doc

    ### JAVA获取项目路径 在Java开发中,获取项目的路径是一个非常常见的需求,尤其是在处理文件读写、资源定位等场景时尤为重要。本文将详细介绍如何通过不同的方法来获取项目的各种路径,并结合示例代码进行说明。 ...

    windows linux 下,获取java项目绝对路径的方法

    windows linux 下,获取java项目绝对路径的方法,struts2设置了struts.multipart.saveDir后会在根目录建立文件夹,这样会涉及linux下的权限问题

    java项目相对路径与绝对路径问题分析

    在Java项目中,有以下两种类型的相对路径: 1. 相对于classpath的相对路径:如在`file:/D:/java/eclipse32/workspace/jbpmtest3/bin/`这个classpath路径下的相对路径,这意味着你需要结合classpath的基路径来解析...

    Java相对路径总结

    在编程领域,路径是至关重要的概念,特别是在Java这样的多平台编程语言中。本文将深入探讨Java中的相对路径,这是在处理文件和目录时经常会遇到的一个关键主题。相对路径是相对于当前工作目录或某个已知起点的文件或...

    java路径解决方案

    默认情况下,Java会搜索当前目录("."),但通常我们需要自定义类路径以包含项目中的库和其他依赖。可以通过以下方式设置类路径: 1. **命令行参数**:使用`-cp`或`-classpath`选项指定类路径,如`java -cp lib/*:...

    JAVA获取各种路径总结

    ### JAVA 获取各种路径总结 在Java开发中,特别是在Web应用开发中,经常需要获取不同类型的路径,例如:当前Web应用的路径...掌握这些方法,可以帮助开发者更好地管理项目中的文件路径,提高程序的灵活性和可维护性。

    Java路径问题最终解决方案之一.

    ### Java路径问题最终解决方案之一 #### 一、引言与背景 在进行Java开发时,文件路径处理一直是令人头疼的问题之一。特别是在涉及跨平台或在不同环境中部署的应用程序时,路径问题更是频繁出现。本文旨在深入探讨...

    WEB 项目中JAVA取得WEBROOT物理路径

    获取Java Web项目中的WEBROOT或WEB-INF物理路径,是开发过程中的常见操作,通常通过Servlet API的`ServletContext`接口实现。理解Web应用的部署结构和正确使用`getRealPath()`方法,对于解决与文件操作相关的问题至...

    Java获得某个路径下的所有文件列表,并写入指定文件

    在Java编程中,获取某个路径下所有文件列表并将其写入指定文件是一项常见的任务,尤其在文件管理和系统操作中非常实用。以下是如何实现这个功能的详细步骤和相关知识点。 首先,我们需要导入Java.io和java.nio.file...

    Java路径问题

    - 在IDE如Eclipse、IntelliJ IDEA中,类路径配置通常在项目设置中完成。 - 使用`java.class.path`系统属性也可以动态改变类路径,但这种方式并不推荐,因为它可能影响其他库的加载。 5. jar文件的路径 - 在jar...

    java读取项目中的文件(src目录下)

    - 通常,Java项目有一个标准的目录结构,如`src/main/java`用于存放Java源代码,`src/main/resources`用于存放资源文件,如配置文件、图片或文本文件等。如果你的文件直接放在`src`目录下,可能意味着它是在源代码...

    总结一下java获取路径几种途径

    - **相对于classpath的相对路径**:如相对于`file:/D:/java/eclipse32/workspace/jbpmtest3/bin/`的路径,这里的`bin`目录是项目的classpath。 - **相对于当前用户目录的相对路径**:基于`System.getProperty("user....

    Java文件路径详解

    Java 文件路径详解 Java 文件路径详解是一种在 Java 中获取文件路径的方式。它可以将文件路径转换为 InputStream,以便于读取文件的内容。在 Java 中,有两种方式可以获取文件路径,即使用 Class....

    java中File的相对路径与绝对路径总结

    ### Java中File的相对路径与绝对路径总结 在Java Web开发过程中,经常需要处理文件的读写操作,尤其是在运行时获取配置文件、动态加载对象等情况。对于这些需求,理解和掌握文件的相对路径与绝对路径至关重要。 ##...

    Java前端js获取当前项目路径

    获得当前项目的根路径,js写出的公共方法,可在jsp中直接调用

    java根据路径读出doc文件内容个人范例

    带上poi的Ex那个包,整个项目在这里,直接eclipse里面run就能读出指定路径上doc里的内容,多种方法都有,itext,poi,java2word等等,本人自己本地测试时候急忙搞的,初学不熟的就拿去看看吧,所有java提取doc的技术...

    Java路径问题最终解决方案之一.txt

    例如,假设项目的`classpath`为 `file:/D:/java/eclipse32/workspace/jbpmtest3/bin/`,那么`com/test`就是一个相对于该`classpath`的路径。这种类型的路径在使用`ClassLoader`的`getResource`或`...

Global site tag (gtag.js) - Google Analytics