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

时间:2015-03-27 07:14:05

标签: java variables servlets static-methods static-members

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

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

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

并定义静态变量cur_stgnxt_stg。用于servlet。叫这个方法。

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

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

2 个答案:

答案 0 :(得分:0)

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

此外:您似乎是Java语言的初学者。但是创建servlet肯定是一个“高级”的java主题。我真的建议你开始学习更多关于Java的知识,作为处理servlet的准备。否则,服务器的用户可能会有许多不愉快的经历...

答案 1 :(得分:0)

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