淺談jsp、freemarker、velocity區別

博客轉自:http://blog.csdn.net/tjcyjd/article/details/16803877#comments


以前做web開發頁面層用的基本就是就是,最近公司Java項目頁面層用的技術是velocity。聽說jsp要淘汰,也不知道是真是假,但本人還是比較喜歡jsp的,下面是網上查找的javaweb項目頁面3種技術的區別。

在java領域,表現層技術主要有三種:jsp、freemarker、velocity。


jsp是大家最熟悉的技術
優點:
1、功能強大,可以寫java代碼
2、支持jsp標籤(jsp tag)
3、支持表達式語言(el)
4、官方標準,用戶羣廣,豐富的第三方jsp標籤庫
5、性能良好。jsp編譯成class文件執行,有很好的性能表現
缺點:
jsp沒有明顯缺點,非要挑點骨頭那就是,由於可以編寫java代碼,如使用不當容易破壞mvc結構。


velocity是較早出現的用於代替jsp的模板語言
優點:
1、不能編寫java代碼,可以實現嚴格的mvc分離
2、性能良好,據說比jsp性能還要好些
3、使用表達式語言,據說jsp的表達式語言就是學velocity的
缺點:
1、不是官方標準
2、用戶羣體和第三方標籤庫沒有jsp多。
3、對jsp標籤支持不夠好


freemarker
優點:
1、不能編寫java代碼,可以實現嚴格的mvc分離
2、性能非常不錯
3、對jsp標籤支持良好
4、內置大量常用功能,使用非常方便
5、宏定義(類似jsp標籤)非常方便
6、使用表達式語言
缺點:
1、不是官方標準
2、用戶羣體和第三方標籤庫沒有jsp多


選擇freemarker的原因:
1、性能。velocity應該是最好的,其次是jsp,普通的頁面freemarker性能最差(雖然只是幾毫秒到十幾毫秒的差距)。但是在複雜頁面上(包含大量判斷、日期金額格式化)的頁面上,freemarker的性能比使用tag和el的jsp好。
2、宏定義比jsp tag方便
3、內置大量常用功能。比如html過濾,日期金額格式化等等,使用非常方便
4、支持jsp標籤
5、可以實現嚴格的mvc分離

發佈了156 篇原創文章 · 獲贊 65 · 訪問量 22萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章