1. 程式人生 > >Java領域的表現層的三種技術--jsp、freemarker、velocity

Java領域的表現層的三種技術--jsp、freemarker、velocity

10月份忙碌的參加秋招並獲得了5個成都、上海、廣州等不同地區的工作offer,最終選擇了廣州,11月底來到公司實習,很快,就跟進了公司的專案了,原本以為可以和宣講會時報的志願一樣——Java開發,但是到了公司,組長根據了團隊的具體需求,先給了我做前端的任務,嗯,沒事,雖然自己比較想做後端,但是前端在學校的時候也玩的比較多,難度不大,後面滿滿進入後端吧。

工具:很快拿到小組正在做的專案,em~,之前一直是用的eclipse,到了公司團隊都是用IDEA,剛開始感覺用不慣,不過很快就發現了IDEA的魅力了~

專案:之前在學習的時候也用框架,SSM,但是發現很多公司都還在用SSH,嗯~好吧,都學咯

認識freemarker:部署號專案之後專案跑起來了,這時我打算從前端頁面到後臺到資料庫的走通一個業務邏輯,額~公司專案的模組、包層次結構和在學校學習時不太一樣,複雜了很多,不過都差不多了,這時我發現專案里居然沒jsp或者是html,嗯?打開了view層,再開啟.ftl檔案,見到了很多標籤,嗯~沒錯了,這就是頁面,這時我才發現了除了jsp、還有freemarker,更還有velocity!嗯~好吧,在學校學太有限了~要加強自學能力啊!

因此在網上學習總結和記錄了一下記錄:

jsp
優點:
1、功能強大,可以寫java程式碼
2、支援jsp標籤(jsp tag)
3、支援表示式語言(el)
4、官方標準,使用者群廣,豐富的第三方jsp標籤庫
5、效能良好。jsp編譯成class檔案執行,有很好的效能表現
缺點:
由於可以編寫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.巨集定義比jsp tag方便
2.內建大量常用功能。比如html過濾,日期金額格式化等等,使用非常方便
3.支援jsp標籤
4.可以實現嚴格的mvc分離