jsp、velocity、freemarker三者優劣

先來說說各自的優缺點:

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多

 

總結:

       性能:velocity>freemarker>jsp

        內置功能:freemarker>jsp>velocity

對於項目如何選擇?

其實這三個我都做過大型項目,都是在幾十億級別的金融公司做的電商、金融項目,還有內部系統。說說個人感受,無論用什麼模板,其實開發中常用的也就是設置值、獲取值、做一些循環、判斷等。很多喜歡用宏,其實我們項目中沒人用到。。。

我們做項目儘量還是以代碼清晰、簡潔爲主。

在這個前提下其實velocity寫在html中,看起來非常簡潔,而且上手快。

 

很多人會考慮性能方面,其實如果高併發時候,都會做靜態化、緩存等,所以性能可以忽略不計的。

但是velocity有一個問題就是,官方已經不在更新,因爲功能已經比較成熟。

 

當然現在出去找工作一般都要求freemarker,因爲現在freemarker比較流行。。。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章