我有一个客户端服务器应用程序。服务器由 jersey 的 restful 服务组成,部署在 tomcat 7 上。实际上,我需要在客户端访问服务之前创建服务的上下文(读取一些大文件)。是否可以创建我的 webapp 的主类?
最佳答案
JavaEE 中的 Web 应用程序没有桌面应用程序那样意义上的“主类”;当然,执行必须从某处的 main
方法开始,但它将由 Web 容器(在您的情况下为 Tomcat)管理并且超出您的范围。
您可以做的是创建一个 servlet,使用它的 init
方法在应用程序上下文中预加载您需要的数据(假设所有客户端的数据都是相同的,理想情况下,它不会被他们修改)。此外,在 servlet 配置中,您指定 servlet 必须在启动时加载,这样您可以确保数据将在应用程序开始时加载一次,并且所有客户端都可以访问它来自应用上下文。
编辑:
在较新版本的 Servlet 规范 (2.3+) 中,首选方法是使用上下文监听器,请参阅 answer了解详情。
关于java - tomcat web应用程序的主类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8630496/