程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> java 獲得途徑的各類辦法(總結)

java 獲得途徑的各類辦法(總結)

編輯:關於JAVA

java 獲得途徑的各類辦法(總結)。本站提示廣大學習愛好者:(java 獲得途徑的各類辦法(總結))文章只能為提供參考,不一定能成為您想要的結果。以下是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。所以它應當是一個通用的辦法。

0、關於相對途徑和絕對途徑

1、根本概念的懂得相對途徑:相對途徑就是你的主頁上的文件或目次在硬盤上真實的途徑,(URL和物理途徑)例 如:C:xyz est.txt 代表了test.txt文件的相對途徑。http://www.sun.com/index.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(); // 經由測試,這類辦法是平安的,最有用的

this.getClass().getResource("/conf").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

5、其他2

java獲得途徑幾種門路- -

1. jdk若何斷定法式中的途徑呢?普通在編程中,文件途徑分為絕對途徑和相對途徑,相對途徑是比擬利益理的,然則不靈巧,是以我們在編程中對文件停止操作的時刻,普通都是讀取文件的絕對途徑,

絕對途徑能夠會龐雜一點,然則也是比擬簡略的,絕對的途徑,重要是絕對於誰,可所以類加載器的途徑,或許是以後 java文件下的途徑,在jsp編程中能夠是絕對於站點的途徑,絕對於站點的途徑,我們可以經由過程 getServletContext().getRealPath("\") 和request.getRealPath("\"):這個是獲得站點的相對途徑; 而getContextPath():獲得站點的虛擬途徑;

2. class.getClassLoader.getPath():獲得類加載器的途徑:甚麼是類加載器呢? 普通類加載器有體系的和用戶本身界說的;體系的ClassLoader就是jdk供給的,他的途徑就是jdk下的途徑,或許在 jsp編程,好比Tomcat ,獲得的類加載器的地位就是tomaca本身設計的加載器的途徑,

明確了這些以後,關於文件途徑的操作就會相當的清晰,我們在編程的時刻,只需想清晰我們所操作的文件是絕對於甚麼途徑下的,獲得絕對途徑便可以了.

6、總結

1、獲得web辦事器下的文件途徑

request.getRealPath("/")
application.getRealPath("")【jsp中 】
ServletContext().getRealPath("")

System.getProperty("user.dir")【分歧地位挪用,獲得的途徑是靜態變更的】

2、獲得當地途徑

jsp中,<html:file property="myFile"/>

request.getParameter("myFile");
ActionForm.getMyFile();

獲得的值雷同:如D:\VSS裝置目次\users.txt

*********************************

this.getClass().getClassLoader().getResource("").getPath();
==/D:/workspace/strutsTest/WebRoot/WEB-INF/classes/
this.getClass().getResource("").getPath().toString();
==/D:/workspace/strutsTest/WebRoot/WEB-INF/classes/bl/

3、獲得絕對途徑

request.getContextPath();

別的:

在Java文件中getResource或getResourceAsStream都可

例:getClass().getResourceAsStream(filePath);//filePath可所以" /filename",這裡的/代表web宣布根途徑下WEB-INF/classes默許應用該辦法的途徑是:WEB-INF/classes.曾經在 Tomcat中測試。

以上這篇java 獲得途徑的各類辦法(總結)就是小編分享給年夜家的全體內容了,願望能給年夜家一個參考,也願望年夜家多多支撐。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved