2011-11-05 69 views
5

我試圖讀取一個文件,我的「RemoteServiceServlet」但事情是GWT - RPC - 獲得servlet的絕對路徑,使DIR

  • 我想創建哪個路徑與Servlet像
  • 相關的一個目錄

absolute_servlet_path/mypackage中/

但問題是...

代碼像

ServletContext servletContext = this.getServletContext(); 
String pathContext = servletContext.getRealPath(""); 

...給不「C:/ ...」「/」只有這樣的代碼不能與java.io.File的對象使用。

所以我的問題是如何使用java.io.File與RemoteServiceServlet?

回答

3

OK ......我只好繼續挖掘...

不過我一直在尋找servlet的相對路徑,但絕對的的一種方式;現在又把我試圖使用上下文,但這次我修改了代碼,在這個方向......

ServletContext servletContext = this.getServletContext(); 
String pathContext = servletContext.getRealPath("/WEB-INF/"); 

...和它的工作對我的Tomcat :)

我希望這樣可以節省一個人的一天

謝謝

+0

我希望你明白,這個目錄是WAR文件的部署位置。當你重新部署你的應用程序時,你放入的任何東西都將被刪除。 – Strelok

+0

當然:)我只需要它僅用於我的網絡應用臨時文件。我沒有使用user.home等,但有一個相關的路徑。所以它可以,但我:) – user592704

+2

有點不合常規。也許你想看看更多的標準方法來創建臨時文件,這裏討論http://stackoverflow.com/questions/617414/create-a-temporary-directory-in-java – Strelok

1

我想你誤解了servlet是如何工作的。 「servlet」只是通過web.xml文件配置的類,用於處理URL中給定路徑上的請求。它現在與文件系統有關。

你爲什麼要創建一個相對於你的servlet的URL的文件夾?你想達到什麼目的?

+0

我只是想獲得與桌面應用程序相同的效果。這是默認路徑,如「。」至於File對象。所以不要使用user.home或其他東西:) – user592704