getResourceAsStream contextInitialized

时间:2013-09-05 07:30:24

标签: java tomcat servlets servletcontextlistener

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

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

我该如何解决?是否有“准备好”事件来捕获Web应用程序?

感谢您提出任何建议

1 个答案:

答案 0 :(得分:0)

你也可以通过自动加载带有加载的servlet,并在init的servlet中调用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> 

在Servlet中

public class StartupServlet extends HttpServlet{
@override
public void init()
{
       // do you operation here.
}

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