posts - 42, comments - 7, trackbacks - 0, articles - 1

          Spring與Struts的區別

          Posted on 2008-04-25 11:04 TuringJava 閱讀(1629) 評論(0)  編輯  收藏 所屬分類: StructsSpring2.0

          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,絕對沒得說。
          主站蜘蛛池模板: 双鸭山市| 克东县| 诏安县| 富源县| 富裕县| 成武县| 黄龙县| 伽师县| 大埔区| 玛纳斯县| 葵青区| 防城港市| 竹溪县| 南昌县| 门源| 宣汉县| 盘锦市| 喀喇| 横峰县| 石嘴山市| 平湖市| 保亭| 满洲里市| 红原县| 桓仁| 元江| 凤阳县| 舞阳县| 金堂县| 德江县| 曲麻莱县| 马公市| 兴海县| 日土县| 黄大仙区| 梁河县| 临桂县| 高邮市| 安新县| 黄陵县| 玉环县|