`
afunti
  • 浏览: 105424 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论

struts1工作流程解析

阅读更多



 1、初始化:struts框架的总控制器ActionServlet是一个Servlet,它在web.xml中配置成自动启动的Servlet,在启动时总控制器会读取配置文件(struts-config.xml)的配置信息,为struts中不同的模块初始化相应的对象。(面向对象思想)

2、发送请求:用户提交表单或通过URL向WEB服务器提交请求,请求的数据用HTTP协议传给web服务器。

3、form填充:struts的总控制器ActionServlet在用户提交请求时将数据放到对应的form对象中的成员变量中。

4、派发请求:控制器根据配置信息对象ActionConfig将请求派发到具体的Action,对应的formBean一并传给这个Action中的excute()方法。

5、处理业务:Action一般只包含一个excute()方法,它负责执行相应的业务逻辑(调用其它的业务模块)完毕后返回一个ActionForward对象。服务器通过ActionForward对象进行转发工作。

6、返回响应:Action将业务处理的不同结果返回一个目标响应对象给总控制器。

7、查找响应:总控制器根据Action处理业务返回的目标响应对象,找到对应的资源对象,一般情况下为jsp页面。

8、响应用户:目标响应对象将结果传递给资源对象,将结果展现给用户。

 


登录举例:

1、加载xml(web.xml struts-config.xml...)文件并初始化

2/3、发送请求时,根据login.jsp中的
             <form  name="loginForm" method="post" action="Login.do">
其中的action ="Login.do"
与structs-config.xml中
                            <action name="loginForm" type="cn.com.Myclass.actions.LoginAction" validate="false" input="/index.jsp" scope="session" path="/Login">
                                  <forward name="loginOk" path="/pages/index.jsp" />
                                  <forward name="loginFail" path="/global/error.jsp" />
                             </action>
path = "/Login" 匹配找到Action类 cn.com.Myclass.actions.LoginAction 以及name = "loginForm"
然后跟据上面的name= "loginForm"找到
                              <form-beans>
                                  <form-bean name="loginForm" type="cn.com.Myclass.forms.LogonForm" />
                              </form-beans>
 找到绑定到LoginAction的FormBean的实例(即cn.com.Myclass.forms.LogonForm类的对象或者其子类对象如比如叫做 actionForm),此时ActionServlet自动将用提交的数据填充到actionForm中
 
4、再根据2/3中找到的action即:
   控制器根据配置信息对象ActionConfig将请求派发到具体的Action即cn.com.Myclass.actions.LoginAction,对应的formBean一并传给这个LoginAction中的excute()方法

5、执行相应的业务逻辑(调用其它的业务模块)完毕后返回一个ActionForward对象。服务器通过ActionForward对象进行转发工作。
如:
               return mapping.findForward("loginOk");
6、Action将业务处理的不同结果返回一个目标响应对象给总控制器。
即:
    将上面返回的对象mapping.findForward("loginOk")传递给ActionServlet

7、总控制器根据Action处理业务返回的目标响应对象,找到对应的资源对象,一般情况下为jsp页面。
  如: 上面返回loginOk
   然后匹配Struts-config.xml中的
    <forward name="loginOk" path="/pages/index.jsp" />
8、目标响应对象将结果传递给资源对象,将结果展现给用户。

 

 

 

  • 大小: 29.3 KB
分享到:
评论

相关推荐

    struts1的工作流程

    ### Struts1的工作流程详解 #### 一、概述 Struts1是Apache Struts的第一个版本,它是基于Java Servlet/JavaServer Pages技术构建的MVC框架。对于初学者来说,了解Struts1的工作流程是非常重要的,这有助于理解...

    struts1工作流程.rar

    本压缩包文件“struts1工作流程.rar”可能包含了一份关于Struts1框架工作流程的详细文档“struts1工作流程.doc”。下面将详细介绍Struts1的工作流程及其相关知识点。 1. **MVC架构**: Struts1基于MVC设计模式,...

    struts2工作流程

    在深入探讨Struts2的工作流程之前,我们先了解一下MVC模式的基本概念。MVC模式将应用逻辑分隔为三个部分:模型(Model)处理业务逻辑,视图(View)负责展示数据,控制器(Controller)协调用户输入和模型间的交互。...

    Struts2工作流程

    **Struts2工作流程详解**: 1. **客户端请求**:用户通过浏览器发起HTTP请求,目标通常是一个Action,如`http://localhost:8080/yourApp/yourAction.action`。 2. **过滤器链**:请求首先经过一系列过滤器,包括`...

    struts工作流程.doc

    在上述的描述中,我们了解了Struts工作流程的关键步骤: 1. **客户端请求**:当用户在浏览器中输入一个以`.do`结尾的URL(例如http://localhost:8080/helloapp/Hello.do)时,这个请求会被Web服务器捕获并传递给...

    Struts1与Struts2原理 区别详解汇总

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

    Struts工作流程

    以下是Struts工作流程的详细说明: 1. **模型(Model)**: 模型层主要负责应用程序的状态管理和业务逻辑处理。在Struts框架中,模型通常由JavaBean或Enterprise JavaBeans(EJB)来实现。JavaBean是简单的Java类...

    struts1_详解

    #### 三、Struts1 工作流程 **3.1 Struts-config.xml 配置** - `&lt;form-bean&gt;`:定义ActionForm。 - `name`:ActionForm的名称。 - `type`:ActionForm对应的类路径。 - `&lt;action&gt;`:配置Action。 - `attribute`...

    Struts的工作流程

    总结来说,Struts的工作流程涉及了请求解析、对象创建、数据验证、业务逻辑处理和视图呈现等多个环节,有效地实现了MVC模式,提高了代码的可维护性和复用性。理解并掌握这一流程对于开发高质量的Java web应用至关...

    Struts2的工作流程及配置文件

    ### Struts2的工作流程及配置文件详解 #### 一、Struts2简介 Struts2是基于MVC设计模式的Java Web开发框架之一,它继承了Struts1的优点,并在此基础上进行了大量的改进和扩展。Struts2框架的核心是拦截器...

    servlet模拟struts1工作原理

    本文将通过使用Servlet来模拟Struts1的工作流程,深入理解其核心机制。 首先,让我们探讨Struts1的基本架构。Struts1框架的核心组件包括ActionServlet、ActionForm、Action、Tiles以及配置文件(struts-config.xml...

    Struts的工作流程.txt

    从给定的文件信息来看,主要讨论的是Struts框架的工作流程以及部分与CComboBox相关的细节。Struts是一个基于MVC(Model-View-Controller)设计模式的开源框架,主要用于简化Java Web应用程序的开发过程。下面将详细...

    struts1标签库详解

    Struts1 标签库详解 Struts1 标签库是 Apache Jakarta 的一个著名的开源项目,目标是为构建基于 Java 的 web 应用程序提供一个框架。Struts 提供了非常多的标签,依据功能和使用习惯的不同被分到了五个标签库中:...

    struts1与Struts2的流程

    **Struts1工作原理及流程** 1. **体系结构**:在Struts1中,核心控制器是`ActionServlet`,它负责处理HTTP请求,并根据`struts-config.xml`配置文件中的映射找到对应的`Action`。如果找不到匹配的`Action`,则返回...

    Struts工作流程.ppt

    本讲重点在于理解Struts的工作流程以及如何在MyEclipse环境下进行Struts开发。 首先,我们回顾一下相关知识。JavaEE是企业级Java应用的标准,SSH(Struts、Spring、Hibernate)是其中常见的三大框架组合。Struts...

Global site tag (gtag.js) - Google Analytics