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