【java 获取路径的方法】

一、关于绝对路径和相对路径

  1.基本概念的理解绝对路径:绝对路径就是番茄花园下载你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:C:xyz est.txt代表了test.txt文件的绝对路径。http://www.s.com/inx.htm也代表了一个URL绝对路径。相对路径:相对于某个基准目录的路径。包含Web的相对路径(HTML中的相对目录),例如:在Servlet中,"/"代表Web应用的跟目录。和物理路径的相对表示。例如:"./" 代表当前目录,"/"代表上级目录。这种类似的表示,也是属于相对路径。另外关于URI,URL,URN等内容,请参考RFC相关文档标准。RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax,(http://www.ietf.org/rfc/rfc2396.txt)2.关于JSP/Servlet中的相对路径和绝对路径。 2.1服务器端的地址服务器端的相对地址指的是相对于你的web应用的地址,这个地址是在服务器端解析的(不同于html和javascript中的相对地址,他们是由客户端浏览器解析的)

  1、request.getRealPath

  方法:request.getRealPath("/")

  得到的路径:C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\strutsTest\

  方法:request.getRealPath(".")

  得到的路径:C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\strutsTest\.

  方法:request.getRealPath("")

  得到的路径:C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\strutsTest

  request.getRealPath("web.xml")

  C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\strutsTest\web.xml

  2、request.getParameter("");

  ActionForm.getMyFile();

  方法:String filepath = request.getParameter("myFile");

  得到的路径:D:\VSS安装目录\users.txt

  方法:String filepath = ActionForm.getMyFile();

  得到的路径:D:\VSS安装目录\users.txt

  --------------------------------------------------

  strutsTest 为工程名

  myFile 在ActionForm中,为private String myFile;

  在jsp页面中:为<html:file property="myFile"></html:file>

  --------------------------------------------------

  3、获得系统路径

  在Application中:

  System.getProperty("user.dir")

  在Servlet中:

  ServletContext servletContext = config.getServletContext();

  String rootPath = servletContext.getRealPath("/");

  在jsp中:

  application.getRealPath("")

  4、其他1

  1.可以在servlet的init方法里

  String path = getServletContext()。getRealPath("/");

  这将获取web项目的全路径

  例如 :E:\eclipseM9\workspace\tree\

  tree是我web项目的根目录

  2.你也可以随时在任意的class里调用

  this.getClass()。getClassLoader()。getResource("")。getPath();

  这将获取到classes目录的全路径

  例如 : /D:/workspace/strutsTest/WebRoot/WEB-INF/classes/

  还有 this.getClass()。getResource("")。getPath()。toString();

  这将获取 到 /D:/workspace/strutsTest/WebRoot/WEB-INF/classes/bl/

  这个方法也可以不在web环境里确定路径,比较好用

  3.request.getContextPath();

  获得web根的上下文环境

  如 /tree

  tree是我的web项目的root context

posted on 2013-09-02 14:37  潇洒kman  阅读(157)  评论(0编辑  收藏  举报