本文是俺在公司技术会议上的演讲提纲
算是一个小教程吧。
Struts 原理与应用 2003年12月1日
Chapter 1: MVC Architecture
介绍Struts的理论基础,MVC架构
Chapter 2: J2EE N-tiers Structure
介绍J2EE的n层结构以及Struts所处的位置
Chapter 3: Struts Configuration
Struts的基本安装说明
Chapter 4: Example 1: Basic Framework
一个最简单的例子,用来熟悉Struts的基本用法
Chapter 5: Struts Work Flow
介绍Struts的工作流程
Chapter 6: Example 2: Login Application
Struts提供的example,简单登陆程序。
Chapter 7: Taglib and Other Skills
介绍Taglib在Struts中的应用,以及其他相关功能
Chapter 8: Other Web Framework
Struts与其他Framework的比较
Chapter 1: MVC Architecture
Struts principle and practice
模型-视图-控制器(MVC)是80年代Smalltalk-80出现的一种软件设计模式,现在已经被广泛的使用。
1 模型(Model)
模型是应用程序的主体部分。模型表示业务数据,或者业务逻辑.
2 视图(View)
视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。
3 控制器(controller)
控制器工作就是根据用户的输入,控制用户界面数据显示和更新model对象状态。
![](/Develop/ArticleImages/22/22571/CSDN_Dev_Image_2003-12-52020510.jpg)
MVC 式的出现不仅实现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性
早期的程序中,如果不注意对数功能和显示的解耦合,常常会导致程序的复杂及难以维护。很多VB,Delphi等RAD程序都有这种问题。甚至现在的C#,Java有时候也会出现把业务逻辑写在显示模块中的现象
管MVC设计模式很早就提出,但在Web项目的开发中引入MVC却是步履维艰。主要原因:一是在早期的Web项目的开发中,程序语言和HTML的分离一直难以实现。CGI程序以字符串输出的形式动态地生成HTML内容。后来随着脚本语言的出现,前面的方式又被倒了过来,改成将脚本语言书写的程序嵌入在HTML内容中。这两种方式有一个相同的不足之处即它们总是无法将程序语言和HTML分离。二是脚本语言的功能相对较弱,缺乏支持MVC设计模式的一些必要的技术基础。直到基于J2EE的JSP Model 2问世时才得以改观。它用JSP技术实现视图的功能,用Servlet技术实现控制器的功能,用JavaBean技术实现模型的功能
JSP Model 1 与 JSP Model 2
SUN在JSP出现早期制定了两种规范,称为Model1和Model2。虽然Model2在一定程度上实现了MVC,但是它的应用用并不尽如人意
![](/Develop/ArticleImages/22/22571/CSDN_Dev_Image_2003-12-52020512.gif)
JSP Model 1
![](/Develop/ArticleImages/22/22571/CSDN_Dev_Image_2003-12-52020514.gif)
JSP Model 2
model2 容易使系统出现多个Controller,并且对页面导航的处理比较复杂
有些人觉得model2仍不够好,于是Craig R. McClanahan 2000年5月 提交了一个WEB framework给Java Community.这就是后来的Struts.
2001年7月,Struts1.0,正式发布。该项目也成为了Apache Jakarta的子项目之一
Struts 质上就是在Model2的基础上实现的一个MVC架构。它只有一个中心控制器,他采用XML定制转向的URL。采用Action来处理逻辑
Chapter 2: J2EE N-tiers Structure
Struts principle and practice
早期的网络系统设计常常采用三层结构。最常见的结构,就是表示( presentation )层 , 领域( domain )层 , 以及基础架构( infrastructure )层。
n层结构的提出是为了适应当前B/S模式开发WEB Application的需要而提出的。传统的Brown模型是指:表示层( Presentation ),控制 / 中介层( Controller/Mediator ),领域层( Domain ) , 数据映射层( Data Mapping ) , 和数据源层( Data Source )。它其实就是在三层架构中增加了两个中间层。控制 / 中介层位于表示层和领域层之间,数据映射层位于领域层和基础架构层之间。
J2EE规范提出了自己的n-tiers结构。
![](/Develop/ArticleImages/22/22571/CSDN_Dev_Image_2003-12-52020516.gif)
下表是几种模型的对照
ISA | Brown | J2EE 层 | 对应程序部分 | |
表示层 | 表示层 | 客户层 | 浏览器 HTML 页面, XSL, 手机客户端等 | |
服务器表示层 | JSP 及 ActionForm ,XML |
| 控制 / 中介层 | | Controller 控制器及 Action | |
领域层 | 领域层 | 业务层 | Javabeans / SessionBean /Session Facade | |
| 数据映射层 | 整合层 | EntityBean / JDO / Hibernate / JDBC | |
数据层 | 数据源层 | 资源层 | RDBMS 数据库 | |
J2EE的基本原则之一,是使得各个层的实现解除耦合或耦合最小化。最终实现可以任意的切换某个层的实现。
例如,在数据映射层,可以采用EJB的BMP,CMP,也可以采用Hibernate等O/RMapping,或者采用JDO。这由部署的环境来决定。
分享到:
相关推荐
**Struts原理** Struts作为MVC框架,其主要原理包括以下几个方面: 1. **控制器(Controller)**:Struts的控制器是ActionServlet,它拦截所有的HTTP请求,并根据配置文件(struts-config.xml)来决定调用哪个Action...
Struts、Spring MVC和Struts2是Java Web开发中三个重要的MVC框架,它们都用于构建基于模型-视图-控制器(MVC)设计模式的Web应用程序。下面将分别介绍这三个框架的工作原理,并进行对比。 **Struts1原理:** Struts...
理解Struts的工作原理对于开发高效且易于维护的Java Web应用至关重要。 ### Struts框架的核心组件 1. **核心控制器 (ActionServlet)**: Struts框架的核心是ActionServlet,它是一个实现了Servlet接口的类。在Web...
### Struts1与Struts2原理及区别详解 #### Struts1原理概述 **Struts1** 是一种基于MVC架构的开源Java Web框架,它主要用于构建动态网站和应用程序。Struts1的核心组件包括ActionServlet、ActionForm以及Action...
**Struts原理** Struts框架的核心是Action和ActionForm。Action是业务逻辑的载体,它接收并处理来自用户请求的数据,然后调用相应的服务层方法进行处理。ActionForm则用于在Action和视图之间传递数据,它包含了表单...
Struts是一个开源的Web应用程序框架,属于MVC(Model-View-Controller)模式的一种实现。它主要用于Java EE平台上的Web开发,能够帮助开发者快速构建可维护性强、易于扩展的企业级应用。Struts框架的核心组件包括...
【标题】:“Hibernate、Spring和Struts工作原理及使用理由” 【内容】: Hibernate是一个流行的Java持久化框架,它的核心工作原理主要包括以下步骤: 1. **读取并解析配置文件**:Hibernate通过读取hibernate....
Hibernate是一个ORM(Object-Relational Mapping)框架,它将Java对象与关系数据库的数据进行映射,实现了对象与数据库之间的一套映射规则。其主要工作流程包括: 1. 加载并解析配置文件和映射信息,创建...
Struts 体系结构与工作原理 Struts 体系结构是目前基于 Java 的 Web 系统设计中广泛使用的 MVC ...Struts 体系结构与工作原理是 Java Web 开发中的一种常见的设计模式,能够帮助开发者快速构建高质量的 Web 应用程序。
`struts原理.txt`文件可能包含了文字描述,进一步解释了Struts2的核心概念和机制,比如Action的配置、结果映射、拦截器的实现方式,以及Struts2如何整合其他技术,如Spring或Hibernate进行依赖注入和持久化操作。...
Struts是Java Web开发中的一个开源框架,由Apache软件基金会维护。它主要基于Model-View-Controller(MVC)设计模式,旨在简化企业...通过阅读《Struts原理与实践(一)》PDF文档,可以更深入地了解和掌握Struts框架。
罗会波的《Struts原理与实践》这本书深入浅出地解析了Struts的核心概念和技术,帮助开发者全面理解和掌握这一框架。 1. **MVC设计模式**:Struts将Web应用的业务逻辑、数据模型和用户界面分离,使得开发者可以独立...
Struts 是一个开源的 Java Web 开发框架,它遵循 Model-View-Controller(MVC)设计模式,旨在简化企业级应用程序的开发。Apache 基金会的 Jakarta 项目组负责维护 Struts,该框架利用诸如 Java Servlets、JavaBeans...
Struts 是一个开源的Java Web应用程序框架,专为构建企业级Web应用而设计。它遵循Model-View-Controller (MVC)设计模式,旨在解决在Model 1架构中出现的问题,提高开发效率和代码的可维护性。Struts 的核心在于提供...
Struts是一个基于Model-View-Controller (MVC)设计模式的Java Web框架,它使得开发者能够更有效地构建可维护和可扩展的Web应用程序。在深入理解Struts的工作原理之前,我们先来简单回顾一下MVC模式的基本概念: **...
在Java Web开发领域,Struts2 是一个应用广泛的框架,它作为 Apache 基金会下的一个项目,是继 Struts 1 之后的一个全新版本。Struts2 构建在WebWork 的技术基础上,它为开发者提供了一套完备的MVC(Model-View-...
Struts2是一个基于MVC(Model-View-Controller)设计模式的Java web框架,它极大地简化了构建可重用、可维护的Java EE应用程序的过程。理解Struts2的工作原理是深入学习和有效利用该框架的关键。下面将详细介绍...
总的来说,Struts2框架提供了一个结构化的方法来组织和管理Web应用,简化了开发过程,通过配置文件和拦截器机制实现了高度的灵活性和可扩展性。然而,随着Spring MVC和其他轻量级框架的发展,Struts2在现代Web开发中...