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