一、通过顺序图剖析sturts执行流程.
由上图可以struts1.x对请求的处理过程:
1、默认情况下,*.do请求都将交给struts框架处理,首先会由控制器ActionServlet拦截请求,在处理请求前会做一些初始化的工作,然后再转交给请求处理器RequestProcessor处理.
2、RequestProcessor根分析请求url,在配置文件struts-config.xml中找到相对应的ActionForm,实例化ActionForm并根据类的反射填充ActionForm,将表单元素值封装成一个ActionForm对象.
3、对ActionForm对象每个成员属性进行校验,校验失败将直接返回<action />的input属性所指定的页面。如果校验成功就往下执行.
4、RequestProcessor实例化Action并调用Action的execute方法。对于某一些action可能还会进行业务逻辑校验。
5、业务逻辑校验通过后,返回一个ActionForward对象并转发到该对象指定的一个成功页面。
二、RequestProcessor的处理过程
RequestProcessor是处理请求的核心类,处理请求步骤如下 :
1、调用processPath()方法, 确定选择将要处理的动作的路径,如:/login.do,就会取出/login字符串,赋值给变量path.
2、调用processMapping()方法,根据path路径,在配置文件struts-config.xml找到与之对应的action映射,并返回一个ActionMapping的对象,该类封装了<action />里的属性值的方法,如validate、scope等属性的值.
3、调用processActionForm()方法,根据ActionMapping的对象新建一个Form Bean 或从请求会话中检索Form Bean。
4、调用processPopulate()方法,填充与请求关联的Form Bean (即把表单元素的数据封装成一个ActionForm对象).
5、调用processValidate()方法,校验form bean数据是否合法.
6、调用processActionCreate()方法,实例化当前ActionMapping关联的类的实例.
7、调用processActionPerform()方法,内部将调用action的execute() 方法,执行完后将返回ActionForward对象所指定的页面.
- 大小: 67.2 KB
分享到:
相关推荐
### Struts1.x 技术课程讲解 #### 一、Struts1.x 概述 ...通过以上内容的学习,学员将能够掌握 Struts1.x 的核心概念、工作原理及开发流程,进而能够独立开发基于 Struts1.x 的企业级 Web 应用程序。
本资源集合包含了所有最新的Struts1.x项目应用,为开发者提供了一个宝贵的参考资料库。 Struts1.x的核心组件包括: 1. **ActionServlet**:这是Struts框架的核心,作为Servlet拦截请求,根据配置文件(struts-...
本教程将详细介绍Struts 1.x的基本原理和使用方法,让读者可以快速入门并提高对Struts 1.x框架的应用能力。同时,教程中也会涉及与Struts 2.x的比较,帮助开发者理解两个版本之间的相似之处和差异。 ### Struts 1.x...
本篇文章将深入探讨Struts1.x和Struts2.x在向Action中填充JSP参数的原理。 Struts1.x的工作原理: Struts1的核心是ActionServlet,它是一个实现了Servlet接口的控制器。当用户发起HTTP请求时,请求会被Dispatcher...
Struts1.x是Apache软件基金会旗下Jakarta项目的一个核心组件,它是一款开源的MVC(Model-View-Controller)框架,用于构建企业级Java Web应用程序。这个框架在2000年代初非常流行,因其规范化的开发流程和强大的功能...
Struts1.x 是一个MVC(Model-View-Controller)框架,主要用于处理Web应用程序的业务逻辑和用户交互,而Hibernate则是一个对象关系映射(ORM)框架,它的主要任务是简化数据库操作,将Java对象与数据库表进行映射,...
标题"Struts2.X+Hibernate3.X+Spring2.5 整合"指的是将这三个框架的特定版本(Struts2.X,Hibernate3.X,Spring2.5)集成到同一个项目中,实现高效的企业级应用开发。这种整合能够充分利用各个框架的优势,使开发者...
Struts1.x是Apache软件基金会的一个开源项目,它是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架。在Web开发领域,Struts1.x曾是广泛使用的框架,它帮助开发者构建结构清晰、易于维护的Web...
《Struts2.0中文帮助手册.chm》将详细介绍Struts2的API、配置和使用技巧,而《Struts1.2.pdf》则可能包含了Struts1.x的框架原理、开发流程以及案例分析。通过学习这两本书,开发者可以深入理解这两个版本的Struts...
Struts1.x是一个非常经典的Java Web开发框架,它在企业级应用中被广泛使用。而Struts1.x的令牌机制(Token)则是防止重复提交、跨页请求攻击的重要手段。在此,我们将深入探讨Struts1.x令牌的使用方法及其背后的原理...
Struts1.x是一个经典的Java Web开发框架,它遵循Model-View-Controller(MVC)设计模式,用于构建可维护性和可扩展性高的企业级应用程序。在这个"网上书店示例"中,开发者运用Struts1.x框架来简化了JSP文件的管理和...
Struts1.x是一个经典的Java Web框架,用于构建MVC(模型-视图-控制器)架构的应用程序。在处理用户交互,特别是涉及文件上传和下载功能时,Struts1.x提供了强大的支持。以下是对"struts1.x 上传下载"这个主题的详细...
Struts1.x 是一个用于构建基于 MVC(Model-View-Controller)模式的 Web 应用程序的框架,而 Hibernate 是一个对象关系映射(ORM)工具,它简化了数据库与 Java 对象之间的交互。 **Struts1.x 框架** Struts1.x 是 ...
"Struts+API参考手册(1).chm"和"struts中文帮助.rar"应该是对Struts1.x API的中文文档,包括类库的详细说明、使用示例和常见问题解答等内容。它们对于学习和理解Struts1.x框架非常有帮助,可以快速查阅API函数、了解...
Struts1.x是一个经典的Java Web框架,用于构建MVC(Model-View-Controller)架构的应用程序。这个"Struts1.x写的增删改查实例"是面向初学者和开发者的一个实用教程,它演示了如何使用Struts1.x来实现基本的数据操作...
Struts1.x 是一款经典的Java Web开发框架,由Apache软件基金会发起的Jakarta Struts项目创建,旨在实现MVC(Model-View-Controller)设计模式,以提高开发效率和代码的可维护性。该框架最初由Craig McClanahan在2000...
Struts 1.x 是一个基于Java Servlet的开发框架,源自Jakarta项目,它遵循Model-View-Controller(MVC)设计模式。这个框架的主要目的是简化Java Web应用的开发,提供了一个结构化的解决方案,使得开发者可以更高效地...
Struts 1.x 是一个非常经典的Java Web框架,它在早期的Web开发中占据了...尽管现在Struts 1.x已经被Struts 2等更现代的框架所取代,但理解这一机制对于理解MVC框架的工作原理以及如何优化数据处理流程仍然很有价值。