Java struts操作中的静态助手类

Java struts操作中的静态助手类,java,struts2,Java,Struts2,我们有一个用struts编写的小项目。 在一个地方,我看到两个action类从静态类调用一个静态助手方法 这是代码的结构 MyAction implements ServletRequestAware{ // this is the SMD method which we are calling from client side buildCode() { Map<String, String> code = StaticHelper.validateAndGetCode();

我们有一个用struts编写的小项目。 在一个地方,我看到两个action类从静态类调用一个静态助手方法

这是代码的结构

MyAction implements ServletRequestAware{
// this is the SMD method which we are calling from client side
buildCode() {
  Map<String, String> code = StaticHelper.validateAndGetCode();
}
}`

`StaticHelper {
public Map<String, String >static validateAndGetCode() {
initialzeVaiable(){
// here all the values are set to the empty values before build the 
// return map
....
}
}
}
MyAction实现ServletRequestAware{
//这是我们从客户端调用的SMD方法
构建代码(){
映射代码=StaticHelper.validateAndGetCode();
}
}`
`静态助手{
公共映射静态validateAndGetCode(){
initialzeVaiable(){
//在这里,所有的值都设置为空值,然后生成
//返回图
....
}
}
}
StaticHelper
具有特定于每个请求的不同静态变量。我的问题是,这是一种很好的设计方法。
由于变量在类中是静态的,所以当它们是多个请求时,它们可能会出错

在您的情况下,使用静态不是好的设计方法,因为变量可能会随请求而变化。在多线程环境中,它可能会弄乱您的代码

所以建议避免做静态的

在Strut操作和调用方法中创建StaticHelper的新实例