`
jianggege
  • 浏览: 98260 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Struts功能详解——Struts控制流

阅读更多

S truts 框架是基于控制层的一个 MVC 框架,所以对于 Struts 框架来说,最核心的东西就是控制。这次毕业论文答辩的时候,老师问了“什么叫控制”。当时听起来有点雷人。但是事后一想,确实是这样, Struts 就是控制。我毕业论文是采用 Struts 框架实现的。当然里面少不了关于控制的理论。我当时回答他的是关于 web 应用上,控制代表的操作。比如对页面传递过来的信息进行校验,分发等。但是老师对我的答案不是认同,他说我这个是纯工程上的说法,我们要求从理论上说,他从控制论的角度去解释了一下控制。他说的虽然有点空,但是也不是不对,可能这也是我们这些工程人员所欠缺的吧。

 

既然 S truts 最核心的就是控制,那么下面就解释一下 Struts 的控制流。首先看一张时序图。




 

说明:

  • 客户端请求匹配 A ction URI 样式的路径
  • 讲客户端请求传递给 A ctionServlet ,服务器容器执行。
  • 如果这个是模块化的,将选择相应的模块。
  • A ctionServlet 查询路径的映射,在 struts-config.xml 文件中。
  • 如果映射标明了一个 f orm bean ,ActionServlet 判断它是否存在。
  • 如果 mapping vali date 字段为 true ,则调用 validate 方法。
  • 如果失败, A ctionServlet 转发给 input 对应的页面。
  • 如果 mapping 标明一个 A ction ,如果它已经存在或实例化,则他被重用。
  • 执行 A ction execute 方法。调用用户自定义 bean
  • A ction 返回一个 ActionForward ActionServlet
  • A ctionForward 指定一个 URI ,返回用户视图。

 

其实 S truts 控制是一个比较简单的过程,他主要是控制数据有效性,还有控制数据传递路径有效。还定义了一些如果出错会采取那些办法。这里面用到了很多很好的面向对象的思想。值得去借鉴。在接下来会研究一下。

 

转自:http://blog.csdn.net/lsh6688/article/details/7568119

分享到:
评论

相关推荐

    struts1_详解

    - **Model 2**:更复杂的MVC架构,分离了视图和控制器,使用Struts框架来实现控制器功能。 #### 二、Struts1 核心组件 **2.1 Struts框架简介** - **Struts**:一个开放源代码的MVC框架,用于简化Java Web应用程序...

    struts2常量详解

    通过理解并正确配置这些常量,开发者能够更精细地控制Struts2的行为,优化应用程序的性能和功能。例如,通过调整`struts.multipart.maxSize`可以防止因文件过大导致的服务器崩溃,而选择合适的`struts.multipart....

    Struts2的常量详解

    Struts2是一个流行的Java web应用程序框架,用于构建MVC(模型-视图-控制器)架构的应用。它提供了许多内置功能,如国际化、异常处理、插件扩展等,以简化开发流程。在Struts2中,配置是至关重要的,因为它们定义了...

    struts2入门实例教程详解

    Struts2基于WebWork,这意味着它引入了拦截器、结果类型等概念,提供更灵活的控制流。 #### 三、创建Struts2项目 按照Struts1.x的程序开发步骤,我们可以逐一对应到Struts2中: 1. **安装Struts2:** - 不同于...

    struts.xml和struts.properties配置详解

    Struts是Apache软件基金会(ASF)赞助的一个开源项目,它是一个用于构建企业级Java Web应用程序的MVC(Model-View-Controller)框架...在实际开发中,应根据项目的具体需求进行详细配置,以便实现灵活且高效的控制流。

    struts1详解教程

    总结,Struts1是Java Web开发中的一个重要框架,它通过规范化的结构和强大的功能,帮助开发者构建稳定、可扩展的Web应用程序。学习Struts1不仅包括理解其核心组件和工作流程,还包括掌握数据验证、Action类的使用...

    struts2讲义-详解

    在Struts2中,模型由Java对象实现,视图通常是JSP页面,控制器则由Struts2框架处理。通过这种方式,开发者可以专注于业务逻辑的实现,而无需关心展示层的细节。 三、Struts2架构 Struts2的核心组件包括Action、...

    struts2 学习重点笔记

    #### 二、Struts2 核心组件详解 **2.1 模型(Model)** - **功能**:提供业务逻辑和数据访问方法,保存应用程序状态信息。 - **实现技术**:JavaBean 或 EJB。 **2.2 视图(View)** - **实现技术**:JSP、FreeMarker ...

    Struts2之struts2文件下载详解案例struts012

    Struts2是一个强大的Java web应用程序框架,它提供了一种组织和构建MVC(模型-视图-控制器)架构的方式。在Struts2中处理文件下载是常见的需求,比如用户请求下载服务器上的文件,如PDF、图片或其他类型的文档。本...

    详解Struts2拦截器

    ### Struts2拦截器详解 #### 一、Struts2拦截器概述 Struts2框架作为Java Web开发中的一种流行框架,其核心组件之一便是**拦截器**。拦截器不仅在Struts2中扮演着重要角色,更是整个框架灵活性与扩展性的基石。...

    Struts2标签集锦(附Struts2标签详解word文档)

    在Struts2框架中,标签库是一系列预定义的JSP标签,它们提供了丰富的功能,如数据绑定、控制流、输入验证等,帮助开发者创建更加整洁、易于维护的代码。 Struts2标签库主要分为以下几个部分: 1. **核心标签(Core...

    Struts框架详解.doc

    - **代码复用**:通过MVC模式,Struts鼓励代码分离,使得模型、视图和控制器可以独立重用,降低了维护成本。 - **可扩展性**:Struts支持插件式架构,开发者可以通过实现特定接口来扩展框架功能,如添加新的拦截器或...

    Struts In Action 电子书 Struts1电子书

    - **Struts控制器组件**:Struts框架中的控制器组件主要负责处理HTTP请求,并根据不同的请求类型调用相应的Action处理类。 - **开发流程**:在使用Struts开发Web应用时,通常会遵循以下步骤: - 定义应用需求 - ...

    Eclipse 开发 Struts Demo 图解

    **Eclipse 开发 Struts Demo 图解** 在Java Web开发中,Struts框架是一个非常流行的MVC(模型-视图-控制器)架构,它帮助开发者组织和管理应用程序的业务逻辑、用户界面和控制流程。本教程将通过一个名为...

    Struts2.0学习Struts2.0文档

    #### 三、Struts 2.0 开发环境搭建详解 下面详细介绍如何搭建一个基本的Struts 2.0 开发环境,以便于后续的学习和实践。 **步骤1:下载Struts 2.0 包** - 访问Apache官网,下载最新的Struts 2.0 发行版。 **步骤...

    Eclipse开发Struts1.2

    【Eclipse开发Struts1.2】的知识点详解 Struts1.2 是一个流行的Java Web框架,它基于Model-View-Controller (MVC)设计模式,提供了强大的控制层功能,便于开发人员构建可维护、可扩展的Web应用程序。Eclipse作为一...

    Struts2.5.13jar包

    - **结果类型(Result Types)**:预定义的结果类型如`dispatcher`、`redirect`和`stream`,允许将控制流导向不同的目的地,如重定向、转发或下载文件。 - **数据校验(Validation)**:Struts2提供了基于注解和XML...

    struts

    ##### 3.1 Struts控制流 - **流程简介**:当用户向服务器发送请求时,该请求首先由控制器组件处理。控制器根据请求参数查找相应的模型组件进行业务逻辑处理,然后根据处理结果选择合适的视图组件返回给用户。 - **...

    Struts配置文件详解

    Struts是一个流行的Java EE框架,用于构建基于MVC(模型-视图-控制器)架构的Web应用程序。它的配置主要涉及两个XML文件:`web.xml`和`struts-config.xml`。 **web.xml配置详解:** `web.xml`是Web应用的部署描述符...

Global site tag (gtag.js) - Google Analytics