在這里我談談我在學習j2ee流程,并談到在此過程中領會的經驗和教訓。以便后來者少走彎路。
java發展到現在,按應用來分主要分為三大塊:j2se,j2me和j2ee。這三塊相互補充,應用范圍不同。
j2se就是java2的標準版,主要用于桌面應用軟件的編程;
j2me主要應用于嵌入是系統開發,如手機和pda的編程;
j2ee是java2的企業版,主要用于分布式的網絡程序的開發,如電子商務網站和erp系統。
先學習j2se
要學習j2ee就要先學習j2se,剛開始學習j2se先建議不要使用ide,然后漸漸的過渡到使用ide開發,畢竟用它方便嘛。學習j2se推薦兩本書,《java2核心技術一二卷》,《java編程思想》,《java與模式》。其中《java編程思想》要研讀,精讀。這一段時間是基本功學習,時間會很長,也可能很短,這要看學習者自身水平而定。
不要被ide糾纏
在學習java和j2ee過程中,你會遇到五花八門的ide,不要被他們迷惑,學java的時候,要學語言本身的東西,不要太在意ide的附加功能,java編程在不同ide之間的轉換是很容易的,過于的在意ide的功能反而容易耽誤對語言本身的理解。目前流行的ide有jbuilder,eclipse和eclipse的加強版wsad。用好其中一個就可以了,推薦從eclipse入手j2ee。因為jbuilder更適合于寫j2se程序。
選擇和學習服務器使用配置
當你有了j2se和ide的經驗時,可以開始j2ee的學習了,web服務器:tomcat,勿庸置疑,tomcat為學習web服務首選。而應用服務器目前主要有三個:jboss、weblogic、websphere。有很多項目開始采用jboss,并且有大量的公司開始做websphere或weblogic向jboss應用服務器的移植(節省成本),這里要說的是,學習tomcat和jboss我認為是首選,也是最容易上手的。學習服務器使用配置最好去詢問有經驗的人(有條件的話),因為他們或許一句話就能解決問題,你自己上網摸索可能要一兩天(我就干過這種傻事),我們應該把主要時間放在學習原理和理論上,一項特定技術的使用永遠代替不了一個人的知識和學問。
學習web知識
如果你是在做電子商務網站等時,你可能要充當幾個角色,這是你還要學習:
html,可能要用到dreamwave等ide。
javascript,學會簡單的數據校驗,數據聯動顯示等等
j2eeapi學習
學習j2eeapi和學習服務器應該是一個迭代的過程。
先學習jsp和servlet編程,這方面的書很多,我建立看oreilly公司的兩本《jsp設計》和《java servlet編程》,oreilly出的書總是那么優秀,不得不佩服。
學習jdbc數據庫編程,j2ee項目大多都是mis系統,訪問數據庫是核心。這本應屬于j2se學習中,這里拿出來強調一下。
學習jndi api,它和學習ejb可以結合起來。
學習ejb api,推薦書《精通ejb》
經過上面的這些的學習,大概可以對付一般的應用了。
有人說跟著sun公司的《j2ee tutorial》一路學下來,當然也可以。
學習ejb設計模式和看代碼(最重要)
設計模式是練內功,其重要性可以這么說吧,如果你不會用設計模式的話,你將寫出一堆使用了ejb的垃圾,有慢又是一堆bug,其結果不如不用ejb實現(ejb不等于j2ee)。
無論學習什么語言,都應該看大量代碼,你看的代碼量不到一定數量,是學不好j2ee的。
目前有很多開源的工程可以作為教材:
jive論壇
petstore sun公司
dune sun公司
等等,研讀一個,并把它用到自己的工程中來。
j2ee其他學習
當你漸漸對j2ee了解到一定深度時,你要開始關注當前領域中的一些技術變化,j2ee是一塊百家爭鳴的領域,大家都在這里提出自己的解決方案,例如structs,hiberate,ofbiz等等,學習這些東西要你的項目和目標而定,預先補充一下未嘗不可,但不用涉及太深,畢竟學習原理和理論是最最重要的事。
目前常見j2eeapi
javaserver pages(jsp)技術1.2
java servlet技術2.3
jdbc api 2.0
java xml處理api(jaxp)1.1
enterprise javabeans技術2.0
java消息服務(jms)1.0
java命名目錄接口(jndi)1.2
java事務api(jta) 1.0
javamail api 1.2
javabeans激活架構(jaf)1.0
j2ee連接器體系結構(jca)1.0
java認證和授權服務(jaas)1.0
學習上面的某些api要以你的項目而定,了解所有他們總之是有好處的
上面印證了大家說的一句話,java語言本身不難學,但是技術太多,所以學java很費勁。回想一下,基本上每個初學者,在剛學習java的時候可能都會問別人這么一句話,你怎么知道的哪個方法(api)在哪個包里的?呵呵,無他,唯手熟爾。
posted on 2007-10-04 21:53
火焰出林 閱讀(130)
評論(0) 編輯 收藏 所屬分類:
學習方法談