Java getResourceAsStream上下文已初始化

Java getResourceAsStream上下文已初始化,java,tomcat,servlets,servletcontextlistener,Java,Tomcat,Servlets,Servletcontextlistener,我正在用Java编写一个web应用程序,使用Tomcat作为servlet容器。 我编写了一个实现ServletContextListener的AppLoader类来捕获事件contextInitialized并执行一些初始化操作。 这没有问题,但是当我需要使用getResourceAsStream方法读取资源(txt文件)的内容时,它会失败并返回null。 我注意到在Servlet服务中运行的相同操作(因此,在web应用程序init事件之后)工作正常并返回文件内容 在应用程序加载之前,我似乎无

我正在用Java编写一个web应用程序,使用Tomcat作为servlet容器。 我编写了一个实现ServletContextListener的AppLoader类来捕获事件contextInitialized并执行一些初始化操作。 这没有问题,但是当我需要使用getResourceAsStream方法读取资源(txt文件)的内容时,它会失败并返回null。 我注意到在Servlet服务中运行的相同操作(因此,在web应用程序init事件之后)工作正常并返回文件内容

在应用程序加载之前,我似乎无法访问内部资源

我怎样才能解决这个问题?web应用程序是否存在要捕获的“就绪”事件


感谢您的建议

您也可以通过在Statup上自动加载一个servlet,并在servlet的init中调用getResourceAsStream()方法来实现

<servlet>
   <servlet-name>StartupServlet</servlet-name>
   <display-name>StartupServlet</display-name>
   <servlet-class>com.myApp.StartupServlet</servlet-class>
   <load-on-startup>0</load-on-startup>
 </servlet> 

这是我的出发点:我的init代码最初位于loadonstartup Servlet的init方法中。然后我将其移动到contextInitialized方法中(实现ServletContextListener),但没有任何更改。对不起!我发现了错误。。。我的一只虫子!我使用尚未设置的变量读取资源流的内容;getResourceAsStream正确返回InputStream。因此,与ServletContextListener或loadOnStartup Servlet无关。再次为不必要的帖子道歉。下一次,我将在发布前多花一天时间进行调试!:-)
public class StartupServlet extends HttpServlet{
@override
public void init()
{
       // do you operation here.
}

@override
public void doPost(HttpServletRequest req,HttpServletResponse res)
}