我近被問到我的QQ頁面上,“我如何成為一個Java Web開發(fā)人員?”這個問題沒有簡單的答案。有許多方面成為Java Web開發(fā)人員。我遇到的Java開發(fā)人員是優(yōu)秀的前端開發(fā)人員,或者是好的后端開發(fā)人員!扒岸恕,我的意思是更多的瀏覽器端技術 - HTML,CSS,Javascript,然后Java模板技術,如Thymeleaf,Sitemesh或只是好的舊JSP。后端開發(fā)人員將具有更強的Java,數(shù)據(jù)庫(SQL和NoSQL),消息(JMS / AQMP)和Web服務(SOAP / REST)的技能。
你也有所謂的“全!盝ava開發(fā)人員。這是我的個人技能。全棧開發(fā)人員作為前端開發(fā)人員和后端開發(fā)人員同樣熟練。這可能是難的跟蹤,只是因為涉及的技術的多樣性。有一天,你可能會在JQuery中調(diào)試一些東西,接下來你需要對Oracle數(shù)據(jù)庫查詢進行性能調(diào)優(yōu)。成為一個完整的Java開發(fā)人員需要時間和經(jīng)驗。
從哪里開始?
對于有抱負的開發(fā)者,技術景觀可能是壓倒性的。技術景觀也在不斷發(fā)展。你冒險學習一些即將過時的東西嗎?
客戶端技術
我對新開發(fā)人員的建議是從基礎開始。HTML,CSS和Javascript。這些技術是Web開發(fā)的核心。這些技術也是通用的,因為無論您是Java Web開發(fā)人員還是Ruby Web開發(fā)人員,都沒有關系。
HTML
HTML - 超文本標記語言。 這是什么使一個網(wǎng)頁。你需要對HTML有一個堅實的理解;氐饺f維網(wǎng)的開始HTML傳統(tǒng)上是由web服務器為瀏覽器提供的文件。這對靜態(tài)內(nèi)容非常有用。東西,從來沒有改變。但這是越來越少。人們想要動態(tài)內(nèi)容。因此,HTML不再是靜態(tài)文件,HTML是按需生成的。作為Java Web Developer,您將要編寫代碼,為Web瀏覽器生成HTML文檔。您將需要對HTML文檔的結構有充分的了解。
CSS
CSS - 級聯(lián)樣式表。 這是什么樣式的頁面。它控制字體,顏色,布局。雖然HTML定義了網(wǎng)頁的內(nèi)容,但是CSS定義了在瀏覽器中呈現(xiàn)的樣子。例如,您可以為桌面Web應用程序使用一組CSS規(guī)則,為移動應用程序使用一組不同的CSS規(guī)則。相同的HTML,但是兩個完全不同的外觀,當由瀏覽器呈現(xiàn)時。
Javascript
JavaScript的 -不要在網(wǎng)頁上的東西。不要將JavaScript與Java混淆。雖然有一些語法相似之處,這兩種是完全不同的編程語言。Javascript是什么真正推動Web 2.0應用程序。通過使用Javascript,您可以基于用戶操作動態(tài)更改HTML / CSS,給予網(wǎng)頁更多的應用程序像用戶的感覺。
HTTP
超文本傳輸協(xié)議 -在客戶機和Web服務器之間的通信。我看到太多的web開發(fā)人員不懂HTTP。這是絕對至關重要的你要了解。特別是當你開始使用AJAX。你需要知道POST和GET之間的區(qū)別。您應該記住HTTP狀態(tài)代碼200,301和404的含義 - 等等。作為一個Java Web開發(fā)人員,您將每天使用HTTP。
服務器端技術
Java
Java的 -現(xiàn)在的問題是如何成為一個Java Web開發(fā)人員。所以,當然你要需要知道Java編程language.In除了剛才Java本身,你應該熟悉 的Java Servlet API。有一些Java Web框架,這掩蓋了Java Servlet API的使用。當出現(xiàn)問題時,你需要知道封面下發(fā)生了什么。
JPA
JPA - Java持久性API -使用數(shù)據(jù)庫。JPA是在Java中使用傳統(tǒng)關系數(shù)據(jù)庫的標準。 Hibernate的 是當今流行的JPA實現(xiàn)。作為Java Web開發(fā)人員,您將使用數(shù)據(jù)庫。您將從數(shù)據(jù)庫獲取內(nèi)容以顯示在網(wǎng)頁上,或從用戶接收內(nèi)容以存儲在數(shù)據(jù)庫中。Java Web開發(fā)人員需要知道如何使用JPA。
Java應用程序服務器
Java應用程序服務器 -用于Java Web應用程序的運行時容器。 Tomcat的 是,到目前為止,流行的Java應用服務器。有一個Web應用程序歸檔文件的Java標準 - 也就是WAR文件。這些部署到應用程序服務器(如Tomcat)以為Web應用程序提供運行時環(huán)境。十年前,趨勢是在應用程序和應用程序服務器之間使用更復雜的耦合。然而,當前的趨勢有利于您的應用程序和應用程序服務器之間的松散耦合。
Java框架
注意到目前為止,我沒有提到任何關于過多的Java框架可供你使用?到目前為止,我已經(jīng)描述了您將用作Java Web開發(fā)人員的不同技術。客戶端技術完全獨立于服務器端技術。Firefox不在乎服務器是否運行Java,Python或.NET。新開發(fā)人員經(jīng)常似乎忘記這一點。
可以在不使用其中一個Java框架的情況下進行Java Web開發(fā)。如果你這樣做,你將會編寫很多代碼來處理框架會為你處理的事情。這就是為什么在開發(fā)Java Web應用程序時,您通常會想要使用其中一個框架。
Spring框架
Spring框架是用于構建大規(guī)模web應用程序的杰出工具集合。精確的度量很難確定,但我已經(jīng)看到一些估計,說Spring在超過60%的基于Java的Web應用程序中使用。這真的不是太令人驚訝。你有Spring Core的IoC容器和依賴注入。Spring MVC,一個成熟和靈活的基于MVC的Web框架。Spring Security,用于保護您的網(wǎng)站的佳類工具。Spring數(shù)據(jù)來幫助持久化。Spring有其他項目,將幫助您構建大規(guī)模應用程序。
當涉及到一個整體框架時,Spring沒有其他選擇。有各種春天項目的競爭技術。但是沒有單一的解決方案具有Spring Framework系列項目的深度和廣度。在我 介紹了Spring網(wǎng)上的教程,我給你的主要的Spring框架項目很好的概述以及如何使用它們來構建企業(yè)級應用程序。
Grails
Grails是一個建立在Spring之上的快速應用程序開發(fā)框架。你得到一切Spring,然后是Groovy的生產(chǎn)力優(yōu)勢。我喜歡用Groovy包裝器將Grails描述為Spring。過于簡單肯定,但重要的是要記住,春天還在封面。
Grails在企業(yè)中越來越多地使用。Grails的優(yōu)勢之一是其出色的社區(qū)支持。
春天roo
Spring Roo是一個純Java框架,似乎試圖做Grails做的,沒有Groovy。我不是Spring Roo的粉絲,上次我沒有檢查市場。Spring Roo沒有被廣泛采用。
玩
基于Scala的框架。我沒有機會嘗試Play。我聽到很多關于Play在市場上的好東西。我覺得Play是一個有趣的選擇。但它只是沒有廣泛應用于企業(yè)。還沒有至少。玩得到一些鼓舞人心的牽引力。
JBoss Seam
JBoss Seam可能是一個替代Spring框架的接近的事情。JBoss Seam遵循JEE標準。JBoss Seam是一個很好的選擇,有很好的支持,并在企業(yè)中采用。JBoss Seam經(jīng)常被批評為在開發(fā)和性能方面比Spring慢。一些更為關鍵的 JBoss Seam的。
結論
成為一個Java Web開發(fā)人員不是你可以成為一夜之間。沒有一本書叫“在21天內(nèi)教自己的Java Web開發(fā)”。沒有捷徑成為Java Web開發(fā)人員。有很多不同的技術,你需要學習和掌握。每一個都需要時間學習。
作為一個Java Web開發(fā)人員可以是一個非常有益的事業(yè)。您可以開始只關注前端,或只是后端技術。更大的Java開發(fā)商店將允許你專注于一個領域的技術,另一個。
如果我今天開始作為一個Java Web開發(fā)者,我可能會首先關注客戶端技術?蛻舳思夹g與服務器端技術無關。因此,當你開始你將有更多的就業(yè)選擇?蛻舳思夹g的補償通常低于服務器端,但它是一個開始的好地方。你可以快速獲得可以就業(yè)的技能,然后轉(zhuǎn)移焦點和擴大你的技能,以后尋求更好的就業(yè)機會。