对于Struts和Spring两种MVC框架的比较
来源:互联网 发布:巨人网络程晨 编辑:程序博客网 时间:2024/04/30 13:27
基于Web的MVC framework在J2EE的世界内已是空前繁荣。TTS
如何选择一个好的框架
一、Struts
Struts是Apache软件基金下Jakarta项目的一部分。Struts框架的主要架构设计和
Struts有一组相互协作的类(组件)、Serlvet以及jsp tag lib组成。基于struts构架的web应用程序基本上符合JSP Model2的设计标准,可以说是MVC设计模式的一种变化类型。根据上面对framework的描述,我们很容易理解为什么说Struts是一个web framwork,而不仅仅是一些标记库的组合。但 Struts 也包含了丰富的标记库和独立于该框架工作的实用程序类。Struts有其自己的控制器(Controller),同时整合了其他的一些技术去实现模型层(Model)和视图层(View)。在模型层,Struts可以很容易的与数据访问技术相结合,包括EJB,JDBC和Object Relation Bridge。在视图层,Struts能够与JSP, Velocity Templates,XSL等等这些表示层组件想结合。
Struts的体系结构
struts framework是MVC 模式的体现,下面我们就从分别从模型、视图、控制来看看struts的体系结构(Architecture)。
从视图角度(View)
主要由JSP建立,struts自身包含了一组可扩展的自定义标签库(TagLib),可以简化创建用户界面的过程。目前包括:Bean Tags,HTML Tags,Logic Tags,Nested Tags,Template Tags这几个Taglib。有关它们的详细资料请参考struts用户手册。
从模型角度(Model)
模型主要是表示一个系统的状态(有时候,改变系统状态的业务逻辑操作也划分到模型中)。在Struts中,系统的状态主要有ActiomForm Bean体现,一般情况下,这些状态是非持久性的。如果需要将这些状态转化为持久性数据存储,Struts本身也提供了Utitle包,可以方便的与数据库操作。
从控制器角度(Controller)
在Struts framework中,Controller主要是ActionServlet,但是对于业务逻辑的操作则主要由Action、ActionMapping、ActionForward这几个组件协调完成(也许这几个组件,应该划分到模型中的业务逻辑一块)。其中,Action扮演了真正的业务逻辑的实现者,而ActionMapping和ActionForward则指定了不同业务逻辑或流程的运行方向。
对于Struts 如何控制、处理客户请求,让我们通过对struts的四个核心组件介绍来具体说明。这几个组件就是:ActionServlet。Action Classes,Action Mapping(此处包括ActionForward),ActionFrom Bean。
二、Spring
Spring实际上是《Expert One-on-One J2EE Design and Development》一书中所阐述的设计思想的具体实现。
在One-on-One一书中,Rod Johnson 倡导J2EE 实用主义的设计思想,并随书提供了一个初步的
Spring是一个开源框架,由Rod Johnson创建并且在他的着作《J2EE设计开发编程指南》里进行了描述。它是为了
简单来说,Spring是一个轻量的控制反转和面向切面的容器框架。当然,这个描述有点过于简单。但它的确概括出了Spring是做什么的。为了更好地理解Spring,让我们分析一下这个描述:
1、轻量
从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于轻量,从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。
2、控制反转
Spring通过一种称作控制反转(IoC)的
3、面向切面
Spring包含对面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统
4、容器
Spring包含和管理应用对象的配置和生命周期,在这个意义上它是一种容器。你可以配置你的每个bean如何被创建?基于一个配置原形为你的bean创建一个单独的实例或者每次需要时都生成一个新的实例以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量的EJB容器,它们经常是庞大与笨重的,难以使用。
框架:Spring是由简单的组件配置和组合复杂的应用成为可能。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础
所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种子框架提供了基础。
- 对于Struts和Spring两种MVC框架的比较
- 对于Struts和Spring两种MVC框架的比较
- 对于Struts和Spring两种MVC框架的比较
- 对于Struts和Spring两种MVC框架的比较
- 对于Struts和Spring两种MVC框架的比较
- 对于Struts和Spring两种MVC框架的比较
- 对于Struts和Spring两种MVC框架的比较
- 对于Struts和Spring两种MVC框架的比较
- 转载:对于Struts和Spring两种MVC框架的比较
- Struts VS Spring 两种MVC框架比较
- Struts VS Spring 两种MVC框架比较
- Struts VS Spring 两种MVC框架比较
- Struts VS Spring两种MVC框架比较
- Struts VS Spring 两种MVC框架
- Struts和Spring 实现mvc的比较
- Spring MVC和Struts的比较
- 浅谈spring mvc和struts的比较
- 简介Struts VS Spring 两种MVC框架
- JueJue的2007和Vision of 2008
- O Reilly - Linux Network Administrator Guide 2nd Edition
- SD--发货处理的增强出口说明(摘自:note 415716)
- linux安装记之二
- ZeroHack's Hacking AIO Christmas Edition [zh-haxme]
- 对于Struts和Spring两种MVC框架的比较
- Java技术-J2EE开发日记-MyEclipse快捷键与插件大全
- oracle二维数组
- 中医
- ubuntu安装与3D设置
- Sql Loader的使用
- 第一次初步计划
- 使用JSF技术开发Web应用程序
- 执行力的培养法则:出色完成任务的罗文精神