1. 程式人生 > >java web後臺學習路線

java web後臺學習路線

java web後臺學習計劃

一、基礎學習(java)

  1. java基礎語法

  2. 集合

  3. io

  4. 多執行緒

  5. 併發

  6. 反射

  7. 網路程式設計

    java不管你現在學的怎麼樣,到最後肯定要全部重新溫習一遍的。大一下學期java沒好好學的,到現在起碼知道java的基本語法。

二、資料庫

關於 sql 方面:SQL 教程MySQL 教程

我是瞭解了一些基礎語法之後,就直接跟著視訊的老師做一些表操作實戰練習了,比如單表查詢、多表查詢等。我建議學 sql 切勿眼高手低,需多加練習,不要只看懂了就行,因為工作中寫得一手簡練的 sql 是非常重要的。在這裡我說下我在專案一直秉承著 sql 語句是能避免多表查詢就避免多表查詢,能夠分開多條語句就分開多條語句,因為這裡涉及到多表查詢效能和資料庫擴充套件的問題。

你需要弄懂 JDBC API 的用法,其實它只是一組規範介面,所有資料庫驅動只要實現了 JDBC,那麼我們就可以通過標準的 API 呼叫相應的驅動,完全不用知道驅動是怎麼實現的,這就是面向介面程式設計的好處。

三、Web入門------>在你們正式開始學習框架前,你們需要用Servlet寫一個登入註冊

曾經開源中國創始人紅薯寫了一篇文章「初學 Java Web 開發,請遠離各種框架,從 Servlet 開發」,我覺得他說的太對了,在如今 Java 開發中,很多開發者只知道怎麼使用框架,但根本不懂 Web 的一些知識點,其實框架很多,但都基本是一個套路,所以在你學習任何框架前,請把 Web 基礎打好,把 Web 基礎打好了,看框架真的是如魚得水。

關於 Http 協議,這篇文章就寫得很清楚:Http協議

關於 Web 基礎這方面資料推薦,我當時是看的是「Tomcat 與 Java Web 開發技術詳解」,很詳細地講解了整個 Java Web 開發的技術知識點,但現在看來,我覺得裡面講的有一些技術確實有點老舊了,不過可以瞭解一下 Java Web 開發的歷史也是不錯的。所以在 Web 基礎這方面我都是看傳智播客講的「超全面 Java Web 視訊教程」,講得很詳細很生動,還有實戰專案!

關於 JSP,你只要瞭解它其實就是一個 Servlet 就行了,關於它的一些標籤用法,我認為可以直接忽略,因為現在網際網路幾乎沒哪間公司還用 JSP,除了一些老舊的專案。現在都是流行前後端分離,單頁應用,後端只做 API 介面的時代了,所以時間寶貴,把這些時間重點放在 Servlet 規範上面吧。

關於 Tomcat,它是一個 Web 容器,我們寫的後端專案都要部署到Web容器才能執行,它其實是一個遵循 Http,通過 Socket 通訊與客戶端進行互動的服務端程式:Tomcat結構及處理請求過程

四、Web主流框架(SSM)--->你們這學期的重點,入門完成後,將它轉化成SSM框架,最終寫個web專案

Java Web 框架多如牛毛,等你有一定經驗了,你也可以寫一個 Web 框架,網上很多說 Spring、Struts2、Hibernate 是 Java 三架馬車,我只想說,那是很久遠的事情了,我嚴重不推薦 Struts2、Hibernate,相信我,一開始只需要上手 Spring、SpringMVC、Mybatis 就可以了,特別是 Spring 框架,其實 Spring 家族的框架都是很不錯的。

但是提醒一點就是,千萬不要沉迷於各種框架不能自拔,以會多種用法而沾沾自喜,導致知其然而不知其所以然。

Spring其核心思想就是 IOC 和 AOP:

SpringMVC 它的思想是全部請求統一用一個 Servlet 去做請求轉發與控制,這個 Servlet 叫 DispatcherServlet:

Mybatis 它可實現動態拼裝 sql,避免了幾乎所有的 JDBC 程式碼和手動設定引數以及獲取結果集:

關於Spring+springmvc+mybatis的整合,沒什麼好說的,自己去看

五、Web進階(Spring Boot、spring Cloud)---->這一塊根據自己喜好不強求,建議多看看,新技術正在向此發展

使用了 SSM 框架後,你會覺得框架也不過這麼回事,如果你對 Spring 有過大概瞭解,你也會產生想寫一個「山寨版」Spring 的心思了,一個輕量級 Web 框架主要具備以下功能:

  1. 可讀取使用者自定義配置檔案,並以此來初始化框架;

  2. 具備 Bean 容器,管理專案的類的物件生命週期;

  3. 具備依賴注入,降低類之間的耦合性;

  4. 具備 AOP 功能,使專案可進行橫向程式設計,可不改變原有程式碼的情況增加業務邏輯;

  5. 具備 MVC 框架模式。

其實除了 SSM 之外,Web 框架可謂是百家齊放,其中以 Spring 全家桶最為耀眼,在這裡我極力推薦兩個 Spring 家族框架:SpringBoot 和 SpringCloud。

SpringBoot 彌補了 Spring 配置上的缺點,再也不用為繁雜的 xml 費勁精力了,堪稱是 Java 後端開發的顛覆者,推薦書籍「Java EE 開發的顛覆者:SpringBoot實戰」

SpringCloud 是一個微服務架構,能夠將專案按照業務分成一個個微服務,每個微服務都可獨立部署,服務之間互相協調。當一個專案越來越大時,隨之而來的是越來越難以維護,此時將專案拆分成若干個微服務、單獨維護、單獨部署,也可以降低專案不同業務間的耦合度。推薦書籍「Spring Cloud 與 Docker 微服務架構實戰」,這本書將 Docker 與微服務完美地結合在一起,堪稱完美!

有關於 Spring Cloud 的部落格:

六、你需要掌握的其他技術(嘗試用git,maven,shiro對你的專案進行升級)

  • Git:世界上最先進的分散式版本控制系統,建議所有初學者從命令列開始使用 Git

Git 官網

  • Maven:一個用於構建專案的工具,將專案間的依賴通過 xml 完美地組織到一起,總之用了它你就不用去管jar包了

  • Linux:至少要求常用的命令會用,能夠在 linux 環境下部署專案。

  • Docker:簡直是專案部署神器啊,來不及解釋了,看 Docker 系列部落格,開啟 Docker 之旅吧!推薦書籍「Docker 技術入門與實戰」,中國首部 Docker 著作!

  • Redis:一個高效能的 key-value 資料庫,當有併發量很高的請求時,將資料快取在 Redis 中,將提高伺服器的響應效能,大大減輕資料庫的壓力。

  • shiro: 一個安全的框架,有了它什麼認證許可權都是浮雲。

  • ajax :別以為它是前臺的就不學,未來趨勢是前後臺分離夥計,不知道這個你怎麼去傳資料勒。

  • nginx:是一個非同步框架的web伺服器,這裡不解釋,反正你會用到的,直接放教程

還想要其他資源,自行去官網找社團資源搜尋 夢翔官網

七、開發工具

工欲善其事,必先利其器,以下是我推薦的一些開發工具:

  • Intellij IDEA:Java 開發最好的 IDE,這個是公認的,我一開始是用 Eclipse 的,後來用了 Intellij IDEA,才發現 Eclipse 就是一坨屎,所以我以過來人勸你們不要使用 Eclipse,直接 Intellij IDEA!

  • Chrome:Chrome瀏覽器還需要我解釋嗎?這還要教程的話你可以轉行了

  • Postman:很好用的一個介面除錯工具。