作為一個非軟件學院的學生,由于畢業設計的需要,我開始自學J2EE。初次接觸j2ee的感覺就是內容繁多,有一種無從下手的感覺,不像c++可以找到一條清晰的路線,而且技術多樣且靈活,有種越學需要學的東西越多的感覺,不知各位有沒有這種體會。
經過一個月的學習,我感覺逐漸摸清了J2EE的脈絡,因此急于來分享。學習的過程走過了不少彎路,也希望其他自學者少走些彎路。因此說,我也是個超菜的初學者,技術方面的東西就不敢拿出來了,我就根據瀏覽的網上其他人的經驗結合自己的學習過程,簡單說一下J2EE的學習流程與自己的一些稱不上經驗的經驗,不足與錯誤之處,還望高手指點一二,以便我在今后的學習中也能少些彷徨。
好了,言歸正傳吧。
Java發展到現在,按應用來分主要分為三大塊:J2SE,J2ME和J2EE。這三塊相互補充,應用范圍不同。
J2SE就是Java2的標準版,主要用于桌面應用軟件的編程;
J2ME主要應用于嵌入是系統開發,如手機和PDA的編程;
J2EE是Java2的企業版,主要用于分布式的網絡程序的開發,如電子商務網站和ERP系統。
if(you==菜鳥 && you.wantToKnowSomeBasics()){
1.準備階段
在開始學習j2ee之前,j2se也就是java語言基礎應該是你已經掌握的了。他們的關系就像是c++語言與VC的MFC之間的關系一樣,基礎是最重要的。我認為java基礎中掌握好類和對象,及其封裝,繼承和多態,能夠熟練的進行面向對象的分析和設計,java的IO,多線程和JDBC編程(JDBC開始j2ee學習之后學也可)就可以了,其他的awt,applet等的了解即可,畢竟j2ee中將圖形界面部分交給了其他技術來完成,這個下面會說到。
這部分的學習我推薦大家關注一下孫鑫老師(http://www.pconline.com.cn/pcedu/empolder/gj/java/0606/815015.html)和張孝祥老師的java視頻教程,幫助會很大,網上也有很多資源。另外大家不要上來就先找Jbuilder或eclipse等IDE軟件來做,安裝好jdk后,用記事本(或ultraEdit、editPlus等)編輯軟件加命令提示符來做更加有利于你的學習,這點可以參考孫鑫老師在教程中的做法。IDE幫你做了太多的事情,畢竟我們是在學習嘛,等以后開發時為了追求效率那是必須的了。另外推薦幾本書:《java2核心技術一二卷》,《java編程思想》,《java模式》,《Thinking in java》。
遺憾的是,僅僅準備java語言基礎是不夠的。j2ee主要是web編程,因此還應具有一定的web知識。建議大家適當掌握一下HTML標簽語言以及SQL語言,并初步接觸一款數據庫軟件。另外,JavaScript了解一下即可,還有一定的網絡知識,后兩個也可以直接pass,在以后的學習中慢慢了解,因為使用的并不多,單學習后更加有利于以后知識的理解。
2.接觸j2ee
具備一定的j2se API的知識之后就可以開始j2ee的學習了。j2ee中涉及到的概念和技術相當多,大家應該細嚼慢咽,逐一慢慢消化。
2.1 在開始工作之前,大家應該選好適當的IDE和服務器
目前應用比較多的IDE是eclipse和JBuilder,我推薦eclipse,它是開源的,采用插件模式,易于上手,況且最新版的Jbuilder貌似也集成了eclipse在其中,是sun官方推薦的IDE,很快便占據了java開發IDE的半壁江山。當然j2ee的開發僅eclipse是滿足不了的,myEclipse就是針對j2ee的插件,非常好用,能大大提高開發效率。
目前服務器有很多種,常見的有tomcat、jboss、weblogic、websphere。學習階段,我建議大家用tomcat,網上這方面的學習資源也很多,其他的等你進入公司后會見到的。
選好后,就應該搭建整個工作平臺了,因此我推薦的工作平臺就成了:jsdk+eclipse+myEclipse+tomcat(具體的配置過程可以參考一下我的另一篇文章《jsdk+eclipse+myEclipse+tomcat平臺搭建》,本文只是從概念的角度介紹。
2.2j2ee的API的學習
j2ee的核心技術有13種(參考百度百科),不要想一口吃個胖子,開發平臺已經搭建好了,大家學一樣做一樣,能很好的掌握進度,而且做的過程也很有成就感,否則越學動力越不足。
在這里我推薦李興華老師的j2eeWeb視頻教程,循序漸進,而且講課很個性(http://www.gougou.com/search?search=%E6%9D%8E%E5%85%B4%E5%8D%8Ejava%20web&restype=-1&id=10000001&ty=0&pattern=0)。
j2eeWeb的開發就從JSP開始吧,這也是為什么剛才要求你準備一下HTML語言。JSP中的語法并不多,也并不復雜,掌握語法之后,著重掌握JSP的內部類的使用。這個時候可以適當學習下JDBC技術了。
將java程序直接寫入JSP頁面中,即可實現簡單的javaWeb程序,很有成就感吧。但這種JSP(<-->DataBase)的方式不能保持可移植性和低耦合性,我們希望JSP只管界面顯示,程序交給其他技術完成,因此我們要學習第二個技術:JavaBean。其實JavaBean就是java類,把原來JSP中寫入的程序代碼移到另一個java文件中,這個java文件就可以叫做JavaBean(先這么理解,隨著以后的學習會理解的更緊深刻),然后由JSP調用,JavaBean來連接數據庫。這樣JSP就可以專心搞界面設計了吧。這種JSP<-->JavaBean(<-->DataBase)的方式叫做“DAO模式”或“模式一”。
后來我們發現這種模式“粒度”仍然不夠低,我們希望把其中控制跳轉和JSP和JavaBean連接的部分也抽取出來,這個時候我們要學習第三個技術了:Servlet。由Servlet控制程序跳轉和參數傳遞的過程。這樣就形成了JSP<-->Servlet<-->JavaBean(<-->DataBase)。其中,JSP負責顯示(View),JavaBean負責程序模式(Mode),Servlet負責程序控制(Control),于是這種程序結構又叫“MVC結構”。
當然后邊還有很多的技術,我個人認為,暫時可以放一下,在以后的學習過程中逐漸掌握。
3.框架
學會以上技術之后就可以接觸j2ee的框架了。
目前流行的框架有Struts, Hibernate, Spring或者將三者聯合。在這里我推薦一下浪曦的Struts視頻教程(http://58.251.57.206/down?cid=549097306&t=14&fmt=)框架部分正在學,因此不敢妄加評斷,再給個網址http://www.verycd.com/groups/@g1897244/237347.topic/page1,一個牛人將很多j2ee的視頻教程(好像是尚學堂的)組織了一下,下的人多,速度也可以,大家可以去看看。
4.最后
由于我還在學習中,只能把目前我接觸的東西加上我的個人見解介紹給大家,僅供參考,希望對有意接觸j2ee的朋友有所幫助。有不對的地方希望大家多多指教。
上一篇 “做網站”的兩個完全不同的概念