2011-09-13 66 views
0

我需要知道我應該在Web應用程序中放置文件,以便我可以從servlet中讀取它。我需要在Web應用程序中放置一個文件,以便我可以從servlet中讀取它

到現在爲止,我已經放在一個名爲conf/config.cfg文件夾下面的結構

BankConfig/ 
       WEB-INF/ 
         libs/ 
         classes/ 
       conf/ 
        config.cfg 

,我從一個servlet閱讀它類似如下:

String fileName = "conf/config.cfg"; 
    InputStream is; 
    try { 
     is =// getClass().getResourceAsStream(fileName); 
     new FileInputStream(fileName); 
     prop.load(is); 
       }catch(Exception e){} 

回答

2

如果你想從servlet讀取它,我會使用ServletContext來讀取文件和屬性。

實施例:

String fileName = "/conf/config.cfg"; 
InputStream is = getServletContext().getResourceAsStream(fileName); 
prop.load(is); 

注:fileName開始於/(根從servlet上下文角度)。唯一的一點是,我會放conf/config.cfgWEB-INF文件夾內(因爲它是從視圖中隱藏由Servlet容器,並做到上面一樣,不是我會更改文件名:

String fileName = "/WEB-INF/conf/config.cfg"; 
+0

的javax。 servlet.ServletException:Servlet.init()進行的servlet com.ifkaar.admin.AddPoolController拋出異常 \t 根源 顯示java.lang.NullPointerException \t javax.servlet.GenericServlet.getServletContext(GenericServlet.java:125) \t com.ifkaar.admin.AddPoolController.init(未知來源) \t org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462) \t org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) –

+0

它仍然拋出這個異常 –

+0

@Ali Raza,**其中**是否拋出異常?沒有代碼,你不能指望我解決你的錯誤。我不是心靈感應*(提示:請發佈代碼)*。 –

相關問題