Tomcat Web应用程序的主类

我有一个客户端服务器应用程序。服务器由带有Jersey的RESTful服务组成,部署在Tomcat7上。实际上,在客户端访问服务之前,我需要创建服务的上下文(读取一些大文件)。是否可以创建我的Web应用程序的主类?


解决方案

Java EE中的Web应用程序没有桌面应用程序所具有的相同意义上的"主类";当然,执行必须在某个main方法上开始,但它将由Web容器(在您的情况下是Tomcat)管理,并且超出您的控制范围。

相反,您可以做的是创建一个Servlet,该Servlet使用其init方法在应用程序上下文中预加载所需的数据(假设数据对于所有客户端都是相同的,并且理想情况下不会被它们修改)。此外,在Servlet配置中,您指定必须在启动时加载Servlet,通过这种方式,您可以确保数据在应用程序开始时加载一次,并且所有客户端都能够从应用程序上下文访问它。

编辑:

在较新版本的Servlet规范(2.3+)中,首选方法是使用上下文侦听器,有关详细信息,请参阅answer。

相关文章