Java中相对路径,绝对路径问题总结(2)
3. JSP/Servlet中获得当前应用的相对路径和绝对路径
3.1 JSP中获得当前应用的相对路径和绝对路径 根目录所对应的绝对路径:request.getRequestURI() 文件的绝对路径 :application.getRealPath(request.getRequestURI());
当前web应用的绝对路径 :application.getRealPath("/");
取得请求文件的上层目录:new File(application.getRealPath(request.getRequestURI())).getParent()
3.2 Servlet中获得当前应用的相对路径和绝对路径 根目录所对应的绝对路径:request.getServletPath();
文件的绝对路径 :request.getSession().getServletContext().getRealPath (request.getRequestURI())
当前web应用的绝对路径 :servletConfig.getServletContext().getRealPath("/");
(ServletContext对象获得几种方式:
java学习x.servlet.http.HttpSession.getServletContext()
java学习x.servlet.jsp.PageContext.getServletContext()
java学习x.servlet.ServletConfig.getServletContext() )
4.java学习 的Class中获得相对路径,绝对路径的方法
4.1单独的Java类中获得绝对路径
根据java学习.io.File的Doc文挡,可知: 默认情况下new File("/")代表的目录为:
System.getProperty("user.dir")。 一下程序获得执行类的当前路径
package org.cheng.file;
import java学习.io.File;
public class FileTest {
public static void main(String[] args) throws Exception
{ System.out.println(Thread.currentThread().getContextClassLoader()
.getResource("")); System.out.println(FileTest.class.getClassLoader()
.getResource(""));
System.out.println(ClassLoader.getSystemResource(""));
System.out.println(FileTest.class.getResource(""));
System.out.println(FileTest.class.getResource("/"));
//Class文件所在路径
System.out.println(new File("/").getAbsolutePath());
System.out.println(System.getProp
相关新闻>>
- 发表评论
-
- 最新评论 更多>>