2012-03-12 44 views
1

看來,在我的Tapestry應用程序中,我無法從WEB-INF目錄或類路徑加載ini文件或屬性文件。如何從WEB-INF目錄加載文件/屬性?

我嘗試了幾種不同的方法,它們應該加載我的文件,但它們都不工作。

realm.setResourcePath("/WEB-INF/auth.properties");

realm.setResourcePath("classpath:wip/pages/auth.properties");

我需要加載爲了使用掛毯安全模塊,其性能/ ini文件基於Shiro 。

感謝您的幫助!

回答

2

類路徑的根是要走的路。 把你的文件的src /主/資源/ auth.properties然後設置使用 realm.setResourcePath您resourcePath( 「類路徑:auth.properties」);

檢查ExtendedPropertiesRealm和爲例

+0

偉大的隊友,感謝它像一個魅力工作^^ 仍然我不知道爲什麼它不工作從WEB-INF :( – xyz 2012-03-12 09:54:21

4

嘗試ServletContext.getResourceAsStream("/WEB-INF/auth.properties")ServletContext.getResourceAsStream("WEB-INF/auth.properties")

ServletContext的必須是來自servlet的使用,servletListener等

+0

它不工作:( 我被檢查它: '的InputStream在=的getClass()的getResourceAsStream(「類路徑:WIP /頁/ AUTH。屬性「); System.out.println(in);' 'ServletContext.getResourceAsStream()'也不起作用 – xyz 2012-03-12 08:44:43

+0

我在舊的文章中提到:[如何從Web檔案的WEB-INF目錄加載資源](http://stackoverflow.com/q/1108434/651140) – 2012-03-12 09:08:06

0

掛毯安全testapp嘗試

Properties props = new Properties(); 
props.load(new FileInputStream(new File(req.getServletContext().getRealPath("/WEB-INF/fileName.properties")))); 
System.out.println(props);