我正在尝试为tomcat 7创建一个Web应用程序,但我的问题是我想保持应用程序的整个主干运行,以便我的servlet可以调用这些函数。防爆。我有我的com.example.Main类,它将所有实例都包含在用户管理器之类的东西中。但是,不是在每个servlet调用上重新定义主实例,而是为所有servlet定义一次。
最诚挚的问候, - 罗伊
答案 0 :(得分:1)
据我了解,你想要一个单身人士。检查this answer for implementation。
但请注意singletons are "evil"。更多的webapp方法是不将它作为单例,而是在ContextLoaderListener
中初始化一次,然后将其作为ServletContext
属性。然后,每个servlet都可以通过从servlet上下文获取它来获取它。
答案 1 :(得分:0)
我同意Bozho的看法 - 你似乎在谈论一个Singleton,我同意他们对使用它们的保留意见。
如果您 将其实现为单身,或使用Bozho建议的解决方案,那么您必须了解该类只有一个实例,可能会被使用许多servlet在同一时间。因此,确保该类是线程安全的,或者您的应用程序将产生不可靠的结果是您的责任。