社区
Java EE
帖子详情
struts和spring的MVC区别
fly200841700
2009-09-05 09:12:42
struts和spring的MVC区别
...全文
146
6
打赏
收藏
struts和spring的MVC区别
struts和spring的MVC区别
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhuyouyong
2009-09-06
打赏
举报
回复
区别很大
Shine_Panda
2009-09-06
打赏
举报
回复
一句话,struts,spring是mvc的实现
zw393
2009-09-06
打赏
举报
回复
别问这些初级问题了,丢人。
Pbulic
2009-09-05
打赏
举报
回复
基于Web的MVC framework在J2EE的世界内已是空前繁荣。TTS网站上几乎每隔一两个星期就会有新的MVC框架发布。目前比较好的MVC,老牌的有Struts、Webwork。新兴的MVC框架有Spring MVC、Tapestry、JSF等。这些大多是著名团队的作品,另外还有一些边缘团队的作品,也相当出色,如Dinamica、VRaptor等。这些框架都提供了较好的层次分隔能力。在实现良好的MVC 分隔的基础上,通过提供一些现成的辅助类库,同时也促进了生产效率的提高。
如何选择一个好的框架应用在你的项目中,将会对你的项目的效率和可重用是至关重要的。本文将对目前最流行、最常用的两种framework进行介绍。
一、Struts
Struts是Apache软件基金下Jakarta项目的一部分。Struts框架的主要架构设计和开发者是Craig R.McClanahan。Struts是目前Java Web MVC框架中不争的王者。经过长达五年的发展,Struts已经逐渐成长为一个稳定、成熟的框架,并且占有了MVC框架中最大的市场份额。但是Struts某些技术特性上已经落后于新兴的MVC框架。面对Spring MVC、Webwork2 这些设计更精密,扩展性更强的框架,Struts受到了前所未有的挑战。但站在产品开发的角度而言,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则指定了不同业务逻辑或流程的运行方向。
blliy117
2009-09-05
打赏
举报
回复
strut1还是2
个人觉得strtus1和2都比spring的MVC要容易学得多。
strtus1 是通过ActionServlet 来代理
spring 是通过DispatchServlet 来代理
都是通过实现或继承几个基类来完成request!
说到具体的区别,还真没有比较过。
除了url配置上差异比较大以外,觉得实现上都不会相差太多。不过spring MVC要比strut1强,
配置也很灵活,还带了中断器(struts2也有)。
struts2的话变化就比较大了,是通过StrutsPrepareAndExecuteFilter
使用了一段时间发现比较智能,结合了多struts1和springMVC的优点了。
配置像struts1一样简单,功能也不比springMVC弱!
feishare
2009-09-05
打赏
举报
回复
spring的MVC也蛮好用的说~~
struts
1原理,
struts
2原理,
spring
mvc
原理,
struts
1和
struts
2,
struts
和
spring
mvc
struts
1工作原理
struts
2工作原理
struts
1和
struts
2比较
spring
mvc
工作原理
struts
和
spring
mvc
比较
spring
web
mvc
struts
2.5 很难找的依赖包
我自己找了好久,希望能够帮助大家,节省点时间
spring
web
mvc
struts
2.5
spring
web
mvc
struts
2.5
spring
web
mvc
struts
2.5
spring
web
mvc
struts
2.5
spring
web
mvc
struts
2.5
spring
web
mvc
struts
2.5
spring
web
mvc
struts
2.5
spring
web
mvc
struts
2.5
spring
web
mvc
struts
2.5
spring
web
mvc
struts
2.5
spring
web
mvc
struts
2.5
spring
web
mvc
struts
2.5
spring
web
mvc
struts
2.5
spring
web
mvc
struts
2.5
spring
web
mvc
struts
2.5
spring
web
mvc
struts
2.5
spring
web
mvc
struts
2.5
spring
web
mvc
struts
2.5
spring
web
mvc
struts
2.5
spring
-web
mvc
-
struts
.jar
spring
-web
mvc
-
struts
.jar对
Struts
和
Spring
整合时需要用到的包
struts
VS
spring
mvc
including
spring
and
struts
' differents ,introducing them so deeply but simplely.
struts
和
spring
的
MVC
模式的比较
对于
Struts
和
Spring
两种
MVC
框架的比较
Java EE
67,512
社区成员
225,881
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章