“我怎么才能成為一個Java Web開發(fā)者?”對于這個問題,答案其實并不簡單。成為一個Java Web開發(fā)人員包括很多方面。我遇到過的Java程序員,可能曾是優(yōu)秀的前端開發(fā)人員,也可能以前是不錯的后端開發(fā)人員。所謂“前端”,我指的是眾多瀏覽器端技術(shù)——HTML、CSS、Java,以及Java模板技術(shù),如Thymeleaf、SiteMesh,或者古老的JSPs。后端開發(fā)人員有更堅實的Java、數(shù)據(jù)庫(SQL和NoSQL),消息傳遞(JMS/AQMP)和Web服務(wù)(SOAP/REST)技能。
你應(yīng)該也知道所謂的“全?!盝ava開發(fā)人員。這是個人的技能集合。一個完整的全棧開發(fā)者應(yīng)該同樣勝任前端開發(fā)和后端開發(fā)的工作。這可能是難度系數(shù)最高的一條路了,因為所涉及得技術(shù)非常多樣。也許有一天,你前一秒還在jQuery調(diào)試,接下來就去性能調(diào)優(yōu)Oracle數(shù)據(jù)庫查詢了。但是,成為一個全才Java開發(fā)人員是需要時間和經(jīng)驗的。
從哪里開始?
對于有抱負的開發(fā)人員,技術(shù)的前景會成為壓倒一切的動力。但是技術(shù)也是在不斷變化發(fā)展中的。你會冒著學(xué)習的東西很快就會過時的風險嗎?
客戶端技術(shù)
我建議新手開發(fā)人員可以從基礎(chǔ)的學(xué)起;HTML,CSS和Java。這些技術(shù)是web開發(fā)的核心。而且這些技術(shù)在某種意義上說也是通用的,無論你是Java web開發(fā)人員還是Ruby Web開發(fā)人員都要用到。
HTML
HTML——超文本標記語言。這是用來生成網(wǎng)頁的。你需要對HTML有一個深入的了解。在萬維網(wǎng)初期,HTML習慣上是一個由網(wǎng)頁服務(wù)器向瀏覽器提供的文件。它對靜態(tài)內(nèi)容非常有效。不會改變內(nèi)容。但是,現(xiàn)在人們越來越傾向于動態(tài)的內(nèi)容。于是,HTML不再是靜態(tài)的文件,HTML開始按需生成。作為一個Java web開發(fā)者,你得會編寫如何為網(wǎng)頁瀏覽器生成HTML文件的代碼。你需要對HTML文檔的結(jié)構(gòu)有一個深刻的理解。
CSS
CSS——層疊樣式表。這是用來顯示頁面樣式的。它控制字體、顏色和布局。與HTML定義的是網(wǎng)頁的內(nèi)容不同,CSS定義的是當在瀏覽器中呈現(xiàn)時網(wǎng)頁的外觀。例如,你可以對桌面Web應(yīng)用程序使用一套CSS規(guī)則,對移動應(yīng)用程序使用另一套不同的CSS規(guī)則。相同的HTML,當渲染在瀏覽器上時,就有了兩個完全不同的外觀。
Java——制作網(wǎng)頁上的東西。不要將Java與Java混淆。雖然它們有一些語法的相似性,但這是兩個完全不同的編程語言。Java才能真正推動Web 2.0應(yīng)用程序。通過使用Java,你可以根據(jù)用戶的操作,動態(tài)地改變HTML/CSS,提供更有視覺感受的網(wǎng)頁給用戶。
HTTP
HTTP(超文本傳輸協(xié)議)——客戶端和Web服務(wù)器之間的通信。有太多的web開發(fā)人員居然對HTTP一無所知。HTTP絕對是你必學(xué)的關(guān)鍵技能。尤其是當你要用AJAX工作的時候。你需要知道一個POST和一個GET之間的區(qū)別。你應(yīng)該記住HTTP狀態(tài)碼200,301和404的含義——以及更多。作為一個Java web開發(fā)人員,你的日常工作不可避免要與HTTP打交道。
服務(wù)端技術(shù)
Java——本文的問題就是如何成為一個Java web開發(fā)人員。所以,你當然得知道Java編程語言。除了Java本身,你還應(yīng)該熟悉Java Servlet API。有一些Java web框架,隱藏著Java Servlet API的用法。如果出現(xiàn)問題,那么你需要知道幕后究竟發(fā)生了什么事情。
JPA
JPA——Java持久性API——使用數(shù)據(jù)庫。JPA是Java傳統(tǒng)關(guān)系數(shù)據(jù)庫的標準。Hibernate是現(xiàn)在使用最廣泛的JPA實現(xiàn)。作為一個Java web開發(fā)人員,你肯定要用到數(shù)據(jù)庫。你要從數(shù)據(jù)庫中得到內(nèi)容,以顯示在網(wǎng)頁上,或從用戶那里接收內(nèi)容存儲到數(shù)據(jù)庫中。所以,Java web開發(fā)人員需要知道如何使用JPA。
Java應(yīng)用程序服務(wù)器
Java應(yīng)用程序服務(wù)器——Java web應(yīng)用程序的運行時容器。Tomcat是到目前為止最流行的Java應(yīng)用程序服務(wù)器。Web應(yīng)用程序歸檔文件,又名WAR文件,有一個Java標準。這些被部署到應(yīng)用程序服務(wù)器,如Tomcat,以此為你的web應(yīng)用程序提供運行環(huán)境。十年以前,還流行在應(yīng)用程序和應(yīng)用程序服務(wù)器之間應(yīng)用更復(fù)雜的耦合。然而,現(xiàn)在的趨勢更支持應(yīng)用程序和應(yīng)用服務(wù)器之間的松散耦合。
Java框架
請注意,到目前為止,我還沒有提到任何Java框架。我所描述的,都是你作為一個Java web開發(fā)人員會用到的不同技術(shù)。客戶端技術(shù)完全獨立于服務(wù)器端技術(shù)。Firefox不在乎,服務(wù)器運行的是Java,Python還是.NET。不過,新手開發(fā)人員似乎常常遺忘這一點。
不使用Java框架的Java web開發(fā)也是可以的。但是這樣一來,你需要額外寫很多代碼來處理原本框架可以為你辦到的事情。這就是為什么開發(fā)Java web應(yīng)用程序時,你通常會想要使用某一個框架。
Spring框架
Spring框架是構(gòu)建web應(yīng)用程序一個非常棒的工具集合。雖然沒有精確的統(tǒng)計數(shù)據(jù),但我看到有文章估算已有超過60%基于Java的web應(yīng)用程序使用Spring。這其實也不奇怪。Spring Core有IoC容器和依賴注入。Spring MVC,是一款基于MVC的成熟又靈活的web框架。Spring Security是保護網(wǎng)站最好的工具。Spring Date有助于維護持久性。Spring還有其他的項目,你可以用來構(gòu)建大范圍推廣的應(yīng)用。
當涉及到整體框架時,真的找不到替代品代替Spring。哪怕存在著很多針對不同Spring項目的競爭技術(shù)。但是,沒有單一的解決方案,能夠具備Spring框架系列項目的深度和廣度。在我的Spring入門在線教程上,我對主要的Spring框架項目做了一個很好的概述,并說明了如何使用它們來構(gòu)建企業(yè)級應(yīng)用程序。
Grails
Grails是建立在Spring之上的快速應(yīng)用程序開發(fā)框架。它不但擁有Spring的所有內(nèi)容,還借鑒了Groovy的生產(chǎn)力優(yōu)勢。我喜歡將Grails形容為用Groovy包裝過的Spring。關(guān)鍵一點要記住的是,其背后依然是Spring。
Grails現(xiàn)在越來越受到企業(yè)的歡迎。Grails的優(yōu)勢之一就是其出色的社區(qū)支持。
Spring Roo
Spring Roo是一個純Java框架,這似乎和Grails的作用相同,不過它沒有Groovy。我不是Spring Roo的的粉絲,并且我最后一次使用Spring Roo也不是因為市場要求。Spring Roo還沒有被廣泛接受。
Play
基于Scala的框架。雖然我還沒有嘗試過Play。但是現(xiàn)在市場上面的反響不錯。所以有機會的話我會試一試。不過它目前還沒有被企業(yè)中廣泛采用。至少到現(xiàn)在為止還沒有。
JBoss Seam
JBoss Seam可能是最接近Spring框架的替代品。JBoss Seam遵循JEE標準。JBoss Seam是一個很好的選擇,具有良好的支持而被企業(yè)所接受。不過,JBoss Seam經(jīng)常因為在開發(fā)和性能方面比Spring慢而飽受詬病。但是有的批評對于JBoss Seam過于苛刻了。
成為Java web開發(fā)人員是不可能一蹴而就的。沒有所謂的《21天自學(xué)成為Java web開發(fā)者》的速成教材,也沒有捷徑。你需要學(xué)習和掌握很多不同的技術(shù)。而所有這些都需要時間來學(xué)習。
Java全套自學(xué)資料+視頻
新手Java安裝教程:http://www.bjpowernode.com/v106/
Java基礎(chǔ)視頻教程:http://www.bjpowernode.com/v104/
經(jīng)典Java基礎(chǔ)教程:http://www.bjpowernode.com/v19/
Java免費視頻教程:http://www.bjpowernode.com/v61/
Javaweb開發(fā)基礎(chǔ)視頻
Javaweb開發(fā)視頻教程:http://www.bjpowernode.com/v77/
免費html視頻教程:http://www.bjpowernode.com/v27/
全套css基礎(chǔ)教程:http://www.bjpowernode.com/v67/
Javascript視頻教程下載:http://www.bjpowernode.com/v68/
ajax視頻教程全集【免費下載】:http://www.bjpowernode.com/v31/
菜鳥jquery教程下載:http://www.bjpowernode.com/v30/
Java編程框架視頻教程
SSM框架整合技術(shù):http://www.bjpowernode.com/v92/
以上就是天津卓眾教育Java培訓(xùn)機構(gòu)小編介紹的“零基礎(chǔ)學(xué)Java到Javaweb開發(fā)”的內(nèi)容,希望對大家有幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。
相關(guān)文章
零基礎(chǔ)怎么自學(xué)Java,完整版Java學(xué)習路線圖
你還在糾結(jié)學(xué)Java,是自學(xué)還是去培訓(xùn)班嗎
一個標準的Java程序員如何進階?
Java學(xué)習路線清單,快速進階Java
Java編程初學(xué)者要如何進階