java获取路径

  1. request.getRealPath("/");//不推荐使用获取工程的根路径 。
  2. request.getRealPath(request.getRequestURI());//获取jsp的路径,这个方法比较好用,可以直接在servlet和jsp中使用 。
  3. request.getSession().getServletContext().getRealPath("/");//获取工程的根路径,这个方法比较好用,可以直接在servlet和jsp中使用 。
  4. this.getClass().getClassLoader().getResource("").getPath();//获取工程classes 下的路径,这个方法可以在任意jsp,servlet,java文件中使用。因为不管是jsp,servlet其实都是java程序,都是一个 class。所以它应该是一个通用的方法。

用法讲解:

  • 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

  • 获得系统路径

在Application中:
System.getProperty("user.dir")

在Servlet中:
ServletContext servletContext = config.getServletContext();
String rootPath = servletContext.getRealPath("/");

在jsp中:
application.getRealPath("")

  • 其他

          1) 可以在servlet的init方法里 String path = getServletContext().getRealPath("/");

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

          3)request.getContextPath();获得web根的上下文环境

 

你可能感兴趣的:(java)