-1

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

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

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

谢谢你的任何建议

4

1 回答 1

0

你也可以通过在 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> 

在 Servlet 中

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

@override
public void doPost(HttpServletRequest req,HttpServletResponse res)
}
于 2013-09-05T08:14:21.917 回答