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

What is the best variable scope I should use in servlet operation

我正在研究工作流管理系统。

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

public static in get_nxt_stg(int current_stg,int action)
{
}

并定义静态变量cur_stgnxt_stg。在servlet中使用。调用此方法。

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

在 servlet 中使用变量的最佳方式是什么,它仍然特定于该请求?

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

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

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