走進JavaWeb技術世界1:Web後端與J2EE的由來

微信公衆號【Java技術江湖】一位阿里 Java 工程師的技術小站。(關注公衆號後回覆”Java“即可領取 Java基礎、進階、項目和架構師等免費學習資料,更有數據庫、分佈式、微服務等熱門技術學習視頻,內容豐富,兼顧原理和實踐,另外也將贈送作者原創的Java學習指南、Java程序員面試指南等乾貨資源)


Java Web是衆多技術彙總形成的代名詞,展開來說,包括了非常多相關技術。

Java發展了20年, 現在已經不僅僅是一個單純的語言了, 而是一套完整的生態系統, 其中的術語像 HTML, XML, CSS, Javascript , AJAX, JQuery,Prototype, HTTP, Tomcat, JBoss, Nginx , Memecached , Redis, MVC ,Servlet, JSP, Struts, Hibernate, myBatis , Spring, JFinal, MySql, JDBC, EJB, JMS, Swing , AWT, Reflection, OSGi... 鋪面而來, 搞的你頭暈腦脹, 無所適從,很容易就Lost了。

 

這裏放一張網上的學習路線圖,雖然比較過時,但是還是有一定參考價值的。

 

 

其實在以前,JavaWeb開發需要兼顧前端和後端,Java程序員也要會前端技術,比如上述的html css和js等,並且表現層仍然使用着jsp,在後端進行渲染,而現在前端技術迅速發展,前端已經可以自己完成模板的渲染了,於是前後端逐漸分離,後端程序員只需要提供json數據接口即可,壓根不需要負責模板的渲染。

 

於是乎,上述的內容很多都沒那麼重要了,但是一個完整的Java web項目或多或少都會用到這些技術,所以有一些根基的東西過了這麼多年了都還沒變,比如servlet,比如jdbc等等。

 

 

作爲Java後端程序員,更加關注的是業務邏輯的開發以及服務端技術的學習,所以這裏我們參考許令波老師的《深入分析JavaWeb技術內幕》,JavaWeb的技術體系大概可以分爲以下幾個部分。

 

即第一部分是web開發的基礎知識,第二部分是Java的核心技術,第三部分是Java服務端的技術。

 

這裏按照我自己的理解挑選本書比較核心的章節作爲知識脈絡。

 

0 JavaSE基礎

既然使用Java語言做web開發,首先必須掌握的就是Java的核心技術,可以參考我的專欄文章:深入Java核心技術

 

1 web請求流程

這部分包括了http的基本知識,以及計算機網絡相關基礎知識,將在網絡專欄詳細介紹。

 

2 JavaIO技術

這部分包括了JavaIO的基本知識以及NIO的相關知識,這部分知識可以參考我的專欄:Java網絡編程與NIO,其中詳細了介紹NIO的相關知識。

 

3 Java Web中的中文編碼問題

這部分雖然內容不多但是深究起來還是一塊比較重要的內容,後續會在補充。

 

4 JVM基礎,class字節碼,類加載機制,javac編譯原理等

這部分主要是JVM相關的技術內容,會在我的專欄: 深入理解JVM虛擬機 中陸續發表。

 

5 servlet,jsp , jdbc,session,cookie,Tomcat,jetty等,都是java web服務端的核心技術,將在本系列文章中講述。當然在此之前最好看一下之前的內容,特別是Java網絡編程和NIO的內容,是奠定後面內容學習的基礎。

 

6 Spring,SpringMVC以及mybatis,velocity等內容,是在之前基礎上設計出來的框架和模板技術,也是現在比較流行的技術。Spring相關的內容會在專欄 Spring源碼解析 中詳細介紹。而mybatis和velocity的內容會在本系列文章中放出。

 

7 另外,在Javaweb開發過程中常用到的Maven,git,甚至是ide等工具,也會有所介紹。

 

但是在此之前,我想說,學習這些技術基礎,不妨先了解一下這些技術的歷史,以及他們爲什麼產生,爲什麼消亡,瞭解一下過去的開發流程和現在的開發流程有何卻別,產生這些變化的原因是什麼,爲什麼會出現這些框架,爲什麼程序員會被區分爲前端和後端。帶着這些問題,在本專欄的前幾章,你會找到答案。

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章