Struts2 struts 2 action类是否使用了多种方法?
我对struts1.x很有经验,在这里,所有动作类默认都是单例行为。Struts2 struts 2 action类是否使用了多种方法?,struts2,Struts2,我对struts1.x很有经验,在这里,所有动作类默认都是单例行为。 通过扩展DispatchAction类,我们可以在一个action类中编写多个方法,这样对这些方法的任何数量的请求都将只创建一个对象并共享所有实例成员 但是在Struts2中,有一个特点是可以编写多种方法。 在struts2中,将为每个请求创建新实例。那么在一个动作类中编写多个方法有什么用呢? 每个方法可能有多个实例成员,如果您将它们合并并创建一个对象,那么每次创建对象都会占用大量内存。 你能告诉我在Struts2.x中的单个
通过扩展DispatchAction类,我们可以在一个action类中编写多个方法,这样对这些方法的任何数量的请求都将只创建一个对象并共享所有实例成员 但是在Struts2中,有一个特点是可以编写多种方法。
在struts2中,将为每个请求创建新实例。那么在一个动作类中编写多个方法有什么用呢?
每个方法可能有多个实例成员,如果您将它们合并并创建一个对象,那么每次创建对象都会占用大量内存。
你能告诉我在Struts2.x中的单个动作类中编写许多方法有什么用吗 即使在struts1动作类中也允许在struts2中使用多个方法的原因与对象创建(动作类)无关。原因是帮助开发人员将在单个类中执行类似操作的操作分组。例如,如果您有一个实体,如
产品
,您可能希望创建
,修改
或删除
产品。出于代码组织的目的,如果您在单个操作类中有这些操作,即创建、修改和删除,那么它将是干净的。
因此,对于每个请求,都会创建一个action类的实例,并在服务请求后将其销毁。即使在struts1 action类中也允许在struts2中使用多个方法的原因与对象创建(action类)无关。原因是帮助开发人员将在单个类中执行类似操作的操作分组。例如,如果您有一个实体,如
产品
,您可能希望创建
,修改
或删除
产品。出于代码组织的目的,如果您在单个操作类中有这些操作,即创建、修改和删除,那么它将是干净的。
因此,对于每个请求,都会创建一个action类实例,并在服务请求后将其销毁。Struts1和Struts2的设计方式和编写action类的方式有很大不同 Actions基本上代表一组相关操作的用户操作。这是一个以良好方式对应用程序进行模块化的功能。虽然您可以在action类中自由定义单个方法,但我相信它会以良好方式破坏action类的用途 e、 假设我们想要开发一个用户管理功能,包括
UserManagementAction
简言之,它决定了设计和开发应用程序的方式和方式。Struts1和Struts2的设计方式和编写动作类的方式有很大不同 Actions基本上代表一组相关操作的用户操作。这是一个以良好方式对应用程序进行模块化的功能。虽然您可以在action类中自由定义单个方法,但我相信它会以良好方式破坏action类的用途 e、 假设我们想要开发一个用户管理功能,包括
UserManagementAction
简言之,设计和开发应用程序的方式和方式取决于设计决策。但性能问题将随之而来。因为每个方法可能有10个实例成员,因此创建对象的内存将是创建一个方法的3倍。。那么如何克服呢?@laxmannchowdary我认为遵循这种模式不会出现性能问题。我可能错了,我认为创建和销毁对象比在内存中保存这么长时间更容易。因为这样的创建和销毁周期只需要几分之一秒或更长时间