获取JAVA(WEB)项目路径的方法
2017-09-08 20:09
561 查看
最近的项目涉及了文件上传的功能,不可避免的需要获得文件路径的方法。
下面是关于获取文件路径的一些方法。
对于获取文件路径,在Jsp,Servlet,Java中,有不同的方法。
this.getClass().getClassLoader().getResource(“/”).getPath()
this.getClass().getClassLoader().getResource(“”).getPath()
获取当前类的加载目录,如果有“/”,获取当前类的所在工程路径
this.getClass().getResource(“”).getPath()
this.getClass().getResource(“/”).getPath()
项目的绝对路径
this.getClass().getClassLoader().getResource(“.”).getPath();
另一种获取当前的classpath的绝对uri路径的方法
Thread.currentThread().getContextClassLoader().getResource(“/”).getPath()
Thread.currentThread().getContextClassLoader().getResource(“”).getPath()
项目的绝对路径
Thread.currentThread().getContextClassLoader().getResource(“.”).getPath()
获取项目的路径
directory.getCanonicalPath()
获取文件的路径
ActionForm.getMyFile()
获取系统的路径
System.getProperty(“”)
注意:如果一个类是通过bootstrap 载入的,那我们通过这个类去获得classloader的话,有些jdk的实现是会返回一个null的。
比如说我用new Object().getClass().getClassLoader()的话,会返回一个null,这样的话上面的代码就会出现NullPointer异常.所以保险起见我们最好还是使用我们自己写的类来获取classloader(”this.getClass().getClassLoader()“),这样一来就不会有问题。
request.getRequestURI()
获取站点的虚拟路径
request.getContextPath()
获取当前页面所在目录下全名称
request.getServletPath()
获取页面所在服务器的全路径
application.getRealPath(“页面.jsp”)
得到页面所在服务器的绝对路径
java.io.File(application.getRealPath(request.getRequestURI())).getParent();
request.getSession().getServletContext().getRealPath(“”)
得到IE地址栏地址
request.getRequestURL()
得到相对地址
request.getRequestURI()
获取站点的绝对路径
request.getServletContext().getRealPath(“/”)
request.getRealPath(“/”)
注意:在Web应用程序中,我们一般通过ServletContext.getRealPath(”/”)方法得到Web应用程序的根目录的绝对路径。还有request.getContextPath(); 在Weblogic中要用request.getServletContext().getContextPath();但如果打包成war部署到Weblogic服务器,项目内部并没有文件结构的概念,用这种方式是始终得到null,获取不到路径,目前还没有找到具体的解决方案。
相对路径:相对与某个基 准目录的路径。包含Web的相对路径(HTML中的相对目录)。 服务器端的地址服务器端的相对地址指的是相对于web应用的地址,这个地址是在服务器端解析的(不同于html和javascript中的相对 地址,他们是由客户端浏览器解析的)。
注意:一般在编程中,一般都操作读取文件的相对路径,因为绝对路径虽然是比较好处理的,但是不灵活,所以我们在编程中对文件进行操作的时候,一般都是读取文件的相对路径,
版权所有,未经授权不得转载。
下面是关于获取文件路径的一些方法。
对于获取文件路径,在Jsp,Servlet,Java中,有不同的方法。
在java类中:
获取当前的classpath的绝对URI路径this.getClass().getClassLoader().getResource(“/”).getPath()
this.getClass().getClassLoader().getResource(“”).getPath()
获取当前类的加载目录,如果有“/”,获取当前类的所在工程路径
this.getClass().getResource(“”).getPath()
this.getClass().getResource(“/”).getPath()
项目的绝对路径
this.getClass().getClassLoader().getResource(“.”).getPath();
另一种获取当前的classpath的绝对uri路径的方法
Thread.currentThread().getContextClassLoader().getResource(“/”).getPath()
Thread.currentThread().getContextClassLoader().getResource(“”).getPath()
项目的绝对路径
Thread.currentThread().getContextClassLoader().getResource(“.”).getPath()
获取项目的路径
directory.getCanonicalPath()
获取文件的路径
ActionForm.getMyFile()
获取系统的路径
System.getProperty(“”)
注意:如果一个类是通过bootstrap 载入的,那我们通过这个类去获得classloader的话,有些jdk的实现是会返回一个null的。
比如说我用new Object().getClass().getClassLoader()的话,会返回一个null,这样的话上面的代码就会出现NullPointer异常.所以保险起见我们最好还是使用我们自己写的类来获取classloader(”this.getClass().getClassLoader()“),这样一来就不会有问题。
在jsp中:
获取包含工程名的当前页面全路径request.getRequestURI()
获取站点的虚拟路径
request.getContextPath()
获取当前页面所在目录下全名称
request.getServletPath()
获取页面所在服务器的全路径
application.getRealPath(“页面.jsp”)
得到页面所在服务器的绝对路径
java.io.File(application.getRealPath(request.getRequestURI())).getParent();
在servlet中:
得到工程目录(参数具体到包名)request.getSession().getServletContext().getRealPath(“”)
得到IE地址栏地址
request.getRequestURL()
得到相对地址
request.getRequestURI()
获取站点的绝对路径
request.getServletContext().getRealPath(“/”)
request.getRealPath(“/”)
注意:在Web应用程序中,我们一般通过ServletContext.getRealPath(”/”)方法得到Web应用程序的根目录的绝对路径。还有request.getContextPath(); 在Weblogic中要用request.getServletContext().getContextPath();但如果打包成war部署到Weblogic服务器,项目内部并没有文件结构的概念,用这种方式是始终得到null,获取不到路径,目前还没有找到具体的解决方案。
相关问题
绝对路径和相对路径
绝对路径:主页上的文件或目录在硬盘上真正的路径,URL和物理路径。相对路径:相对与某个基 准目录的路径。包含Web的相对路径(HTML中的相对目录)。 服务器端的地址服务器端的相对地址指的是相对于web应用的地址,这个地址是在服务器端解析的(不同于html和javascript中的相对 地址,他们是由客户端浏览器解析的)。
注意:一般在编程中,一般都操作读取文件的相对路径,因为绝对路径虽然是比较好处理的,但是不灵活,所以我们在编程中对文件进行操作的时候,一般都是读取文件的相对路径,
类加载器
一般类加载器有系统的和用户自己定义的;系统的ClassLoader就是jdk提供的,他的路径就是jdk下的路径,或者在 jsp编程,比如Tomcat ,取得的类加载器的位置就是tomcat自己设计的加载器的路径,版权所有,未经授权不得转载。
相关文章推荐
- java 工程获取路径 web根目录。 项目classpath根目录 各种实用方法 摘抄收藏
- JavaWeb项目里面的路径获取方法总结
- 获取JAVA[WEB]项目相关路径的几种方法
- java 工程获取路径 web根目录。 项目classpath根目录 各种实用方法
- Java web 中几个常用的获取项目路径的方法
- 获取JAVA[WEB]项目相关路径的几种方法
- 获取JAVA[WEB]项目相关路径的几种方法
- 转:获取JAVA[WEB]项目相关路径的几种方法
- 获取JAVA[WEB]项目相关路径的几种方法
- java 工程获取路径 web根目录。 项目classpath根目录 各种实用方法
- 获取JAVA[WEB]项目相关路径的几种方法
- java后台获取web项目全路径的方法
- 获取JAVA[WEB]项目相关路径的几种方法
- java 工程获取路径 web根目录。 项目classpath根目录 各种实用方法 摘抄收藏
- [转]获取JAVA[WEB]项目相关路径的几种方法
- JavaWeb项目获取路径各种方法。
- java 工程获取路径 web根目录。 项目classpath根目录 各种实用方法
- java 工程获取路径 web根目录。 项目classpath根目录 各种实用方法
- 获取JAVA[WEB]项目相关路径的几种方法(转载)
- java 工程获取路径 web根目录。 项目classpath根目录 各种实用方法 摘抄收藏