我正在使用struts 1.3,jsp用於開發應用程序。 我想知道下面的代碼將從服務器返回路徑。通過jsp中的getRealPath()從服務器獲得路徑什麼
path = getServlet().getServletContext().getRealPath("/") +"images\\logos\\"+ formFile.getFileName();
會是怎樣從server.Can的路徑我用這個路徑在網頁上顯示圖像。
我正在使用struts 1.3,jsp用於開發應用程序。 我想知道下面的代碼將從服務器返回路徑。通過jsp中的getRealPath()從服務器獲得路徑什麼
path = getServlet().getServletContext().getRealPath("/") +"images\\logos\\"+ formFile.getFileName();
會是怎樣從server.Can的路徑我用這個路徑在網頁上顯示圖像。
首先:getRealPath已被棄用。 (比較:Interface ServletRequest)。你應該試試這個,而不是(因爲規格2.1):
ServletContext context = session.getServletContext();
String realContextPath = context.getRealPath(request.getContextPath());
早些時候這一點,它是高度依賴於服務器的實現。根據規範,如果應用程序被部署爲存檔模塊(戰爭,耳朵等),則允許它返回null。我認爲這從未發生過例如與WebLogic。它將路徑返回到解壓縮歸檔的臨時目錄。所以,做一個長期的回答簡短:
你的代碼最終會像這樣的東西:
x:\your\path\on\drive\images\logos\somename.ext
這是不可能使用這種爲圖像URL。
OP不使用'ServletRequest#getRealPath()'。 – BalusC 2012-02-01 14:18:21
你測試了嗎? – 2012-02-01 08:42:18