`

Struts1工作原理[转]

    博客分类:
  • ssh
阅读更多

 Struts1工作原理

      除了学习Struts的基础知识。建议读者还要熟知Struts较为重要的部分--工作原理,这并不是必须要学习的部分。就像很多不懂汽车内部构成原理的人照样可以驾驶汽车一样,不了解Struts的工作原理,并不影响对Struts的使用。但如果能了解Struts的工作原理,则可以更好地让Struts为自己提供服务。如果初学的读者觉得此部分有难度,可以将本节内容放在最后阅读。

     通过2.1节的讲解,相信读者已经拥有驾驭Struts框架的能力,下面将从工作原理角度入手来继续深入学习Struts框架。

     图2.3简单描述了Struts的工作原理。它把Struts框架处理客户请求的整个过程细分为八个步骤,下面就来详细分析这些步骤。

 
(点击查看大图)图2.3  struts工作原理示意图

1. 读取配置(初始化ModuleConfig对象)

     采用Struts框架的Web应用,在Web应用启动时就会加载并初始化ActionServlet,在ActionServlet初始化ModuleConfig的时候,调用initModuleConfigFactory()初始化配置工厂,然后由配置工厂通过initModuleConfig("", config)获得ModuleConfig对象。

     通过ModuleConfig对象调用下列方法去初始化相关模块。

  1. initModuleMessageResources(moduleConfig);  
  2. initModuleDataSources(moduleConfig);  
  3. initModulePlugIns(moduleConfig); 

     这些方法的功能就是:容器在加载Struts应用程序时,会先加载web.xml中与Struts相关的一些配置参数,找到struts-config.xml文件,然后通过循环来读取此文件和解析里面的内容,并初始化相关对象。

2. 用户请求

     用户提交表单或调用url向Web应用程序服务器提交一个请求,请求的数据用HTTP协议上传给Web服务器。

3. 填充FormBean

     填充FormBean的过程包括实例化、复位、填充数据、校验、保存等操作。根据*.do请求从ActionConfig中找出对应该请求的Action子类,如有对应的Action且这个Action有一个相应的ActionForm,则ActionForm被实例化并用HTTP请求的数据填充其属性,并保存在ServletContext中,这样它们就可以被其他Action对象或JSP调用。如果没有对应的Action,控制器则直接转发给JSP或静态页面。

4. 转发请求

     控制器根据配置信息ActionConfig将请求派发到具体的Action,与请求相应的FormBean将一并传给这个Action对象。

5. 处理业务

     Action一般只包含一个execute()方法,它负责执行相应的业务逻辑。执行完毕后返回一个ActionForward对象,控制器通过该ActionForward对象进行转发工作。

6. 返回响应

     Action根据业务处理的不同结果返回一个响应对象给总控制器,该目标响应对象对应一个具体的JSP页面或另一个Action。

7. 查找响应

     总控制器根据业务功能Action返回的目标响应对象找到对应的资源对象,通常是一个具体的JSP页面。

8. 响应用户

     目标响应对象将结果展现给用户目标响应对象,即具体的JSP页面,这样客户就得到响应的结果。

     这里只是从使用Struts的角度对它的工作原理作了分析,在后面的章节中还会深入分析ActionMapping对象、ActionForm对象及Action对象的初始化过程。下面通过一个示例来加深对Struts工作原理的理解。

 

(转自51CTO.com http://book.51cto.com/art/200909/152101.htm

分享到:
评论

相关推荐

    Struts1工作原理浅析【转】

    Struts1 工作原理浅析 一、Struts1 工作原理概述 Struts1 是一个基于 MVC 模式的 Web 应用框架,它的工作原理可以分为三个部分:Model、View 和 Controller。Model 负责处理业务逻辑,View 负责表现层,Controller...

    servlet模拟struts1工作原理

    Struts1是Apache组织开发的一个基于MVC(Model-View-Controller)设计模式的Web应用框架,它简化了开发...实际开发中,虽然Struts1已经被Struts2和其他现代框架取代,但了解其工作原理对理解和使用其他框架仍然有裨益。

    struts2工作原理

    struts2工作原理、请求响应流程。。。。。。。。。。。。。。。

    Struts的工作原理

    在深入理解Struts的工作原理之前,我们先来简单回顾一下MVC模式的基本概念: **Model(模型)**:这是应用程序的核心业务逻辑,通常由Java Beans或Enterprise JavaBeans (EJBs)实现,它们处理数据和业务规则。 **...

    Hibernate、Spring和Struts工作原理及使用理由

    【标题】:“Hibernate、Spring和Struts工作原理及使用理由” 【内容】: Hibernate是一个流行的Java持久化框架,它的核心工作原理主要包括以下步骤: 1. **读取并解析配置文件**:Hibernate通过读取hibernate....

    Struts1与Struts2原理 区别详解汇总

    #### Struts1工作流程 1. **用户提交请求**:客户端向服务器发送HTTP请求。 2. **ActionServlet接收请求**:ActionServlet接收到请求后,根据`struts-config.xml`文件中的配置决定调用哪个Action来处理请求。 3...

    struts1运行原理

    很不错的struts运行原理深刻解说,初学者很受用

    Struts1工作原理浅析.doc

    Struts1工作原理浅析 1.引入struts1 2.struts1工作原理 3.struts1工作机制 4.struts1的安装于基本配置 5.ActionServlet

    Struts2 工作原理 Struts2框架 有图

    Struts2框架作为Java Web开发领域中的一款经典MVC(Model-View-Controller)框架,其工作原理涉及到了一系列复杂的组件交互与流程控制。本文将深入解析Struts2的工作流程,帮助开发者理解其核心机制。 ### 一、...

    struts的工作原理

    学习的时候总结出来的,相当清晰的描述了struts2

    struts1原理,struts2原理,spring mvc原理,struts1和struts2,struts和spring mvc

    **Struts1原理:** Struts1是Apache组织的一个开源项目,它引入了ActionServlet来处理HTTP请求。当用户发起请求时,请求会被Struts1的Front Controller(即ActionServlet)拦截,然后根据配置文件(struts-config....

    struts2工作原理图

    理解Struts2的工作原理是深入学习和有效利用该框架的关键。下面将详细介绍Struts2的工作流程。 1. **请求接收**:当用户在浏览器中提交一个HTTP请求时,这个请求首先会被Web服务器(如Apache Tomcat)接收到。如果...

    struts1 mvc基本原理

    本文将深入探讨Struts1的基本原理,帮助理解其架构设计和工作流程。 **1. MVC架构** MVC模式是软件工程中一种用于分离业务逻辑、数据和用户界面的设计模式。在Struts1中,Model代表应用程序的数据和业务逻辑,View...

    Spring+Hibernate+Struts工作原理

    【Struts工作原理】 Struts是一个MVC(Model-View-Controller)框架,它的核心是ActionServlet。在Web应用启动时,ActionServlet会加载并解析struts-config.xml配置文件。当用户发送请求时,Struts框架按照以下步骤...

    struts体系结构与工作原理

    Struts 体系结构与工作原理 Struts 体系结构是目前基于 Java 的 Web 系统设计中广泛使用的 MVC 架构。Struts 是 Apache 基金会 Jakarta 项目组的一个 Open Source 项目,它采用模型 - 视图 - 控制器(Model-View-...

Global site tag (gtag.js) - Google Analytics