jsp中擷取絕對路徑和相對路徑方法

來源:互聯網
上載者:User

//在Servlet與JSP中取得當前檔案所在的相對路徑與絕對路徑
 
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("/");

 

 代碼如下 複製代碼

out.println("根目錄所對應的絕對路徑:" + request.getRequestURI() + "<br/>");
 
 String strPathFile = application.getRealPath(request.getRequestURI());
  out.println("檔案的絕對路徑:" + strPathFile+ "<br/>");
out.println(application.getRealPath(request.getRequestURI()));
  String strDirPath = new File(application.getRealPath(request.getRequestURI())).getParent();
  out.println("目錄的絕對路徑:" + strDirPath + "<br/>");


 

程式

 代碼如下 複製代碼

String classPath = this.getClass().getClassLoader().getResource("/").getPath();
  
  try {
   classPath =URLDecoder.decode(classPath, "gb2312");
  } catch (UnsupportedEncodingException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
}


 

例子

 代碼如下 複製代碼

<body>
當前WEB應用的實體路徑:<%=application.getRealPath("/")%><BR>
當前你求請的JSP檔案的實體路徑:<%=application.getRealPath(request.getRequestURI())%><BR>
<%
   String path=application.getRealPath(request.getRequestURI());
   String dir=new File(path).getParent();
   out.println("當前JSP檔案所在目錄的實體路徑"+dir+"</br>");
   String realPath1 = "http://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath()+request.getServletPath().substring(0,request.getServletPath().lastIndexOf("/")+1);
   out.println("web URL 路徑:"+realPath1);
%>
</body>

servlet中獲得項目絕對路徑
String filePath=this.getServletConfig().getServletContext().getRealPath("/");

根目錄所對應的絕對路徑:request.getServletPath();

檔案的絕對路徑 :request.getSession().getServletContext().getRealPath(request.getRequestURI())

當前web應用的絕對路徑 :servletConfig.getServletContext().getRealPath("/");

ServletContext對象獲得幾種方式:

 代碼如下 複製代碼

Javax.servlet.http.HttpSession.getServletContext()

Javax.servlet.jsp.PageContext.getServletContext()

Javax.servlet.ServletConfig.getServletContext()

檔案的絕對路徑 :request.getSession().getServletContext().getRealPath(request.getRequestURI())

當前web應用的絕對路徑 :servletConfig.getServletContext().getRealPath("/");

//JSP中的application對象就是Servlet中的ServerContext,所以在Servlet中是如此獲得
//import java.io.File;

System.out.println("根目錄所對應的絕對路徑:" + request.getServletPath() + "<br/>");

String strPathFile = request.getSession().getServletContext().getRealPath(request.getRequestURI());
System.out.println("檔案的絕對路徑:" + strPathFile + "<br/>");

String strDirPath = new File(request.getSession().getServletContext().getRealPath(request.getRequestURI())).getParent();
System.out.println("目錄的絕對路徑:" + strDirPath + "<br/>");

檔案名稱不能包括以下字元:/:*?"<>|

擷取Web項目的全路徑
String strDirPath = getServletContext().getRealPath("/");

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.