`
k_lb
  • 浏览: 837876 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论
  • kitleer: 据我所知,国内有款ETL调度监控工具TaskCTL,支持ket ...
    kettle调度

Spring与Struts的区别(转载)

 
阅读更多

原文转自:http://www.blogjava.net/chenwc1984/archive/2008/04/25/195907.html

struts只是一个mvc框架,用于快速开发java web应用。struts实现的重点在c(controller),包括actionservlet/requestprocessor和我们定制的action,也为v(view)提供了一系列定制标签。struts几乎没有涉及m(model),所以struts可以采用java实现的任何形式的商业逻辑。

spring是一个轻型容器(light-weight container),其核心是bean工厂(bean factory),用以构造我们所需要的m(model)。在此基础之上,spring提供了aop的实现,用它来提供非管理环境下申明方式的事务、安全等服务;对bean工厂的扩展applicationcontext更加方便我们实现j2ee的应用;dao/orm的实现方便我们进行数据库的开发;web mvc和spring web提供了java web应用的框架或与其他流行的web框架进行集成。

现在大体说一下:
structs:和ww2等一样,都是典型的mvc结构框架,至于mvc是什么,地球人都知道,如果你不知道就google吧:),structs偏重于表现层,它自己起一个控制器的作用即controller,它可以良好的把表现层与业务层分离开来。

spring:说白了就是一个大杂烩,提供了目前各种流行框架的集成,经典的有对hibernate的集成,此外,如mail,axis...各种都有。另外,它比较经典的就是ioc与aop的功能,楼上已经有人说了,如果你不知道,去google。此外,它还提供了spring mvc,它基于webflow,至于用法,去查它的文档。

structs的actionform是公认的败笔,我用得痛苦得不得了。
另外,你说的重复提交,那是浏览器的问题,和structs无关。看你如何指挥浏览器了,如果你用redirect,就没有重复提交的问题,因为浏览器已经重定向了。但是你用forward,那在你刷新的时候就是重复提交。

spring比较偏重于业务层,在页面上一般是不显示出来的。当然,如果你用spring的mvc例外。
如果楼主讨论的是spring mvc和structs的话,那我告诉你,spring mvc绝对要比structs优秀,但是实现起来比structs复杂,structs占在人多力量大,成熟,文档多。

如果你真要用的话,还是建议你使用webwork,拦截器功能强大,使用ognl,绝对没得说。



分享到:
评论

相关推荐

    Struts1+Spring2+Hibernate3图解入门教程

    Struts1+Spring2+Hibernate3图解入门教程,此文是刘晓涛老师演示的Demo并布置为课后作业,由邓延同学整理而成,版权为刘晓涛与邓延共有,转载须保留出处! 现在kqogje把它整理了下,做成了chm的电子书。

    Spring2.5.3+Struts2.0.11.1+Hibernate3.2.6整合备忘 (转载)

    Spring2.5.3+Struts2.0.11.1+Hibernate3.2.6整合备忘 (转载)

    Struts2+Spring+Ibatis整合的简单人事管理系统

    Struts2+Spring+Ibatis整合的简单人事管理系统 没分了,转载过来的,有需要的看看吧,我觉得不错~~

    jsr168 portlet(struts2+spring2.5+hibernate3.3)(转载)

    【标题】"jsr168 portlet"是基于Java标准JSR168实现的portlet应用,它结合了Struts2、Spring2.5和Hibernate3.3这三大流行框架,以构建可复用、模块化的Web应用程序。JSR168(Portlet API 1.0)为portlet开发提供了...

    Servlet和Struts2的交互(转载)

    在Servlet与Struts2的交互中,通常有两种方式: 1. 直接集成:在Servlet中创建Struts2的ActionContext,并手动设置请求和响应对象,然后调用Action的execute()方法执行业务逻辑。 2. 使用Filter转发:配置Struts2的...

    采用struts+spring+hibernate架构电信业务系统

    本系统采用struts+spring+hibernate架构,重在讲述三者结合在一起的应用开发,所有源程序都 有详细的注释,供入门者学生参考,未经作者允许不得用于商业用途,只能用于教学或个人学习。 程序只是整个系统中的...

    hibernate325ga+struts2011+spring25实现crud

    本框架选用的技术struts2.0.11,hibernate3.2.5ga,spring-framework-2.5,oracle92,少量采用ext-2.0脚本技术,IDE-myeclipse601 部署时,可修改web-inf/config/spring/applicationContext.xml文件,修改相应的数据库信息...

    中国移动业务管理系统(struts+spring+hibernate)源码

    本系统采用struts+spring+hibernate架构,重在讲述三者结合在一起的应用开发,所有源程序都有详细的注释,供入门者学生参考,未经作者允许不得用于商业用途,只能用于教学或个人学习。 程序只是整个系统中的一个...

    基于struts+spring+hibernate的网上订餐系统源码

    课程包含: 项目源码、项目文档、数据库脚本、软件工具等所有资料 ...版权声明:本文为CSDN博主「心碎的恶魔」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:htt

    虚拟数据层 Struts2、Hibernate、Spring整合的泛型DAO Version 2010.9.27

    Struts2、Hibernate、Spring整合的泛型DAO (本人评价: 代码开发效率提高30% 代码出错率减少70%) 对于大多数开发人员,系统中的每个 DAO 编写几乎相同的代码到目前为止已经成为一种习惯。虽然所有人都将这种重复...

    华为面试试题,很经典,转载

    【标题】华为面试试题,很经典,转载 在IT行业中,华为作为全球领先的信息与通信技术(ICT)解决方案供应商,其面试题目往往被视为衡量技术能力的重要标准。这些经典的面试问题涵盖了多个领域,不仅测试候选人的专业...

    【转载】Myeclipse10下搭建SSH框架(图解)

    SSH(Struts2、Spring、Hibernate)是Java开发中常见的三大开源框架,它们分别负责MVC模式中的表现层、业务层和服务层。本教程以MyEclipse10为开发环境,详细讲解如何搭建SSH框架。 1. **创建Web Project** - 在...

    web班级作业管理系统后台.7z

    spring+spring mvc+mybatis+bootstrap+jquery+struts2+hibernate 数据库文件 见压缩包 jar包文件 见压缩包 运行视频 无 是否原创(转载必填原文地址) 是 运行截图(必填) 注意事项 前端教师和...

    基于SSH框架的在线考试系统 ,使用bootstrap作为前端框架

    spring+Struts2+Hibernate+bootstrap+jquery 数据库文件 链接1:https://pan.baidu.com/s/15c2WvRtGRf_Nvzu0NCs0ow 密码:gjqj 链接2: https://pan.baidu.com/s/1egyQB8AwBorgiy9TrKQInw 密码: ztcv jar包文件 ...

    WebSphere6.1与SSH2+JPA2不兼容问题解决

    例如,在WebSphere 6.1上部署基于SSH2(Spring + Struts2 + Hibernate)和JPA2的应用程序时,由于WebSphere 6.1使用的是IBM JDK 1.5,且内置的一些jar包版本较老,这可能导致与SSH2架构中的新版本jar包存在不兼容的...

Global site tag (gtag.js) - Google Analytics