`
冰云
  • 浏览: 142133 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

Struts 原理与应用(一)

阅读更多

本文是俺在公司技术会议上的演讲提纲

算是一个小教程吧。

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对象状态。

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,但是它的应用用并不尽如人意

JSP Model 1

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结构。

下表是几种模型的对照

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原理** Struts作为MVC框架,其主要原理包括以下几个方面: 1. **控制器(Controller)**:Struts的控制器是ActionServlet,它拦截所有的HTTP请求,并根据配置文件(struts-config.xml)来决定调用哪个Action...

    struts1原理,struts2原理,spring mvc原理,struts1和struts2,struts和spring mvc

    Struts、Spring MVC和Struts2是Java Web开发中三个重要的MVC框架,它们都用于构建基于模型-视图-控制器(MVC)设计模式的Web应用程序。下面将分别介绍这三个框架的工作原理,并进行对比。 **Struts1原理:** Struts...

    Struts 原理 流程图

    理解Struts的工作原理对于开发高效且易于维护的Java Web应用至关重要。 ### Struts框架的核心组件 1. **核心控制器 (ActionServlet)**: Struts框架的核心是ActionServlet,它是一个实现了Servlet接口的类。在Web...

    Struts1与Struts2原理 区别详解汇总

    ### Struts1与Struts2原理及区别详解 #### Struts1原理概述 **Struts1** 是一种基于MVC架构的开源Java Web框架,它主要用于构建动态网站和应用程序。Struts1的核心组件包括ActionServlet、ActionForm以及Action...

    struts原理

    **Struts原理** Struts框架的核心是Action和ActionForm。Action是业务逻辑的载体,它接收并处理来自用户请求的数据,然后调用相应的服务层方法进行处理。ActionForm则用于在Action和视图之间传递数据,它包含了表单...

    struts框架原理图

    Struts是一个开源的Web应用程序框架,属于MVC(Model-View-Controller)模式的一种实现。它主要用于Java EE平台上的Web开发,能够帮助开发者快速构建可维护性强、易于扩展的企业级应用。Struts框架的核心组件包括...

    Hibernate、Spring和Struts工作原理及使用理由

    【标题】:“Hibernate、Spring和Struts工作原理及使用理由” 【内容】: Hibernate是一个流行的Java持久化框架,它的核心工作原理主要包括以下步骤: 1. **读取并解析配置文件**:Hibernate通过读取hibernate....

    struts体系结构与工作原理

    Struts 体系结构与工作原理 Struts 体系结构是目前基于 Java 的 Web 系统设计中广泛使用的 MVC ...Struts 体系结构与工作原理是 Java Web 开发中的一种常见的设计模式,能够帮助开发者快速构建高质量的 Web 应用程序。

    Struts原理与实践

    ### Struts原理与实践 #### 一、Struts框架概览 **Struts**框架,作为Java Web开发领域内的一款成熟且广泛应用的框架,自问世以来便受到开发者们的青睐。Struts框架的核心设计理念在于实现MVC(Model-View-...

    struts2 原理 解析 图

    `struts原理.txt`文件可能包含了文字描述,进一步解释了Struts2的核心概念和机制,比如Action的配置、结果映射、拦截器的实现方式,以及Struts2如何整合其他技术,如Spring或Hibernate进行依赖注入和持久化操作。...

    Spring+Hibernate+Struts工作原理

    Hibernate是一个ORM(Object-Relational Mapping)框架,它将Java对象与关系数据库的数据进行映射,实现了对象与数据库之间的一套映射规则。其主要工作流程包括: 1. 加载并解析配置文件和映射信息,创建...

    Struts原理与实践(一) .rar

    Struts是Java Web开发中的一个开源框架,由Apache软件基金会维护。它主要基于Model-View-Controller(MVC)设计模式,旨在简化企业...通过阅读《Struts原理与实践(一)》PDF文档,可以更深入地了解和掌握Struts框架。

    Struts原理与实践(罗会波)

    罗会波的《Struts原理与实践》这本书深入浅出地解析了Struts的核心概念和技术,帮助开发者全面理解和掌握这一框架。 1. **MVC设计模式**:Struts将Web应用的业务逻辑、数据模型和用户界面分离,使得开发者可以独立...

    struts原理与实践(一)

    Struts 是一个开源的Java Web应用程序框架,专为构建企业级Web应用而设计。它遵循Model-View-Controller (MVC)设计模式,旨在解决在Model 1架构中出现的问题,提高开发效率和代码的可维护性。Struts 的核心在于提供...

    Struts的工作原理

    Struts是一个基于Model-View-Controller (MVC)设计模式的Java Web框架,它使得开发者能够更有效地构建可维护和可扩展的Web应用程序。在深入理解Struts的工作原理之前,我们先来简单回顾一下MVC模式的基本概念: **...

    Struts2 技术内幕——深入解析Struts2架构设计与实现原理

    在Java Web开发领域,Struts2 是一个应用广泛的框架,它作为 Apache 基金会下的一个项目,是继 Struts 1 之后的一个全新版本。Struts2 构建在WebWork 的技术基础上,它为开发者提供了一套完备的MVC(Model-View-...

    Struts的体系结构与工作原理

    Struts 是一个开源的 Java Web 开发框架,它遵循 Model-View-Controller(MVC)设计模式,旨在简化企业级应用程序的开发。Apache 基金会的 Jakarta 项目组负责维护 Struts,该框架利用诸如 Java Servlets、JavaBeans...

    struts2工作原理图

    Struts2是一个基于MVC(Model-View-Controller)设计模式的Java web框架,它极大地简化了构建可重用、可维护的Java EE应用程序的过程。理解Struts2的工作原理是深入学习和有效利用该框架的关键。下面将详细介绍...

    Struts2基本原理

    总的来说,Struts2框架提供了一个结构化的方法来组织和管理Web应用,简化了开发过程,通过配置文件和拦截器机制实现了高度的灵活性和可扩展性。然而,随着Spring MVC和其他轻量级框架的发展,Struts2在现代Web开发中...

Global site tag (gtag.js) - Google Analytics