學習java的步驟

yueweiman發表於2008-02-10
J2EE又包括許多元件,如JSP,Servlet,JavaBean,EJB,JDBC,JavaMail等。要學習起來可不是一兩天的事。

那麼又該如何學習J2EE呢?當然Java語法得先看一看的,I/O包,Util包,Lang包你都熟悉了嗎?然後再從JSP學起。如果你學過HTML,那麼事情要好辦的多,如果沒有,那你快去補一補HTML基礎吧。其實JSP中的Java語法也不多,它更象一個指令碼語言,有點象ASP。然後你就該學一學Servlet了。Servlet就是伺服器端小程式,他負責生成傳送給客戶端的HTML檔案。JSP在執行時,也是先轉換成Servlet再執行的。雖說JSP理論上可以完全取代Servlet,這也是SUN推出JSP的本意,可是Servlet用來控制流程跳轉還是挺方便的,也令程式更清晰。接下來你應該學習一下Javabean了,可能你早就看不管JSP在HTML中嵌Java程式碼的混亂方式了,這種方式跟ASP又有什麼區別呢?還好,SUN提供了Javabean可以把你的JSP中的Java程式碼封裝起來,便於呼叫也便於重用。接著就是EJB了,EJB就是Enterprise JavaBean,看名字好象它是Javabean,可是它和Javabean還是有區別的。它是一個體繫結構,你可以搭建更安全、更穩定的企業應用。它的大量程式碼已由中介軟體(也就是我們常聽到的Weblogic,Websphere這些J2EE伺服器)完成了,所以我們要做的程式程式碼量很少,大部分工作都在設計和配置中介軟體上。至於JDBC,就不用我多說了,你如果用java編過存取資料庫的程式,就應該很熟悉。還有,如果你要用Java編髮送電子郵件的程式,你就得看看JavaMail了。

好了,對Java和J2EE有了一些基本概念之後,你就應該編一些程式了,千萬不要紙上談兵哦。最好找一些有例項且帶光碟的書來看,這樣看到好的程式就可以直接Ctrl+C再Ctrl+V,也不用勞您老大架再親自把它 再輸一遍吧,再說直接複製還不用怕出錯,何樂而不為呢!還有就是要經常上一些好的Java程式設計文章,有好的文章要Cut下來,有問題儘管問,只要問題不是太傻,一般高手都會回答你的。下面介紹幾個好的Java方面的程式設計網站:
CSDN論壇 http://www.csdn.net/ 中國最有名的技術論壇,《程式設計師》雜誌就是他們出版的,你可以在上面提出問題,馬上就有人回答你,如果你覺得好,你可以給那人加分;
Java研究組織 http://www.javaresearch.org/ 上面有很多原創文章,高手還是挺多的;
Java開發者 http://www.chinajavaworld.com/ 那裡Java資料比較全;
java.com.cn http://www.java.com.cn/ 看這域名就知道有多牛,註冊使用者快接近一萬了,同時線上人數也在一千左右,人氣很旺的;
IBM的開發者網路 http://www-900.ibm.com/developerWorks/cn/java/index.shtml IBM永遠的藍色巨人;

那麼我書也看了,程式也做了,別人問我的問題我都能解決了,是不是就成為高手了呢?當然沒那麼簡單,這只是萬里長征走完了第一步。不信?那你出去接一個專案,你知道怎麼下手嗎,你知道怎麼設計嗎,你知道怎麼組織人員進行開發嗎?你現在腦子裡除了一些散亂的程式碼之外,可能再沒有別的東西了吧!你現在最缺的是實際的工作經驗,而不是書本上那些憑空想出來的程式。所以你快去找一份Java的程式設計工作來做吧(如果是在校學生可以去做兼職啊),在實踐中提高自己,那才是最快的。不過你得祈禱在公司裡碰到一個高手,而且他還願意不厭其煩地教你,這樣好象有點難哦!

還有一個辦法就是讀開放原始碼的程式了。我們知道開放原始碼大都出自高手,他們設計合理,考慮周到,再加上有廣大的程式設計師參與,程式碼的價值自然是字字珠嘰,鏗鏘有力(對不起,偶最近《金裝四大才子》看多了)。學Java必讀的兩個開源程式就是Jive和Pet Store。

Jive是國外一個非常著名的BBS程式,完全開放原始碼。論壇的設計採用了很多先進的技術,如Cache、使用者認證、Filter、XML等,而且論壇完全遮蔽了對資料庫的訪問,可以很輕易的在不同資料庫中移植。論壇還有方便的安裝和管理程式,這是我們平時程式設計時容易忽略的一部份(中國程式設計師一般只注重程式設計的技術含量,卻完全不考慮使用者的感受,這就是我們與國外軟體的差距所在)。Jive的資料在很多網站上都有,大家可以找來研究一下。相信你讀完程式碼後,會有脫胎換骨的感覺。遺憾的是Jive從2.5以後就不再無條件的開放原始碼,同時有licence限制。不過幸好還有中國一流的Java程式設計師關注它,外國人不開源了,中國人就不能開源嗎?這裡向大家推薦一個漢化的Jive版本—J道。Jive(J道版)是由中國Java界大名鼎鼎的banq在Jive 2.1版本基礎上改編而成, 全中文,增加了一些實用功能,如貼圖,使用者頭像和使用者資料查詢等,而且有一個開發團隊在不斷升級。你可以訪問banq的網站 http://www.jdon.com/ 去下載,或到同濟技術論壇的伺服器上 ftp://nro.shtdu.edu.cn 去下,安裝上有什麼問題,可以到論壇上去提問。

Pet Store(寵物店)是SUN公司為了演示其J2EE程式設計規範而推出的開放原始碼的程式,應該很具有權威性,想學J2EE和EJB的朋友不要錯過了。

你一定會高興地說,哈哈,原來成為Java高手就這麼簡單啊!記得Tomjava也曾碰到過一個專案經理,號稱Java很簡單,只要三個月就可以學會。其實說這種話的人就如當年小日本號稱“三個月拿下中國”一樣大言不慚。不是Tomjava潑你冷水,你現在只是學到了Java的骨架,卻還沒有學到Java的精髓。接下來你得研究設計模式了。設計模式是高階程式設計師真正掌握物件導向核心思想的必修課。設計模式並不是一種具體"技術",它講述的是思想,它不僅僅展示了介面或抽象類在實際案例中的靈活應用和智慧,讓你能夠真正掌握介面或抽象類的應用,從而在原來的Java語言基礎上躍進一步,更重要的是,設計模式反覆向你強調一個宗旨:要讓你的程式儘可能的可重用。

關於設計模式的資料,還是向大家推薦banq的網站 http://www.jdon.com/ ,他把GOF的23種模式以通俗易懂的方式詮釋出來,純Java描述,真是經典中的經典。有時間再研究一下MVC結構(把Model-View-Control分離開的設計思想)吧,現在很流行的Struts就是它的一種實現方式,不過Struts用起來實在是很繁,我們只要學習其精髓即可,我們完全可以設計自己的MVC結構。然後你再研究一下軟體Refactoring(重整)和極限XP程式設計,相信你又會上一個臺階。

做完這些,你不如整理一下你的Java程式碼,把那些經典的程式和常見的應用整理出來,再精心打造一番,提高其重用性和可擴充套件性。你再找幾個志同道合的朋友成立一個工作室吧,你可以去承接一些專案做了,一開始可能有些困難,可是你有技術積累,又考慮周全,接下專案來可以迅速作完,相信大家以後都會來找你的,所以Money就嘩啦啦的來了。。。。。。

當然你也可以參加一些開源專案,一方面可以提高自己,另一方面也是為中國軟體事業做貢獻嘛!開發者在網際網路上用CVS合作開發,用QQ,MSN,E-mail討論聯絡,天南海北的程式設計師分散在各地卻同時開發同一個軟體,是不是很有意思呢?
下面介紹兩個好的開源專案網站:
湖北省軟體公共開發平臺 http://gro.clinux.org/
共創聯盟 http://cosoft.org.cn/

哇,好高興哦,我終於成為高手了!非也,非也。古人云:“識時務者為俊傑”。你知道計算機界現在的發展形勢嗎?你知道微軟的.NET藍圖和SUN ONE計劃之間的明爭暗鬥嗎?你知道計算機技術將向何處發展嗎?其實從各大計算機廠商最近的動作,都可以看出來“Web服務將是下一代網際網路應用的制高點”,而微軟的.NET藍圖和SUN ONE計劃的鬥爭焦點,也就是Web服務。Web服務就是一個嶄新的分散式計算模型,它是一系列標準的綜合(XML,SOAP,UDDI,WSDL和WSFL等)。它使得不同語言編寫的軟體能夠輕易的整合起來,使網路資源和Web站點變成一種服務而不是混亂的垃圾場。不遠的將來,我們就可以在家裡點選一下滑鼠,就可以完成出門旅遊的全部準備工作,包括定飛機票,定旅遊線路,定好房間等。請注意,這所有的一切都是Web站點間自動完成的,再也不用象現在一樣,表面上是電子商務,實際上很多環節都是人工操作。也許你會覺得這是天方夜談,不過就近的說,你也很有可能承接一個專案,要整合兩個企業的ERP系統。很有可能上游企業的系統是用Delphi編的,而下游企業的系統是用Java編的。你說你是Java高手,大家都看者你怎麼做呢。所以啊,你還得學習新技術,如Web服務,而且你Delphi也要懂一點吧(Delphi6現在已經提供Web服務的控制元件了)。 你編的Java系統,可能要和.NET整合,所以你.NET要懂一點吧?到最後,你可能發現你已經成為Java高手了,但很多時間卻在搞別的技術。太極張三丰裡說,最厲害的招式就是沒有招式,可能就是這個道理吧!

因為剛剛興起,所以網上Web服務的資料不是很多,我還是給大家推薦幾個網站吧:
中國UDDI技術聯盟 http://www.uddi-china.org/
CSDN的柴曉路專欄 http://www.csdn.net/develop/author/ColumnAuthor/fennivel/ (注:柴曉路也是網際網路上一個有名的人物,他發表過很多關於Web服務的文章,還出了一書,應該稱的上是中國Web服務技術的先行者)
IBM的開發者網路的XML&Web Service專欄: http://www-900.ibm.com/developerWorks/cn/xml/index.shtml?csdn IBM可是Web服務的力推者
參考資料:http://zhidao.baidu.com/question/2033460.html http://zhidao.baidu.com/question/381820.html 

相關文章