我创建了一个Java项目名称A,其中有一个带有一些静态字段的类X。此类实现单例模式。
然后,我创建了一个简单的Web项目W1,在其中创建了一个Servlet S1。该Servlet初始化(项目A的)类X的静态字段。
然后,我创建了另一个Web项目W2和Servlet S2。现在,我试图访问Singleton类的对象,该对象由S1(W1)创建和初始化。但是我没有得到S1分配的静态字段的值。
我在Same Server中部署了所有3个项目。
有什么方法获取值吗?
最佳答案
通常,不同的Web应用程序在应用程序服务器上的不同类加载器中运行(由于类加载器隔离),因此实际上您正在使用3个不同的类(每个类均由不同的类加载器加载)-而不仅仅是一个。
关于java - 无法获取值静态字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21169958/