我在 Web 应用程序中有一个普通的 java 类,并且想要读取下面的配置文件WEB-INF
文件夹。我知道访问该文件的方法(如果它位于类路径中)(WEB-INF/classes
文件夹)。自从WEB-INF/classes
文件夹的目的是.class
文件,我想将我的配置文件保存在WEB-INF
仅文件夹。
谁能告诉我如何从我的 java 类访问它?
ServletContext.getResourceAsStream() http://docs.oracle.com/javaee/6/api/javax/servlet/ServletContext.html#getResourceAsStream%28java.lang.String%29将从相对于 WAR 文件根目录的给定路径加载文件。就像是:
ServletContext ctx;
InputStream configStream = ctx.getResourceAsStream("/WEB-INF/config.properties");
这里的主要问题是您需要访问 servlet 上下文才能执行此操作。您可以在 servlet 或过滤器中使用它,但不能在应用程序后面的非 Web 组件中使用它。您有几个选择:
- 通过应用程序范围的变量、注入或其他方式,使 servlet 上下文从 Web 层到服务层可用
- 将资源加载代码放在web层,暴露给service层
- 在web层加载配置,并传递到service层
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)