Java Tomcat保持webapp api运行

Java Tomcat保持webapp api运行,java,tomcat,servlets,tomcat7,Java,Tomcat,Servlets,Tomcat7,我正试图为Tomcat7创建一个web应用程序,但我的问题是我想保持应用程序的整个主干运行,以便我的servlet能够调用这些函数。例如,我有一个com.example.Main类,它包含用户管理器之类的所有实例。但不是在每次servlet调用时重新定义主实例,而是为所有servlet定义一次 致以最良好的祝愿, -据我所知,你想要一个单身汉。检查 但请注意。一种更为webapp的方法是不将其作为单例,而是在ContextLoaderListener中初始化一次,然后将其作为ServletCon

我正试图为Tomcat7创建一个web应用程序,但我的问题是我想保持应用程序的整个主干运行,以便我的servlet能够调用这些函数。例如,我有一个com.example.Main类,它包含用户管理器之类的所有实例。但不是在每次servlet调用时重新定义主实例,而是为所有servlet定义一次

致以最良好的祝愿,
-据我所知,你想要一个单身汉。检查


但请注意。一种更为webapp的方法是不将其作为单例,而是在
ContextLoaderListener
中初始化一次,然后将其作为
ServletContext
属性。然后,每个servlet都可以通过从servlet上下文获得它。

我同意Bozho的观点-你似乎在谈论一个单身汉,我同意他对使用它们的保留意见


如果您将它实现为一个单例,或者使用Bozho建议的解决方案,那么您必须了解,该类只有一个实例,可能同时被多个servlet使用。因此,您有责任确保该类是线程安全的,否则您的应用程序将产生不可靠的结果。

因此,您有一个类定义了大量的方法,您希望从多个servlet访问它,但您不想这样做
Main=new Main()
在每个servlet中?是的,由于定义所述main并初始化它需要很多时间,我应该如何执行ContextLoaderListener/ServletContext而不是Singleton?你说的“如何”是什么意思?:)用@weblistener声明它我不知道javaee是如何工作的。我刚开始做。