`
wanglihu
  • 浏览: 917473 次
  • 性别: Icon_minigender_1
  • 来自: 黑龙江
社区版块
存档分类

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的生命周期如图:

分享到:
评论

相关推荐

    Jakarta Struts Live

    - **理解ActionForm生命周期**:详细探讨了ActionForm对象在整个请求处理过程中的生命周期,包括初始化、验证、填充等阶段。 - **自动类型转换的注意事项**:讨论了Struts框架中自动类型转换的功能及其潜在的问题,...

    验证ActionForm存到了request中

    在Java Web开发中,Struts...总的来说,这个主题涵盖了Struts框架的表单处理机制、ActionForm的生命周期以及如何在代码中检查ActionForm的存在。学习并掌握这些内容对于理解和调试基于Struts的Web应用程序至关重要。

    ActionForm里的get和set方法

    一个ActionForm实例的生命周期通常包括创建、初始化、填充、处理、销毁几个阶段。在请求处理过程中,Struts框架可能会复用ActionForm对象以提高性能,这就要求开发者在处理完一次请求后,正确清理ActionForm的状态...

    ActionForm_Scope为Session

    3. **生命周期管理**:要合理控制ActionForm在Session中的生命周期,避免不必要的内存泄漏。可以使用`HttpSessionBindingListener`接口来监听ActionForm的添加和移除事件。 4. **安全性考虑**:敏感数据不应长时间...

    struts ActionForm

    在Struts 1中,ActionForm的生命周期包括以下几个阶段: 1. 创建:ActionForm实例可以在请求级别或者session级别被创建。请求级别意味着每个HTTP请求都会创建一个新的ActionForm实例,而session级别则表示一个用户的...

    [摘]Struts 学习笔记之ActionForm

    4. **ActionForm的生命周期** - ActionForm的实例可以在多个请求之间复用,这被称为“form bean scope”。有三种范围可供选择:`request`、`session`和`prototype`。 - `request`范围的ActionForm只在当前请求有效...

    Struts视图组件详解附源代码

    这个主题包括了ActionForm、生命周期以及一系列用于构建视图的标签的使用。接下来,我们将深入探讨这些核心概念。 首先,让我们谈谈ActionForm。在Struts框架中,ActionForm是连接控制器(Action)与模型(Business...

    strutsactionform

    5. **ActionForm的生命周期**: 当用户发送请求时,Struts会根据配置文件创建一个新的ActionForm实例,然后将请求参数填充到Form属性中。执行完业务逻辑后,如果需要保留数据,ActionForm对象可以通过Session或...

    JakartaStrutsLive

    - **生命周期分析**:深入分析ActionForm的生命周期,包括初始化、验证和重定向等阶段。 #### 自动类型转换的注意事项 - **转换规则**:讨论自动类型转换的利弊,并提供最佳实践建议。 以上仅为...

    struts调用流程总结,适用于初学者.

    6. **ActionForm的生命周期**: - ActionForm在请求开始时创建,如果配置文件中有对应的form-bean,ActionServlet会根据name属性在缓存中查找ActionForm,或者根据type属性创建新的ActionForm实例。 - ...

    java struts

    6. **ActionForm的生命周期**:ActionForm在多个请求之间共享可能导致数据泄漏。通常,每个请求应创建新的ActionForm实例,或者在Action中清空Form的属性。 7. **Struts1与Spring集成**:尽管Struts1提供了自己的...

    STRUTS源码

    9. **生命周期管理**:Struts框架与Servlet容器紧密集成,利用Servlet的生命周期管理Action和ActionForm对象。例如,Action对象通常是无状态的,每次请求都会创建新的实例,而ActionForm可以配置为session范围或...

    struts课件5

    - **JSF 生命周期**:JSF有六个处理请求的阶段,包括恢复视图、应用请求值、处理验证、更新模型值、调用应用程序和呈现响应。 - **数据验证**:JSF提供了内置的数据验证机制,例如在处理验证阶段,可以使用XML配置...

    j2ee(清华)考试试题

    11. **ActionForm的生命周期**:ActionForm的生命周期包括从request或session中获取实例,如果没有则创建新实例,接着填充表单数据,执行业务逻辑,最后可能将更新后的实例放回request或session。 这些知识点都是...

    struts框架详细介绍

    每个HTML表单通常对应一个ActionForm子类,Struts会自动管理ActionForm的生命周期。 5. **ActionMapping**: 动作映射对象,帮助ActionServlet将请求映射到特定的操作,定义了请求路径和Action Class之间的关联。 6...

    struts 1.2 ActionFrom表单验证

    此外,Spring的配置文件(如applicationContext.xml)也是关键,因为它定义了Bean的生命周期和依赖关系。 工具方面,IDE如IntelliJ IDEA或Eclipse对于Java Web开发非常有用,它们有内置的Struts和Spring支持,可以...

    struts-1.3.10-lib.rar

    10. **生命周期管理**:Struts框架自动管理ActionForm对象的生命周期,可以设置session范围或request范围,以保持状态。 11. **MVC模式的应用**:通过MVC模式,Struts实现了业务逻辑、数据模型和用户界面的分离,...

    struts自学笔记

    - Struts1的request生命周期在模块内是共享的,所有Action共享同一生命周期。 - Struts2通过拦截器(Interceptor Stacks)为每个Action创建独立的生命周期,提供了更高的灵活性。 接下来,我们简单介绍如何创建一...

Global site tag (gtag.js) - Google Analytics