我创建了一个Java项目名称A,我有一个带有一些静态字段的类X.这个类实现了单例模式。
然后我创建了简单的Web项目W1,在那里我创建了一个servlet S1。这个servlet正在初始化类X(项目A)的静态字段。
然后我创建了另一个Web项目W2和servlet S2。现在我试图访问由S1(W1)创建和初始化的Singleton类的对象。但是我没有得到由S1分配的静态字段的值。
我在Same Server中部署了所有3个项目。
有没有办法获得价值?
答案 0 :(得分:2)
通常,不同的Web应用程序在应用程序服务器上运行在不同的类加载器中(由于类加载器隔离),因此实际上您使用3个不同的类(每个类由不同的类加载器加载) - 而不仅仅是一个。