1

似乎在我的 Tapestry 应用程序中,我无法从 WEB-INF 目录或类路径加载 ini 文件或属性文件。

我尝试了几种不同的方法,这些方法应该加载我的文件,但它们都不起作用。

  1. 前任

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

  1. 前任

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

我需要加载属性/ini 文件才能使用基于 Shiro 的 Tapestry-security 模块。

感谢帮助 !

4

4 回答 4

4

尝试ServletContext.getResourceAsStream("/WEB-INF/auth.properties")ServletContext.getResourceAsStream("WEB-INF/auth.properties")

ServletContext 必须从 servlet、servletListener 等中使用。

于 2012-03-12T08:16:24.633 回答
2

类路径的根是要走的路。将您的文件放入src/main/resources/auth.properties然后使用 realm.setResourcePath("classpath:auth.properties");设置您的资源路径

查看ExtendedPropertiesRealm和 Tapestry-security testapp 以获取示例

于 2012-03-12T09:20:13.867 回答
0

尝试

Properties props = new Properties();
props.load(new FileInputStream(new File(req.getServletContext().getRealPath("/WEB-INF/fileName.properties"))));
System.out.println(props);
于 2015-11-15T10:01:36.320 回答
0

我发现最简单的方法是

  • 将文件放在 src/main/resources/config.properties 中。当项目被maven编译成WAR时,这个会放在/WEB-INF/classes/config.properties

  • 使用以下内容从 servlet 读取文件

    InputStreaminputStream = getClass().getClassLoader().getResourceAsStream("config.properties");

https://crunchify.com/java-properties-file-how-to-read-config-properties-values-in-java/

于 2018-02-20T19:33:46.097 回答