以前做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分離