java路徑問題

2021-08-11 11:59:23 字數 1861 閱讀 2768

equest.getrealpath() 這個方法已經不推薦使用了,代替方法是:

request.getsession().getservletcontext().getrealpath()

從request物件中可以獲取各種路徑資訊,以下例子:  

假設請求的頁面是index.jsp,專案是webdemo,則在index.jsp中獲取有關request物件的各種路徑資訊如下

string path = request.getcontextpath();

string basepath = request.getscheme()+"://"+request.getservername()+":"+request.getserverport()+path+"/";

string remoteaddress=request.getremoteaddr();

string servletpath=request.getservletpath();

string realpath=request.getrealpath("/");

string remoteuser=request.getremoteuser();

string requesturi=request.getrequesturi();

out.println("path:"+path+"

");

out.println("basepath:"+basepath+"

");

out.println("remoteaddr:"+remoteaddress+"

");

out.println("servletpath:"+servletpath+"

");

out.println("realpath:"+realpath+"

");

out.println("remoteuser:"+remoteuser+"

");

out.println("requesturi:"+requesturi+"

");

結果:

從上不難看出request各個對應方法所代表的含義

request.getscheme();

返回的協議名稱,預設是http

request.getservername()

返回的是你瀏覽器中顯示的主機名,你自己試一下就知道了

getserverport()

獲取伺服器端口號

例如:dwr為工程名

getpathinfo() 返回的仍然是:

"/joejoe1991/a.html" ,而並不包括後面的"?name=test";

在servlet裡用this.getservletcontect().getrealpath()

在struts裡用this.getservlet().getservletcontext().getrealpath()

在action裡用servletactioncontext.getrequest().getrealpath();

以上三個獲得都是當前執行檔案在伺服器上的絕對路徑

java路徑問題

action內獲取當前絕對路徑 1 利用system.getproperty 函式獲取當前路徑 system.out.println system.getproperty user.dir user.dir指定了當前的路徑 2 使用file提供的函式獲取當前路徑 file directory new...

java中ImageIcon路徑問題

執行結果是icon無法顯示 類中有如下呼叫 很自然地認為當前類檔案和在同一路徑下即可。其實所謂的相對路徑起點是工程的根目錄,即project。這行 執行時在project目錄下查詢名為a.gif的檔案,結果當然是找不到。要得到工程的相對路徑可通過system.getproperty user.dir...

java載入檔案路徑問題

public static void main string args throws ioexception 1 注意 載入getclassloader 是否有的時候 沒有的話後面就要加上 text emgi.properties emgi.properties 2 載入 config 資料夾下的檔...