java取得web工程目錄_第1頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、java取得web工程目錄1.可以在servlet的init辦法里sing path = getservletcontt().getrealpath("/");這將獵取web項(xiàng)目的全路徑例如 :e:eclipsem9workspacetree是我web項(xiàng)目的根名目2.你也可以隨時(shí)在隨意的class里調(diào)用this.getclass().getclassloader().getresource("/").getpath();這將獵取 到classes名目的全路徑例如 : e:eclipsem9/workspace/tree/web-inf/classes/這

2、個(gè)辦法也可以不在web環(huán)境里確定路徑,比較好用3.request.getcontextpath();獲得web根的上下文環(huán)境如 /treetree是我的web項(xiàng)目的root context/*jsp 取得當(dāng)前名目的路徑path=request.getrealpath("");/*得到j(luò)bossweb發(fā)布暫時(shí)名目 warurl=./tmp/deploy/tmp14544test-exp.war/path=c:jboss-4.0.5.gaserverdefaulttmpdeploytmp14544test-exp.warstring path = (string)request

3、.getcontextpath();/*得到項(xiàng)目(test)應(yīng)用所在的真切的路徑 path=/test string path = request.getrequesturi();/*得到應(yīng)用所在的真切的路徑 path=/test/admin/admindex.jspstring savepath=request.getrealpath(request.getservletpath();/*得到當(dāng)前文件的磁盤肯定路徑/java 取得當(dāng)前名目的路徑file =new file("."); string path=file.getabsolutepath(); path=fil

4、e.getpath();/*得到j(luò)boss運(yùn)行名目 path=c:jboss-4.0.5.gabin-java相對(duì)路徑/肯定路徑總結(jié)分類:資料欄1.基本概念的理解肯定路徑:肯定路徑就是你的主頁(yè)上的文件或名目在硬盤上真正的路徑,(url和物理路徑)例如:c:xyz est.txt 代表了test.txt文件的肯定路徑。 代表當(dāng)前名目,"./"代表上級(jí)名目。這種類似的表示,也是屬于相對(duì)路徑。另外關(guān)于uri,url,urn等內(nèi)容,請(qǐng)參考rfc相關(guān)文檔標(biāo)準(zhǔn)。rfc 2396: unifo resource identifiers (uri): generic syntax,(htt

5、p://rfc/rfc2396.txt)2.關(guān)于jsp/servlet中的相對(duì)路徑和肯定路徑。2.1服務(wù)器端的地址服務(wù)器端的相對(duì)地址指的是相對(duì)于你的web應(yīng)用的地址,這個(gè)地址是在服務(wù)器端解析的(不同于html和javascript中的相對(duì)地址,他們是由客戶端掃瞄器解析的)也就是說這時(shí)候在jsp和servlet中的相對(duì)地址應(yīng)當(dāng)是相對(duì)于你的web應(yīng)用,即相對(duì)于http: //webapp/的。其用到的地方有:forward:servlet中的request.getrequestdiser(aress);這個(gè)address是在服務(wù)器端解析的,所以,你要f

6、orward到a.jsp應(yīng)當(dāng)這么寫:request.getrequestdispatcher(“/user/a.jsp”)這個(gè)/ 相對(duì)于當(dāng)前的web應(yīng)用webapp,其肯定地址就是:/webapp/user/a.jsp。 sendrirect:在jsp中 %response.sendredirect("/rtc/user/a.jsp");% 2.22、客戶端的地址全部的html頁(yè)面中的相對(duì)地址都是相對(duì)于服務(wù)器根名目(/)的,而不是(跟名目下的該web應(yīng)用的名目) /weba

7、pp/的。 html中的form表單的action屬性的地址應(yīng)當(dāng)是相對(duì)于服務(wù)器根名目(/)的,所以,假如提交到a.jsp 為:action"/webapp/user/a.jsp"或action=" %=request.getcontextpath()% "/user/a.jsp;提交到servlet為actiom"/webapp/handleservlet" javascript也是在客戶端解析的,所以其相對(duì)路徑和form表單一樣。因此,普通狀況下,在jsp/html頁(yè)面等引用的css,javascr

8、ipt.action等屬性前面最好都加上 %=request.getcontextpath()% ,以確保所引用的文件都屬于web應(yīng)用中的名目。另外,應(yīng)當(dāng)盡量避開用法類似".","./","././"等類似的相對(duì)該文件位置的相對(duì)路徑,這樣當(dāng)文件移動(dòng)時(shí),很簡(jiǎn)單出問題。3. jsp/servlet中獲得當(dāng)前應(yīng)用的相對(duì)路徑和肯定路徑3.1 jsp中獲得當(dāng)前應(yīng)用的相對(duì)路徑和肯定路徑根名目所對(duì)應(yīng)的肯定路徑:request.getrequesturi()文件的肯定路徑 :appliion.getrealpath(request.getreques

9、turi();當(dāng)前web應(yīng)用的肯定路徑 :application.getrealpath("/");取得哀求文件的上層名目:new file(application.getrealpath(request.getrequesturi().getparent()3.2 servlet中獲得當(dāng)前應(yīng)用的相對(duì)路徑和肯定路徑根名目所對(duì)應(yīng)的肯定路徑:request.getservletpath();文件的肯定路徑 :request.getsession().getservletcontext().getrealpath(request.getrequesturi()當(dāng)前web應(yīng)用的肯定

10、路徑 :servletconfig.getservletcontext().getrealpath("/");(servletcontext對(duì)象獲得幾種方式:javax.servlet.http.httpsession.getservletcontext()javax.servlet.jsp.pagecontext.getservletcontext()javax.servlet.servletconfig.getservletcontext()4.java 的class中獲得相對(duì)路徑,肯定路徑的辦法4.1單獨(dú)的java類中獲得肯定路徑按照java.io.file的doc文

11、擋,可知:默認(rèn)狀況下new file("/")代表的名目為:system.getproperty("user.dir")。一下程序獲得執(zhí)行類的當(dāng)前路徑package org.cheng.file; import java.io.file; public class filetest . public ic vo main(string args) throws exception . system.out.print(thread.currentthread().getcontextclassloader().getresource("&quo

12、t;); 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.printl

13、n(new file("/").getabsolutepath(); system.out.println(system.getproperty("user.dir"); 4.2服務(wù)器中的java類獲得當(dāng)前路徑(來自網(wǎng)絡(luò))(1).weblogicwebapplication的系統(tǒng)文件根名目是你的weblogic安裝所在根名目。例如:假如你的weblogic安裝在c:beaweblogic700.那么,你的文件根路徑就是c:.所以,有兩種方式能夠讓你拜訪你的服務(wù)器端的文件:a.用法肯定路徑:比如將你的參數(shù)文件放在c:yourconfigyourconf.p

14、roperties,挺直用法 new fileinputstream("yourconfig/perties");b.用法相對(duì)路徑:相對(duì)路徑的根名目就是你的webapplication的根路徑,即web-inf的上一級(jí)名目,將你的參數(shù)文件放在perties,這樣用法:new fileinputstream("./yourconfig/perties");這兩種方式均可,自己挑選。(2).toat在類中輸出system.getproperty(&

15、quot;user.dir");顯示的是%tomcat_home%/bin(3).resin不是你的jsp放的相對(duì)路徑,是jsp引擎執(zhí)行這個(gè)jsp編譯成servlet的路徑為根.比如用新建文件法測(cè)試file f = new file("a.htm");這個(gè)a.htm在resin的安裝名目下(4).如何讀相對(duì)路徑哪?在java文件中g(shù)etresource或getresourceasstream均可例:getclass().getresourceasstream(filepath);/filepath可以是"/filename",這里的/代表web

16、發(fā)布根路徑下web-inf/classes默認(rèn)用法該辦法的路徑是:web-inf/classes。已經(jīng)在tomcat中測(cè)試。5.讀取文件時(shí)的相對(duì)路徑,避開硬編碼和肯定路徑的用法。(來自網(wǎng)絡(luò))5.1 采納spring的di機(jī)制獲得文件,避開硬編碼。參考下面的銜接內(nèi)容: 5.2 配置文件的讀取參考下面的銜接內(nèi)容: 通過虛擬路徑或相對(duì)路徑讀取一個(gè)xml文件,避開硬編碼參考下面的銜接內(nèi)容: tid=10708 ccid=86.java中文件的常用操作(復(fù)制,移動(dòng),刪除,創(chuàng)建等)(來自網(wǎng)絡(luò))常用 java file 操作類 如何創(chuàng)建刪除修改復(fù)制名目及文件 j.uri.等內(nèi)容了解透徹對(duì)其他方面的理解可以越

17、發(fā)深化和透徹。這是在java中去當(dāng)前項(xiàng)目的根名目的辦法java 代碼/* */* * todo 取得當(dāng)前項(xiàng)目的根名目 * author pheh* created on 2006-12-30 17:15:41 */ public class application . /* */* * todo 獵取根名目 * return * author pheh * created on 2007-5-10 15:16:21 */ public static string getrootpath(). /由于類名為"application",因此" application.

18、class"一定能找到 string result = application.class.getresource("application.class").tostring(); int index = result.indexof("web-inf"); if(index = -1). index = result.indexof("bin"); result = result.substring(0,index); if(result.startswith("jar"). / 當(dāng)class文件在jar文件中時(shí),返回"jar:file:/f:/ ."樣

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論