图2.3简单描述了Struts的工作原理。它把Struts框架处理客户请求的整个过程细分为八个步骤,下面就来详细分析这些步骤。
(点击查看大图)图2.3 struts工作原理示意图 |
1. 读取配置(初始化ModuleConfig对象)
采用Struts框架的Web应用,在Web应用启动时就会加载并初始化ActionServlet,在ActionServlet初始化ModuleConfig的时候,调用initModuleConfigFactory()初始化配置工厂,然后由配置工厂通过initModuleConfig("", config)获得ModuleConfig对象。
通过ModuleConfig对象调用下列方法去初始化相关模块。
- initModuleMessageResources(moduleConfig);
- initModuleDataSources(moduleConfig);
- 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是一个流行的Java持久化框架,它的核心工作原理主要包括以下步骤: 1. **读取并解析配置文件**:Hibernate通过读取hibernate....
【Struts工作原理】 Struts是一个MVC(Model-View-Controller)框架,它的核心是ActionServlet。在Web应用启动时,ActionServlet会加载并解析struts-config.xml配置文件。当用户发送请求时,Struts框架按照以下步骤...
1. Struts工作原理: Struts 是一个基于MVC(Model-View-Controller)设计模式的Java Web框架。其主要目标是提供一个用于创建可维护性高、易于测试的Web应用程序的结构。Struts工作流程如下: - 用户通过浏览器向...
在本文中,我们将深入探讨Struts的工作原理和配置。 **1. Struts工作原理** Struts的核心是ActionServlet,它是一个定制的Servlet,负责处理所有的HTTP请求。当用户发送请求到服务器时,ActionServlet首先会解析...
### Hibernate、Spring和Struts工作原理及使用理由 #### Hibernate工作原理及使用理由 **1. Hibernate概述** Hibernate是一个开放源代码的ORM(Object-Relational Mapping)框架,用于简化数据库操作,它允许将...
以下是对Struts工作原理和流程的详细解释: ### Struts配置步骤 1. **导入Struts库**:在项目中引入Struts相关的jar包,这些库包含了Struts框架运行所需的所有组件。 2. **创建配置文件**:在`WEB-INF`目录下创建...
Struts工作原理与机制 Struts是Java Web开发中的一款经典MVC(Model-View-Controller)框架,它简化了创建基于JSP和Servlet的应用程序的过程。Struts的核心在于ActionServlet,它是整个框架的控制器,负责接收HTTP...
struts工作原理不错的解释___已看(不错).txt
本文将深入探讨Struts的工作原理和开发流程,特别是关于其Validator验证框架的使用。 首先,理解Struts的工作原理至关重要。当用户通过浏览器发送请求到服务器时,Struts框架会拦截这个请求并按照预定义的配置来...
Struts2是另一个流行的Java Web框架,其工作原理主要基于Model-View-Controller(MVC)设计模式: 1. 拦截器:Struts2的核心是Action和Interceptor(拦截器)。当用户发起请求时,请求会被一系列的拦截器链所处理,...
学习的时候总结出来的,相当清晰的描述了struts2
Struts是基于MVC的WEB应用框架. Struts为Java Web应用提供现成的通用框架.
struts2工作原理、请求响应流程。。。。。。。。。。。。。。。
下面将分别介绍这三个框架的工作原理,并进行对比。 **Struts1原理:** Struts1是Apache组织的一个开源项目,它引入了ActionServlet来处理HTTP请求。当用户发起请求时,请求会被Struts1的Front Controller(即...
在深入理解Struts的工作原理之前,我们先来简单回顾一下MVC模式的基本概念: **Model(模型)**:这是应用程序的核心业务逻辑,通常由Java Beans或Enterprise JavaBeans (EJBs)实现,它们处理数据和业务规则。 **...