我的蛋殼

          倡導自由、開放、分享的Java技術社區 http://www.javaread.com

           

          小話Java Web層框架,你在用哪個呢?

          現在java web框架非常多,林林總總,讓很多人不知道選擇那個好:JSF、Spring MVC、Stripes、Struts 2、Tapestry和Wicket,他們都是各有千秋,面對各種問題,八仙過海,各顯神通。
          這里就小話一下他們的優缺點。
           
          JSF
          優點:
          Java EE標準,這意味著有很大的市場需求和更多的工作機會
          上手快速并且相對容易
          有大量可用的組件庫
          缺點:
          大量的JSP標簽
          對REST和安全支持不好
          沒有一個統一的實現。既有SUN的實現,又有Apache的實現——MyFaces。
          國內的OperaMasks還支持AJAX,以及有開發工具支持

          Spring MVC
          優點:
          對覆蓋綁定(overriding binding)、驗證(validation)等提供生命周期管理
          與許多表示層技術/框架無縫集成:JSP/JSTL、Tiles、Velocity、FreeMarker、Excel、XSL、PDF等
          便于測試——歸功于IoC
          缺點:
          大量的XML配置文件
          太過靈活——沒有公共的父控制器
          沒有內置的Ajax支持

          Stripes (現已發布1.5版本)
          優點:
          不需要書寫XML配置文件
          良好的學習文檔
          社區成員很熱心
          缺點:
          社區比較小
          不如其他的項目活躍
          ActionBean里面的URL是硬編碼的

          Struts 2
          優點:
          架構簡單——易于擴展
          標記庫很容易利用FreeMarker或者Velocity來定制
          基于控制器或者基于頁面的導航
          缺點:
          文檔組織得很差
          對新特征過分關注
          通過Google搜索到的大多是Struts 1.x的文檔

          Tapestry
          優點:
          一旦學會它,將極大地提高生產率
          HTML模板——對頁面設計師非常有利
          每出一個新版本,都會有大量的創新
          缺點:
          文檔過于概念性,不夠實用
          學習曲線陡峭
          發行周期長——每年都有較大的升級

          Wicket
          優點:
          對Java開發者有利(不是Web開發者)
          頁面和顯示綁定緊密
          社區活躍——有來自創建者的支持
          缺點:
          HTML模板和Java代碼緊挨著
          需要對OO有較好的理解
          Wicket邏輯——什么都用Java搞定


          就項目使用選擇而言,
          如果是穩健起見,structs是不錯的選擇;
          如果小項目,我更請傾向于Stripes,夠簡單、簡潔。
          如果想用概念比較新的框架,可以選擇JSF、tapestry,它們都是基于組件的,重用性比較好。(當然開發者也要要設計得好)

          本文作者:javaread.com

          posted on 2008-08-21 17:39 javaread.com 閱讀(3627) 評論(7)  編輯  收藏

          評論

          # re: 小話Java Web層框架,你在用哪個呢? 2008-08-22 08:40 freetan

          “ActionBean里面的URL是硬編碼的 ” 不是這樣的吧,可以缺省,也可以自己通過注解指定 在我的眼里,stripes很完美  回復  更多評論   

          # re: 小話Java Web層框架,你在用哪個呢? 2008-08-22 09:40 BeanSoft

          是翻譯的文章吧...  回復  更多評論   

          # re: 小話Java Web層框架,你在用哪個呢? 2008-08-22 10:36 lzycxy

          我用Struts+Ext+Dwr
          Struts負責頁面間的跳轉,Ext負責修飾頁面的效果,Dwr負責頁面與后臺的交互。
          一般我會用Spring的IOC將Service注入到Dwr的bean中,完成業務。  回復  更多評論   

          # re: 小話Java Web層框架,你在用哪個呢? 2008-08-22 17:34 Atea

          個人覺得Struts2的文檔還是挺不錯的  回復  更多評論   

          # re: 小話Java Web層框架,你在用哪個呢? 2008-08-24 14:11 一農

          我們現在是struts2,hibernate,spring是基于appfuse整合的。用起來很好,以前我們使用struts1.x,但通過結合spring的插件,效果上還是很類似現在的struts2,不過現在感覺還是struts2好,很不錯,大大的減少代碼,減少邏輯復雜度。  回復  更多評論   

          # re: 小話Java Web層框架,你在用哪個呢?[未登錄] 2008-08-24 18:19

          struts2文檔差?struts2的官方文檔是我看見過的最清晰明了的文檔,詳細而且簡單,真不知道博主是咋想的  回復  更多評論   

          # re: 小話Java Web層框架,你在用哪個呢? 2008-08-26 08:28

          想用哪個就用哪個  回復  更多評論   


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          導航

          統計

          常用鏈接

          留言簿(3)

          隨筆檔案

          Java

          友情鏈接

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 青海省| 清新县| 新津县| 山丹县| 京山县| 民和| 封丘县| 宁河县| 郎溪县| 定西市| 凤山县| 白水县| 保山市| 鄂伦春自治旗| 波密县| 钟祥市| 珲春市| 阳山县| 通辽市| 象州县| 突泉县| 峨眉山市| 乐陵市| 佳木斯市| 上杭县| 吐鲁番市| 深圳市| 灵石县| 桂平市| 怀仁县| 文登市| 垫江县| 拜城县| 华安县| 雷州市| 信阳市| 安丘市| 新乡县| 东港市| 靖州| 布拖县|