运行代码发布容器加载 - 资源加载

时间:2012-10-01 15:56:08

标签: java jersey jax-rs

我正在尝试将以下行为添加到我的球衣服务中:

  • 从WEB-INF文件夹中加载/解析一些文件
  • 将其存储在单个存储区中,以便在应用程序生命周期内快速访问。

现在我工作的解决方案是:

  • 获取资源请求的ServletContext
  • 对于需要访问文件的每个请求,请调用此方法getSomething(criteria,servletContext)

我必须传递servletContext,以便我可以使用方法getRessourceAsStream()来加载ressource,否则,我无法获得正确的路径。这是我的主要痛点。

我希望能够在服务器准备好应用程序服务器后让服务器自动执行此操作,但我无法找到可以完成此操作的位置。这将消除我总是传递servletContext的需要,并允许我在我的一些自定义反序列化器中使用该单例,并使得使用该单例清理器的代码。

1 个答案:

答案 0 :(得分:1)

每当您发现自己想在Servlet应用程序中启动某些工作时,请使用ServletContextListener,特别是contextInitialized(ServletContextEvent)方法。