`
yulon
  • 浏览: 117832 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

struts1.x原理与应用(一)

阅读更多

 一、通过顺序图剖析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技术课程讲解.pdf

    ### Struts1.x 技术课程讲解 #### 一、Struts1.x 概述 ...通过以上内容的学习,学员将能够掌握 Struts1.x 的核心概念、工作原理及开发流程,进而能够独立开发基于 Struts1.x 的企业级 Web 应用程序。

    struts1.x apps 所有最新的Struts1.x项目应用

    本资源集合包含了所有最新的Struts1.x项目应用,为开发者提供了一个宝贵的参考资料库。 Struts1.x的核心组件包括: 1. **ActionServlet**:这是Struts框架的核心,作为Servlet拦截请求,根据配置文件(struts-...

    Struts1.x入门与提高系列教程.pdf

    本教程将详细介绍Struts 1.x的基本原理和使用方法,让读者可以快速入门并提高对Struts 1.x框架的应用能力。同时,教程中也会涉及与Struts 2.x的比较,帮助开发者理解两个版本之间的相似之处和差异。 ### Struts 1.x...

    struts1.x 和 struts2.x向Action里填充jsp参数原理

    本篇文章将深入探讨Struts1.x和Struts2.x在向Action中填充JSP参数的原理。 Struts1.x的工作原理: Struts1的核心是ActionServlet,它是一个实现了Servlet接口的控制器。当用户发起HTTP请求时,请求会被Dispatcher...

    Struts1.x 中文帮助文档

    Struts1.x是Apache软件基金会旗下Jakarta项目的一个核心组件,它是一款开源的MVC(Model-View-Controller)框架,用于构建企业级Java Web应用程序。这个框架在2000年代初非常流行,因其规范化的开发流程和强大的功能...

    Struts1.x-Hibernate,曾删改查

    Struts1.x 是一个MVC(Model-View-Controller)框架,主要用于处理Web应用程序的业务逻辑和用户交互,而Hibernate则是一个对象关系映射(ORM)框架,它的主要任务是简化数据库操作,将Java对象与数据库表进行映射,...

    Struts2.X+Hibernate3.X+Spring2.5 整合

    标题"Struts2.X+Hibernate3.X+Spring2.5 整合"指的是将这三个框架的特定版本(Struts2.X,Hibernate3.X,Spring2.5)集成到同一个项目中,实现高效的企业级应用开发。这种整合能够充分利用各个框架的优势,使开发者...

    Struts1.x使用回顾

    Struts1.x是Apache软件基金会的一个开源项目,它是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架。在Web开发领域,Struts1.x曾是广泛使用的框架,它帮助开发者构建结构清晰、易于维护的Web...

    struts1.x和struts2.0电子书

    《Struts2.0中文帮助手册.chm》将详细介绍Struts2的API、配置和使用技巧,而《Struts1.2.pdf》则可能包含了Struts1.x的框架原理、开发流程以及案例分析。通过学习这两本书,开发者可以深入理解这两个版本的Struts...

    Struts1.x令牌(Token)的使用.rar

    Struts1.x是一个非常经典的Java Web开发框架,它在企业级应用中被广泛使用。而Struts1.x的令牌机制(Token)则是防止重复提交、跨页请求攻击的重要手段。在此,我们将深入探讨Struts1.x令牌的使用方法及其背后的原理...

    struts1.x实现的网上书店示例

    Struts1.x是一个经典的Java Web开发框架,它遵循Model-View-Controller(MVC)设计模式,用于构建可维护性和可扩展性高的企业级应用程序。在这个"网上书店示例"中,开发者运用Struts1.x框架来简化了JSP文件的管理和...

    struts1.x 上传下载

    Struts1.x是一个经典的Java Web框架,用于构建MVC(模型-视图-控制器)架构的应用程序。在处理用户交互,特别是涉及文件上传和下载功能时,Struts1.x提供了强大的支持。以下是对"struts1.x 上传下载"这个主题的详细...

    struts1.x+hibernate登录注册

    Struts1.x 是一个用于构建基于 MVC(Model-View-Controller)模式的 Web 应用程序的框架,而 Hibernate 是一个对象关系映射(ORM)工具,它简化了数据库与 Java 对象之间的交互。 **Struts1.x 框架** Struts1.x 是 ...

    Struts1.x API参考手册+中文帮助

    "Struts+API参考手册(1).chm"和"struts中文帮助.rar"应该是对Struts1.x API的中文文档,包括类库的详细说明、使用示例和常见问题解答等内容。它们对于学习和理解Struts1.x框架非常有帮助,可以快速查阅API函数、了解...

    Struts1.x_浅析

    Struts1.x是一个基于Java的Web应用程序框架,它遵循Model-View-Controller(MVC)设计模式,旨在简化开发过程,提高代码的可重用性和可扩展性。框架的出现是为了应对多层软件开发项目中复杂的代码管理和业务逻辑构建...

    Struts1.x写的增删改查实例

    Struts1.x是一个经典的Java Web框架,用于构建MVC(Model-View-Controller)架构的应用程序。这个"Struts1.x写的增删改查实例"是面向初学者和开发者的一个实用教程,它演示了如何使用Struts1.x来实现基本的数据操作...

    精通struts1.x技术,struts1完整详细教程

    Struts1.x 是一款经典的Java Web开发框架,由Apache软件基金会发起的Jakarta Struts项目创建,旨在实现MVC(Model-View-Controller)设计模式,以提高开发效率和代码的可维护性。该框架最初由Craig McClanahan在2000...

    struts1.x入门

    Struts 1.x 是一个基于Java Servlet的开发框架,源自Jakarta项目,它遵循Model-View-Controller(MVC)设计模式。这个框架的主要目的是简化Java Web应用的开发,提供了一个结构化的解决方案,使得开发者可以更高效地...

    Struts 1.x中批量封装对象

    Struts 1.x 是一个非常经典的Java Web框架,它在早期的Web开发中占据了...尽管现在Struts 1.x已经被Struts 2等更现代的框架所取代,但理解这一机制对于理解MVC框架的工作原理以及如何优化数据处理流程仍然很有价值。

Global site tag (gtag.js) - Google Analytics