`
coderzhcn
  • 浏览: 19788 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Struts 工作流程是什么?

    博客分类:
  • J2EE
阅读更多

一个用户的请求是通 ActionServlet 来处理和转发的。那么,
ActionServlet 如何决定把用户请求转发给哪个Action 对象呢?这就需要
一些描述用户请求路径和Action 衍射关系的配置信息了。在Struts 中,这
些配置映射信息都存储在特定的XML 文件Struts -config.xml 中。在该配
置文件中,每一个Action 的映射信息都通过一个<Action> 元素来配置。
这些配置信息在系统启动的时候被读入内存,供Struts 在运行期间使用。
在内存中,每一个<action> 元素都对应一个

org.apache.struts.action.ActionMapping 类的实例。

对于采用Struts 框架的web 应用,在 web 应用启动时就会加载并初始化
ActionServlet ,ActionServlet 从struts-config.xml文件中读取配
置信息,把它们存放到各个配置对象中,例如Action 的映射信息存放在
ActionMapping 对象中。

当ActionServlet 接收到一个客户请求时,将执行如下流程:
1.检索和用户请求相匹配的 ActionMapping 实例,如果不存在,就返回用户
请求路径无效信息。

2.如ActionForm 实例不存在,就创建一个ActionForm 对象,把客户提交

的表单数据保存到ActionForm 对象中。
3.根据配置信息决定是否需要表单验证。如果需要验证,就调用 ActionForm
的Validate ()方法。
4 .如果ActionForm 的Validate() 方法返回null 或返回一个不包含
ActionMessage 的ActionErrors对象,就表示表单验证成功。
5.ActionServlet 根据ActionMapping 实例包含的映射信息决定将请求转
发给哪个Action。如果相应的 Action 实例不存在,就先创建这个实例,然后
调用Action 的execute()方法。
6 .Action 的execute()方法返回一个ActionForward 对象,
ActionServlet 再把客户请求转发给ActionForward 对象指向的JSP 组件。
7.ActionForward 对象指向的JSP 组件生成动态网页,返回给客户。

分享到:
评论

相关推荐

    最详细的Struts工作流程图

    这是一个详细的Struts工作流程图,里面包含JSP、java(Action、ActionForm等)类

    struts工作流程.doc

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

    Struts2工作流程图

    虽然Struts2号称是一个全新的框架,但这仅仅是相对Struts 1而言。Struts 2 与Struts 1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:WebWork基础上发展起来的。从某种程度...

    struts2工作流程

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

    Struts工作流程

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

    Struts2工作流程

    在深入理解Struts2的工作流程之前,我们需要先了解一些基本概念。 1. **MVC模式**: MVC模式将应用程序分为三个主要组件:模型(Model)、视图(View)和控制器(Controller)。模型负责业务逻辑,视图负责显示...

    华为招聘Java面试题:概念题:1. 描述Struts体系结构?对应各个部分的开发工作主要包括哪些?2. JSP有哪些内置对象和动作?它们的作用分别是什么?……

    根据提供的华为Java面试题,我们将深入探讨两个主要概念:Struts框架体系结构及其开发工作,以及JSP中的内置对象和动作。 ### 1. Struts框架体系结构 #### 概述 Struts是一个用于构建企业级Java Web应用程序的开源...

    jsp项目开发实录 Struts 实现 程序完整Struts 实现 程序完整

    jsp项目开发实录 jsp项目开发实录 Struts 实现 程序完整 Struts 实现 程序完整 Struts 实现 程序完整 Struts 实现 程序完整Struts 实现 程序完整Struts 实现 程序完整Struts 实现 程序完整Struts 实现 程序完整...

    struts2小程序 struts2代码

    这些配置是理解程序工作流程的关键。 3. **Interceptor拦截器**:拦截器允许在Action执行前后插入自定义逻辑,如日志、权限检查等。在项目中,可能会看到如`params`、`validation`、`exception`等内置拦截器的使用...

    struts1的工作流程

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

    struts1工作流程.rar

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

    Struts工作流程.ppt

    理解这个工作流程对于开发和调试Struts应用至关重要,因为每个环节都直接影响着程序的行为和用户体验。通过实际操作和深入学习,可以更有效地利用Struts框架,提高开发效率,同时确保应用的稳定性和可维护性。

    Struts和Spring两种MVC框架究竟有什么不同呢?

    Struts和Spring是Java Web开发中两种非常流行的MVC(Model-View-Controller)框架,它们都致力于解耦应用程序的业务逻辑和展示层,但各自有着不同的设计哲学和功能特性。 Struts是Apache软件基金会的一个开源项目,...

    struts.hibernate工作流程

    **Struts 1.2 工作流程** 1. **用户请求**: 用户通过浏览器发送HTTP请求到服务器。 2. **DispatcherServlet(ActionServlet)**: Struts的前端控制器接收请求,并进行初步处理。 3. **配置映射**: 请求URL被映射到...

    STRUTS工作流程图

    STRUTS工作流程图详细展示了Struts框架处理用户请求的过程,这对于理解和学习Struts至关重要。 1. **请求开始**:当用户在浏览器中输入URL并提交请求时,请求首先会被Web服务器接收到,然后由Struts的`Action...

    Struts2的工作流程及配置文件

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

    Struts2工作机制

    总的来说,Struts2的工作流程大致为:请求到达-&gt;过滤器Dispatcher拦截-&gt;查找Action映射-&gt;创建Action实例-&gt;执行拦截器链-&gt;调用Action的execute方法-&gt;返回Result-&gt;渲染视图。这种设计允许开发者将业务逻辑、数据验证、...

    Struts程序的执行流程.pdf

    在了解Struts程序的执行流程之前,我们需要首先理解几个核心概念: 1. ActionServlet:是Struts框架中的控制器,负责接收用户请求,调用Action的execute()方法处理请求,并根据返回的ActionForward对象进行页面跳转...

Global site tag (gtag.js) - Google Analytics