二、struts工作原理
来自客户的所有需要通过框架的请求,统一由ActionServlet接收(ActionServlet Struts已经为我们写好了,只要您应用没有什么特别的要求,它基本上都能满足您的要求),根据接收的请求参数和Struts配置(struts-config.XML)中ActionMapping,将请求送给合适的Action去处理,解决由谁做的问题,它们共同构成Struts的控制器。
Action则是Struts应用中真正干活的组件,解决的是做什么的问题,它通过调用需要的业务组件(模型)来完成应用的业务,业务组件解决的是如何做的问题,并将执行的结果返回一个代表所需的描绘响应的JSP(或Action)的ActionForward对象给ActionServlet以将响应呈现给客户。
这里要特别说明一下的是:就是Action这个类,它不应该包含过多的业务逻辑,而应该只是简单地收集业务方法所需要的数据并传递给业务对象。实际上,它的主要职责是:
校验前提条件或者声明
调用需要的业务逻辑方法
检测或处理其他错误
路由控制到相关视图
三、struts运行机制
Struts的工作流程:
在web应用启动时就会加载,初始化ActionServlet,ActionServlet从struts-config.xml文件中读取配置信息,把它们存放到各种配置对象中,当ActionServlet接收到一个客户请求时,将执行如下流程.
(1)检索和用户请求匹配的ActionMapping实例,如果不存在就返回请求路径无效信息;
(2)如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中;
(3)根据配置信息决定是否需要表单验证.如果需要验证,就调用ActionForm的validate()方法;
(4)如果ActionForm的validate()方法返回null或返回一个不包含ActionMessage的ActuibErrors对象, 就表示表单验证成功;
(5)ActionServlet根据ActionMapping所包含的映射信息决定将请求转发给哪个Action,如果相应的Action实例不存在,就先创建这个实例,然后调用Action的execute()方法;
(6)Action的execute()方法返回一个ActionForward对象,ActionServlet在把客户请求转发给 ActionForward对象指向的JSP组件;
(7)ActionForward对象指向JSP组件生成动态网页,返回给客户;
分享到:
相关推荐
Struts1 工作原理浅析 一、Struts1 工作原理概述 Struts1 是一个基于 MVC 模式的 Web 应用框架,它的工作原理可以分为三个部分:Model、View 和 Controller。Model 负责处理业务逻辑,View 负责表现层,Controller...
Struts1是Apache组织开发的一个基于MVC(Model-View-Controller)设计模式的Web应用框架,它简化了开发...实际开发中,虽然Struts1已经被Struts2和其他现代框架取代,但了解其工作原理对理解和使用其他框架仍然有裨益。
Struts1工作原理浅析 1.引入struts1 2.struts1工作原理 3.struts1工作机制 4.struts1的安装于基本配置 5.ActionServlet
#### Struts1工作流程 1. **用户提交请求**:客户端向服务器发送HTTP请求。 2. **ActionServlet接收请求**:ActionServlet接收到请求后,根据`struts-config.xml`文件中的配置决定调用哪个Action来处理请求。 3...
很不错的struts运行原理深刻解说,初学者很受用
struts2工作原理、请求响应流程。。。。。。。。。。。。。。。
在深入理解Struts的工作原理之前,我们先来简单回顾一下MVC模式的基本概念: **Model(模型)**:这是应用程序的核心业务逻辑,通常由Java Beans或Enterprise JavaBeans (EJBs)实现,它们处理数据和业务规则。 **...
【标题】:“Hibernate、Spring和Struts工作原理及使用理由” 【内容】: Hibernate是一个流行的Java持久化框架,它的核心工作原理主要包括以下步骤: 1. **读取并解析配置文件**:Hibernate通过读取hibernate....
Struts2框架作为Java Web开发领域中的一款经典MVC(Model-View-Controller)框架,其工作原理涉及到了一系列复杂的组件交互与流程控制。本文将深入解析Struts2的工作流程,帮助开发者理解其核心机制。 ### 一、...
学习的时候总结出来的,相当清晰的描述了struts2
**Struts1原理:** Struts1是Apache组织的一个开源项目,它引入了ActionServlet来处理HTTP请求。当用户发起请求时,请求会被Struts1的Front Controller(即ActionServlet)拦截,然后根据配置文件(struts-config....
理解Struts2的工作原理是深入学习和有效利用该框架的关键。下面将详细介绍Struts2的工作流程。 1. **请求接收**:当用户在浏览器中提交一个HTTP请求时,这个请求首先会被Web服务器(如Apache Tomcat)接收到。如果...
本文将深入探讨Struts1的基本原理,帮助理解其架构设计和工作流程。 **1. MVC架构** MVC模式是软件工程中一种用于分离业务逻辑、数据和用户界面的设计模式。在Struts1中,Model代表应用程序的数据和业务逻辑,View...
【Struts工作原理】 Struts是一个MVC(Model-View-Controller)框架,它的核心是ActionServlet。在Web应用启动时,ActionServlet会加载并解析struts-config.xml配置文件。当用户发送请求时,Struts框架按照以下步骤...
**Struts1工作原理及流程** 1. **体系结构**:在Struts1中,核心控制器是`ActionServlet`,它负责处理HTTP请求,并根据`struts-config.xml`配置文件中的映射找到对应的`Action`。如果找不到匹配的`Action`,则返回...
**Struts1工作原理**: 1. 用户发起HTTP请求到服务器。 2. Struts Dispatcher Servlet接收到请求,根据请求URL中的ActionMapping找到对应的Action类。 3. Action类执行业务逻辑,可能涉及到对ActionForm的验证和对...
Struts 体系结构与工作原理 Struts 体系结构是目前基于 Java 的 Web 系统设计中广泛使用的 MVC 架构。Struts 是 Apache 基金会 Jakarta 项目组的一个 Open Source 项目,它采用模型 - 视图 - 控制器(Model-View-...