拋開JSP直接從JSF入手
曾幾何時學Java Web編程必從JSP開始成了Java Web程序員們公認的定律好比少林寺的武僧習武之初一定先蹲幾年馬步一樣在論壇上我經常看到過來人以先知的口吻教導初來乍到的菜鳥想搞Java Web編程的話必須先從JSP入手然後再研究某某框架雲雲兩年前這是正確的但現在這樣的教條已經過時了
年的第一次鴉片戰爭當英國人敲開清政府閉關鎖國的大門時據我所知少林寺的武僧恐怕沒有幫上什麼忙吧縱然武藝高強下盤穩固可是在槍炮面前血肉之軀如何抵擋得了呢?技術在進步時代不同了現在JSP已經不是Java Web的必經之路了如果你是初學者別聽信那些過來人三年前的經驗直接以JSF作為你Java Web的跳板站在巨人的肩膀上也許用不了多久你就能超越曾經教導過你的前輩了
這不是作者信口雌黃嘩眾取寵從JSF入手是你不甘人後敢為人先的絕佳機會你沒有必要再為什麼JSP費神了如果說三年前JSF剛剛誕生時稚嫩的JSF尚需JSP扶上馬送一程尚需借助JSP的名義和程序員們混個臉熟的話那麼三年後的今天當JSF已經發展到版本時JSP也許到了該退休的時候了即便JSP生命力頑強還能撐幾年發揮點余熱也已經不值得你費九牛二虎之力苦苦追隨了在我看來JSP更適合作為一種底層技術退到幕後像Servlet一樣默默奉獻把發展的空間讓給更能提高程序員生產力的後起之秀
不必擔心有人說你眼高手低好高骛遠JSF是一個新的框架它並不需要你有深厚的技術底子你只需知道組件事件JavaBean這些基本概念就可以放手去干了玩過網絡游戲的人都知道在游戲中裝備有著舉足輕重的作用同樣作為一個程序員選擇一項領先的編程技術對於你的生產力也是至關重要的
從JSP開始學習Java Web編程就像笨人玩網絡游戲把自己當成一架機器在網吧裡無休止地打怪練級只有苦勞沒有功勞聰明的玩家花錢買一個裝備瞬間就把自己送入強手的行列JSF就是這樣的裝備能夠讓你馬上成為Java Web編程的熟手而且JSF還是免費的
JSF對程序員技能的要求
初學Java Web編程的程序員能否跳過JSP從JSF直接入手只要看看JSF對於程序員的技能有什麼基本要求就明白了前文提到過JSF是一個Java Web用戶界面的框架JSF的設計目標是填平桌面編程和Java Web編程之間的鴻溝模糊桌面編程和Web編程的界限讓有著桌面編程經驗的程序員能夠快速地進入Web編程的領域並以他們熟悉的方式編寫代碼用他們慣常的思維考慮問題甚至用完全類似的工具設計界面調試程序
事實上經過這麼多年的發展桌面編程不論是在Java下還是在C++下已經沒有什麼區別了所以只要你有過桌面編程的經歷不管是Java的還是C++的你都可以借助JSF立即著手編寫功能強大的Java Web程序
所以有限的桌面編程經驗就是JSF對程序員的要求概括起來所謂桌面編程經驗其實就是
第一理解UI組件的概念知道如何拖放組件到界面上如何設置組件的屬性
第二理解事件和事件驅動知道如何編寫事件例程對事件作出響應
第三掌握面向對象的基本知識以便理解JavaBean的技術(這其實很簡單只是符合一定規范的Java類而已)
第四熟悉HTTP協議的一些基礎知識為你進入JSF高級編程作好准備
這就是全部對於一般的Java Web編程JSF要求具備這些技能就足夠了至於Web應用和桌面應用的不同之處JSF會為你處理無需你費心站在更高的高度用同樣的眼光看待桌面應用和Web應用是JSF領先於其他Java Web框架的根源所在
From:http://tw.wingwit.com/Article/program/Java/hx/201311/25651.html