Java 我应该在servlet操作中使用的最佳变量范围是什么

Java 我应该在servlet操作中使用的最佳变量范围是什么,java,variables,servlets,static-methods,static-members,Java,Variables,Servlets,Static Methods,Static Members,我正在工作的工作流管理系统 有一个单独的java类,其中包含逻辑方法。其中之一是: public static in get_nxt_stg(int current_stg,int action) { } 并定义静态变量cur_stg和nxt_stg。在servlet中使用。调用此方法 当多个用户登录并执行某些操作时,这些变量得到的值不正确。它似乎在所有用户请求之间共享 在servlet中使用变量的最佳方法是什么?对于该请求,变量是特定的。您不应该以这种方式使用静态变量。如果需要共享状态,请考

我正在工作的工作流管理系统

有一个单独的java类,其中包含逻辑方法。其中之一是:

public static in get_nxt_stg(int current_stg,int action)
{
}
并定义静态变量cur_stg和nxt_stg。在servlet中使用。调用此方法

当多个用户登录并执行某些操作时,这些变量得到的值不正确。它似乎在所有用户请求之间共享


在servlet中使用变量的最佳方法是什么?对于该请求,变量是特定的。

您不应该以这种方式使用静态变量。如果需要共享状态,请考虑使用单模式;但尽量避免静电干扰。不明智地使用静态可能会变成一场噩梦,例如关于单元测试


另外:您似乎是Java语言的初学者。但是创建servlet绝对是一个高级java主题。我真的建议您开始学习更多关于Java的知识,为使用servlet做准备。否则,服务器的用户可能会有许多不愉快的经历…

您所做的是错误的。您应该仅将servlet用于读取请求参数和发送响应。您试图做的事情应该在应用程序的业务层中实现,如果您使用EJB实现了它,那么您的问题可以通过有状态EJB轻松解决

只使用局部变量。它们不会被不同的请求共享。