J2ee學習流程
在這里我談談我在學習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、webspher
e。有很多項目開始采用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是一
塊百家爭鳴的領域,大家都在這里提出自己的解決方案,例如struts,hibernate,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)在哪個包里的?呵呵,無他,唯手熟爾。