您的位置:

java获取web项目路径(javaweb获取文件路径)

本文目录一览:

如何获取java web项目的工程路径

request.getSession().getServletContext().getRealPath("/");//获取web项目的路径

this.getClass().getResource("/").getPath()//获取类的当前目录

java 怎么获取web根目录

以工程名为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)类的绝对路径:String u=Class.class.getClass().getResource("/").getPath()

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

(2)得到工程的路径:System.getProperty("user.dir")

结果:D:/TEST

3.在Servlet中取得路径:

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

结果:E:/Tomcat/webapps/TEST

(2)得到IE地址栏地址:request.getRequestURL()

结果:

(3)得到相对地址:request.getRequestURI()

结果:/TEST/test

JAVA Web获取路径几种方式

1、获取项目根路径

req.getSession().getServletContext().getRealPath("/");

2、获取类路径

this.getClass().getResource("/").getPath();

怎么在一个java程序里获得当前web应用的路径

在java中获得文件的路径在我们做上传文件操作时是不可避免的。

web 上运行

1:this.getClass().getClassLoader().getResource("/").getPath();

this.getClass().getClassLoader().getResource("").getPath(); 得到的是 ClassPath的绝对URI路径。

如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war/WEB-INF/classes/

System.getProperty("user.dir");

this.getClass().getClassLoader().getResource(".").getPath(); 得到的是 项目的绝对路径。

如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war

2:this.getClass().getResource("/").getPath();

this.getClass().getResource("").getPath(); 得到的是当前类 文件的URI目录。

如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war/WEB-INF/classes/com/jebel/helper/

this.getClass().getResource(".").getPath(); X 不 能运行

3:Thread.currentThread().getContextClassLoader().getResource("/").getPath()

Thread.currentThread().getContextClassLoader().getResource("").getPath() 得到的是 ClassPath的绝对URI路径。

如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war/WEB-INF/classes/

Thread.currentThread().getContextClassLoader().getResource(".").getPath() 得到的是 项目的绝对路径。

如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war

在本地运行中

1:this.getClass().getClassLoader().getResource("").getPath();

this.getClass().getClassLoader().getResource(".").getPath(); 得到的是 ClassPath的绝对URI路径。

如:/D:/myProjects/hp/WebRoot/WEB-INF/classes

this.getClass().getClassLoader().getResource(".").getPath(); X 不 能运行

2:this.getClass().getResource("").getPath();

this.getClass().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/classes

3:Thread.currentThread().getContextClassLoader().getResource(".").getPath()

Thread.currentThread().getContextClassLoader().getResource("").getPath() 得到的是 ClassPath的绝对URI路径。。

如:/D:/myProjects/hp/WebRoot/WEB-INF/classes

Thread.currentThread().getContextClassLoader().getResource("/").getPath() X 不 能运行

最后

在Web应用程序中,我们一般通过ServletContext.getRealPath("/")方法得到Web应用程序的根目录的绝对路径。

还有request.getContextPath(); 在Weblogic中要用request.getServletContext().getContextPath();但如果打包成war部署到Weblogic服务器,项目内部并没有文件结构的概念,用这种方式是始终得到null,获取不到路径,目前还没有找到具体的解决方案。