`

ActionForm

阅读更多

ActionForm的生命周期
ActionFormBean有两种存在范围:request和session。
如果ActionForm存在于request范围,它仅在当前的请求/响应生命周期中有效。在请求从一个Web组件转发到另一个Web组件的过 程中,ActionForm实例一直有效。当服务器把响应结果返回给客户,ActionForm实例及其包含的数据就会被销毁。如果ActionForm 存在于session范围,同一个ActionForm实例在整个HTTP会话中有效。ActionForm的范围如图:

假定发给jsp1组件的请求依次转发给action1、action2和jsp2组件,jsp2组件最后生成响应结果,返回给客户。如果 ActionForm在request范围内,那么在第一个请求/响应周期内,以上四个组件由于共享同一个HttpServletRequest对象,所 以也共用同一个ActionForm实例。当用户发出第二个请求时,Struts框架将创建一个新的ActionForm实例,以上四个组件共用这个新的 ActionForm实例。

当控制器接收到请求时,如果请求访问的Web组件为Action,并且为这个Action配置了和ActionForm映射,控制器将从 request或session范围中取出ActionForm实例,如果该实例存在,就会自动创建一个新的实例。当控制器接收到一个新的请求 时,ActionForm的生命周期

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics