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 資料夾下的檔...