`
darkranger
  • 浏览: 25783 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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页面,这样客户就得到响应的结果。

 

分享到:
评论

相关推荐

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

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

    Spring+Hibernate+Struts工作原理

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

    struts工作原理图、spring框架结构图、hibernate工作原理图

    1. Struts工作原理: Struts 是一个基于MVC(Model-View-Controller)设计模式的Java Web框架。其主要目标是提供一个用于创建可维护性高、易于测试的Web应用程序的结构。Struts工作流程如下: - 用户通过浏览器向...

    struts工作原理和配置

    在本文中,我们将深入探讨Struts的工作原理和配置。 **1. Struts工作原理** Struts的核心是ActionServlet,它是一个定制的Servlet,负责处理所有的HTTP请求。当用户发送请求到服务器时,ActionServlet首先会解析...

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

    ### Hibernate、Spring和Struts工作原理及使用理由 #### Hibernate工作原理及使用理由 **1. Hibernate概述** Hibernate是一个开放源代码的ORM(Object-Relational Mapping)框架,用于简化数据库操作,它允许将...

    Struts工作原理、流程.doc

    以下是对Struts工作原理和流程的详细解释: ### Struts配置步骤 1. **导入Struts库**:在项目中引入Struts相关的jar包,这些库包含了Struts框架运行所需的所有组件。 2. **创建配置文件**:在`WEB-INF`目录下创建...

    Struts工作原理和机制 hibernate对持久化对象的操作

    Struts工作原理与机制 Struts是Java Web开发中的一款经典MVC(Model-View-Controller)框架,它简化了创建基于JSP和Servlet的应用程序的过程。Struts的核心在于ActionServlet,它是整个框架的控制器,负责接收HTTP...

    struts工作原理不错的解释___已看(不错).txt

    struts工作原理不错的解释___已看(不错).txt

    struts工作原理和开发流程

    本文将深入探讨Struts的工作原理和开发流程,特别是关于其Validator验证框架的使用。 首先,理解Struts的工作原理至关重要。当用户通过浏览器发送请求到服务器时,Struts框架会拦截这个请求并按照预定义的配置来...

    spring优点,struts工作原理

    Struts2是另一个流行的Java Web框架,其工作原理主要基于Model-View-Controller(MVC)设计模式: 1. 拦截器:Struts2的核心是Action和Interceptor(拦截器)。当用户发起请求时,请求会被一系列的拦截器链所处理,...

    struts的工作原理

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

    Struts工作原理

    Struts是基于MVC的WEB应用框架. Struts为Java Web应用提供现成的通用框架.

    struts2工作原理

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

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

    下面将分别介绍这三个框架的工作原理,并进行对比。 **Struts1原理:** Struts1是Apache组织的一个开源项目,它引入了ActionServlet来处理HTTP请求。当用户发起请求时,请求会被Struts1的Front Controller(即...

    Struts的工作原理

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

Global site tag (gtag.js) - Google Analytics