gpt4 book ai didi

java - Maven 或 Tomcat 覆盖我的 Java 类属性

转载 作者:行者123 更新时间:2023-11-28 23:57:14 24 4
gpt4 key购买 nike

所以我有一个带有一些属性的“Server”类,其中之一是“joinSession”,它是一个 boolean 值,默认情况下为 false。

我有一个 setter 和 getter,它工作得很好。但是我的问题是,当超过 1 个人连接到我的应用程序时(这有时会导致 setter 函数将“joinSession”变为 true),他们同样共享 joinSession 的值...所以如果 client2 将其更改为 true,则 client1谁应该仍然具有默认的 false 值,实际上也变成了 true...

如果这没有意义并且您需要查看代码,请告诉我。谢谢

代码:(由于保密协议(protocol),许多无贡献的代码已被删除)

public class TunnelServlet {

Server server = new Server("MY_PATH", "MY_JWT");
if (request.getParameter("joinSession").equals("true") {
server.setJoinSession(true);
}

System.out.println(server.getJoinSession);
}

还有我的服务器类

public class Server {
private static String path;
private static String JWToken;
private static boolean joinSession;

Server( String domain, String token ) {
path = "http://" + domain + ":8000/" ;
JWToken = token;
}

public void setJoinSession(boolean isJoinSession) {
joinSession = isJoinSession;
}

public boolean getJoinSession() {
return joinSession;
}
}

最佳答案

我认为你的 joinSession 是一个静态字段,所以它属于你的服务器类,每个人都在改变它。你不应该这样做,因为静态字段属于类而不是对象。如果每个人都需要此字段,则不应将其设为静态。这将解决您的问题。

关于java - Maven 或 Tomcat 覆盖我的 Java 类属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47605059/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com