1

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

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

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

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

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

一旦服务器在应用程序服务器中准备就绪,我希望能够使服务器自动执行此操作,但我无法找到可以在哪里完成此操作。这将消除我始终传递 servletContext 的需要,并允许我在一些自定义反序列化器中使用该单例,并使使用该单例的代码更清晰。

4

1 回答 1

1

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

于 2012-10-01T15:58:28.903 回答