Struts框架是基于控制层的一个MVC框架,所以对于Struts框架来说,最核心的东西就是控制。这次毕业论文答辩的时候,老师问了“什么叫控制”。当时听起来有点雷人。但是事后一想,确实是这样,Struts就是控制。我毕业论文是采用Struts框架实现的。当然里面少不了关于控制的理论。我当时回答他的是关于web应用上,控制代表的操作。比如对页面传递过来的信息进行校验,分发等。但是老师对我的答案不是认同,他说我这个是纯工程上的说法,我们要求从理论上说,他从控制论的角度去解释了一下控制。他说的虽然有点空,但是也不是不对,可能这也是我们这些工程人员所欠缺的吧。
既然Struts最核心的就是控制,那么下面就解释一下Struts的控制流。首先看一张时序图。
说明:
- 客户端请求匹配Action URI 样式的路径
- 讲客户端请求传递给ActionServlet ,服务器容器执行。
- 如果这个是模块化的,将选择相应的模块。
- ActionServlet查询路径的映射,在struts-config.xml文件中。
- 如果映射标明了一个form bean ,ActionServlet判断它是否存在。
- 如果mapping的validate字段为true,则调用validate方法。
- 如果失败,ActionServlet转发给input对应的页面。
- 如果mapping标明一个Action,如果它已经存在或实例化,则他被重用。
- 执行Action的execute方法。调用用户自定义bean。
- Action 返回一个ActionForward给ActionServlet。
- ActionForward指定一个URI,返回用户视图。
其实Struts控制是一个比较简单的过程,他主要是控制数据有效性,还有控制数据传递路径有效。还定义了一些如果出错会采取那些办法。这里面用到了很多很好的面向对象的思想。值得去借鉴。在接下来会研究一下。
分享到:
相关推荐
- **Model 2**:更复杂的MVC架构,分离了视图和控制器,使用Struts框架来实现控制器功能。 #### 二、Struts1 核心组件 **2.1 Struts框架简介** - **Struts**:一个开放源代码的MVC框架,用于简化Java Web应用程序...
通过理解并正确配置这些常量,开发者能够更精细地控制Struts2的行为,优化应用程序的性能和功能。例如,通过调整`struts.multipart.maxSize`可以防止因文件过大导致的服务器崩溃,而选择合适的`struts.multipart....
Struts2是一个流行的Java web应用程序框架,用于构建MVC(模型-视图-控制器)架构的应用。它提供了许多内置功能,如国际化、异常处理、插件扩展等,以简化开发流程。在Struts2中,配置是至关重要的,因为它们定义了...
Struts2基于WebWork,这意味着它引入了拦截器、结果类型等概念,提供更灵活的控制流。 #### 三、创建Struts2项目 按照Struts1.x的程序开发步骤,我们可以逐一对应到Struts2中: 1. **安装Struts2:** - 不同于...
Struts是Apache软件基金会(ASF)赞助的一个开源项目,它是一个用于构建企业级Java Web应用程序的MVC(Model-View-Controller)框架...在实际开发中,应根据项目的具体需求进行详细配置,以便实现灵活且高效的控制流。
总结,Struts1是Java Web开发中的一个重要框架,它通过规范化的结构和强大的功能,帮助开发者构建稳定、可扩展的Web应用程序。学习Struts1不仅包括理解其核心组件和工作流程,还包括掌握数据验证、Action类的使用...
在Struts2中,模型由Java对象实现,视图通常是JSP页面,控制器则由Struts2框架处理。通过这种方式,开发者可以专注于业务逻辑的实现,而无需关心展示层的细节。 三、Struts2架构 Struts2的核心组件包括Action、...
#### 二、Struts2 核心组件详解 **2.1 模型(Model)** - **功能**:提供业务逻辑和数据访问方法,保存应用程序状态信息。 - **实现技术**:JavaBean 或 EJB。 **2.2 视图(View)** - **实现技术**:JSP、FreeMarker ...
Struts2是一个强大的Java web应用程序框架,它提供了一种组织和构建MVC(模型-视图-控制器)架构的方式。在Struts2中处理文件下载是常见的需求,比如用户请求下载服务器上的文件,如PDF、图片或其他类型的文档。本...
### Struts2拦截器详解 #### 一、Struts2拦截器概述 Struts2框架作为Java Web开发中的一种流行框架,其核心组件之一便是**拦截器**。拦截器不仅在Struts2中扮演着重要角色,更是整个框架灵活性与扩展性的基石。...
在Struts2框架中,标签库是一系列预定义的JSP标签,它们提供了丰富的功能,如数据绑定、控制流、输入验证等,帮助开发者创建更加整洁、易于维护的代码。 Struts2标签库主要分为以下几个部分: 1. **核心标签(Core...
- **代码复用**:通过MVC模式,Struts鼓励代码分离,使得模型、视图和控制器可以独立重用,降低了维护成本。 - **可扩展性**:Struts支持插件式架构,开发者可以通过实现特定接口来扩展框架功能,如添加新的拦截器或...
- **Struts控制器组件**:Struts框架中的控制器组件主要负责处理HTTP请求,并根据不同的请求类型调用相应的Action处理类。 - **开发流程**:在使用Struts开发Web应用时,通常会遵循以下步骤: - 定义应用需求 - ...
**Eclipse 开发 Struts Demo 图解** 在Java Web开发中,Struts框架是一个非常流行的MVC(模型-视图-控制器)架构,它帮助开发者组织和管理应用程序的业务逻辑、用户界面和控制流程。本教程将通过一个名为...
【Eclipse开发Struts1.2】的知识点详解 Struts1.2 是一个流行的Java Web框架,它基于Model-View-Controller (MVC)设计模式,提供了强大的控制层功能,便于开发人员构建可维护、可扩展的Web应用程序。Eclipse作为一...
- **结果类型(Result Types)**:预定义的结果类型如`dispatcher`、`redirect`和`stream`,允许将控制流导向不同的目的地,如重定向、转发或下载文件。 - **数据校验(Validation)**:Struts2提供了基于注解和XML...
##### 3.1 Struts控制流 - **流程简介**:当用户向服务器发送请求时,该请求首先由控制器组件处理。控制器根据请求参数查找相应的模型组件进行业务逻辑处理,然后根据处理结果选择合适的视图组件返回给用户。 - **...
Struts是一个流行的Java EE框架,用于构建基于MVC(模型-视图-控制器)架构的Web应用程序。它的配置主要涉及两个XML文件:`web.xml`和`struts-config.xml`。 **web.xml配置详解:** `web.xml`是Web应用的部署描述符...