如何在java类中访问WEB-INF文件夹下的文件

2024-04-05

我在 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(使用前将#替换为@)

如何在java类中访问WEB-INF文件夹下的文件 的相关文章

随机推荐

  • 无权在 mongodb 上查询 admin.system.namespaces

    我启动一个新的 mongo 实例 创建一个用户 对其进行授权 但是当我运行 show collections 时 系统说该 id 未授权 我不知道为什么 mongo admin MongoDB shell version 2 4 3 con
  • 将 Autofac 添加到 WPF MVVM 应用程序

    我似乎无法找到解决这个问题的方法 我已经看到了几个与此相关的问题 但没有一个真正给我解决方案 我对 Autofac 完全陌生 并没有真正做过太多 WPF MVVM 但了解基础知识 我有一个 WPF 应用程序 使用 ModernUI for
  • ASP.NET Core MVC 相当于启动操作特定页面

    In ASP NET Webforms or ASP NET MVC项目中 我可以在按F5进行调试时选择浏览器中正在调用的页面 路由 如下图所示 相当于什么ASP NET Core MVC 我在用着IIS Express with SSL用
  • 错误:如果没有列“date_time”(在分区中使用),则无法创建唯一索引

    我刚开始使用时间刻度数据库 https www timescale com 与 postgresql 我有一个名为storage db其中包含一个名为day ahead prices 安装 timescaledb 后 我正在关注从同一个 p
  • angularjs从json文件中获取ng-repeat数据非常慢

    我有一个 json 文件 其中包含大约 8000 个联系人 使用 ng repeat 使用 angularjs 获取所有数据需要很长时间 有解决办法吗 检索如此大的记录时 您不能期望有很高的速度 您可以使用以下方法优化 ng repeat
  • 我的线程可以帮助操作系统决定何时将其上下文切换吗?

    我正在 Linux 上用 C 开发一个线程应用程序 它试图实现实时 根据心跳执行操作 或者尽可能接近实时 在实践中 我发现操作系统正在交换我的线程 并导致切换时延迟长达十分之一秒 从而导致心跳不规则 有没有一种方法可以让我的线程向操作系统暗
  • 在 Visual Studio Code 中调试 C++ 时如何读取输入?

    我在用着VSCode用于调试我的CPP程序在MacOSX 我有2个程序 Program1 int main string a a a a b cout lt
  • 如何:仅 100% 高度表滚动 tbody

    是否可以使用 CSS 滚动 100 高度表格的内容而不是标题 并且仅将滚动条显示到 tbody 内容的一侧而不是标题行 谢谢 我希望现在还不算太晚 你还活着 从那时起事情已经有了很大的改善 您可以使用 table display inlin
  • 如何在仅标头库中拥有静态数据成员? [复制]

    这个问题在这里已经有答案了 在非模板化库类中拥有静态成员的最佳方法是什么 而不将定义成员的负担强加给类用户 假设我想提供这个课程 class i want a static member static expensive resource
  • js中的parcel和全局变量

    我有一个简单的 HTML 文件 其中包含一些简单的 javascript 文件 没有框架 没有模块 有一个主 JS 文件和其他 JS 文件中的辅助函数 当我将其作为静态站点打开时 一切正常 一个文件中的 JS 代码能够调用另一文件中定义的函
  • MongoDB从子文档中删除子文档

    我使用 MongoDB 的 10gen C 驱动程序 我想从子文档中删除子文档 我不知道该怎么做 这是我的文档的示例 id binary stuff Name MyApplication Settings id binary stuff K
  • 带有子元素的 Solr 文档?

    是否可以以某种方式创建包含子元素的 solr 文档 例如 我将如何表示这样的事情
  • Rails 3 与成员的路由错误

    我在 Rails 3 中有以下路线 resources jobs do member do post seller job submitted end end 以及下面的表格 form for job url gt seller job s
  • 如何从InputStream转换为AudioInputStream

    是否可以从 InputStream 转换为 AudioInputStream 我想在某些事件中播放小声音文件 所以我做了以下 SoundThread import java io import javax sound sampled pub
  • Git-Tf 移动大型 Tfs 项目的部分内容

    我和我的团队有一个大型 TFS 项目 其中包含许多 Visual Studio 解决方案和许多项目 我们正在将该项目拆分为更小的逻辑部分 并将这些部分移动到单独的 git 存储库中 我已经开始查看 git tf 以便我们可以保留文件的历史记
  • 查询RealmList中封装的嵌套Realm对象到RealmResults中

    我有以下 RealmObject public class City extends RealmObject private String cityId private RealmList
  • C# - 如何在按下按键时停止循环? [复制]

    这个问题在这里已经有答案了 目前我正在使用这段代码 using System namespace Project class MainClass public static void Main string args bool key fa
  • 在 Excel 中打开并编辑 *.gsheet 文件

    我已将 Google Drive 应用程序下载到我的 Windows 7 Ultimate 计算机上 现在 当我转到该文件夹 并查看我的电子表格时 它采用某种名为 gsheet 的奇怪格式 现在这个文件没有被Excel打开 好像我需要提一下
  • VS Code + rust-analyzer 可以在代码中插入嵌入提示吗?

    我用 Rust 写作 但其他语言可能也是如此 当我输入例如let x 5 vscode显示let x i32 5 其中 i32部分是镶嵌提示 有什么办法让 vscode 将该提示插入到实际代码中吗 是的 如果你击中Ctrl 然后使用箭头键选
  • 如何在java类中访问WEB-INF文件夹下的文件

    我在 Web 应用程序中有一个普通的 java 类 并且想要读取下面的配置文件WEB INF文件夹 我知道访问该文件的方法 如果它位于类路径中 WEB INF classes文件夹 自从WEB INF classes文件夹的目的是 clas