本文目錄一覽:
java web開發如何學習?
作者:動力節點
鏈接:
來源:知乎
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。
首先推薦一個專欄和文章
JavaWeb學習總結(一)–JavaWeb開發入門 – 孤傲蒼狼 – 博客園
此文詳細介紹了javaweb的總結和入門,讀之大有裨益。
Java教程視頻庫–知乎專欄
此專欄,每日會更新java相關的知識技術,以及乾貨資源
下面,詳細說說,如何學習web技術
1.html,css,javascript
先學習一些前端的基本知識,如果打算做後端開發的話,這部分快速看下。
2.jquery,vue,bootstrap
再進階學習一些前端框架的知識,同樣如果是打算做後端開發的話,這部分快速看下。
3.mysql等資料庫
學習一些資料庫方面的內容,資料庫有很多種,可以先學mysql,網上教程多,把一個學會之後再學另一個會容易很多
4.學習jdbc,servlet,filter,listener,tomcat,ajax等相關知識
這部分知識相對比較重要,如果學好了,再學習後面框架的時候會容易很多。
5.框架部分,spring mvc,mybatis,spring,spring boot等
這部分知識比較重要,企業中大部分都會直接使用這些框架來開發
6.dubbo,spring cloud,NGINX,redis,hbase,mq
如果是要做並發量較大的項目,還需要學習這些相關知識。
另外給你奉上學習路線圖,其實說到系統,路線圖是最系統的了。
web前端
可以開發基本的網頁,並且可以看懂別人編寫的HTML頁面。詳細講解了什麼是css ,層疊樣式表。大量前端小案例、JavaScript事件處理、JavaScript對象、繼承、JSON等知識點,學到這便開啟WEB前端之路
JavaWeb
Eclipse快捷鍵與下載安裝、Tomcat9配置和使用、JavaWeb開發基礎、Servlet編程、JSP……通過眾多知識點的串聯,迅速了解掌握javaweb
Web項目
使用基於JDBC+Servlet+JSP的開發模式完成企業真實應用的開發,對MVC架構模式進行了封裝,並且引入了連接池技術,同時涵蓋了常見的工廠、代理、責任鏈等設計模式,通過此Java視頻教程的學習,一定會為後期學習三大框架知識奠定夯實的基礎。
北大青鳥java培訓:web前端編程該怎樣學習?
做了那麼多年Web編程,仔細想想,其實本質上就那點事兒,你抓住了幾個重點問題,北大青鳥分享學起來一點都不難。
1.理解瀏覽器/伺服器結構(B/S)B/S是從90年代的客戶端/伺服器端發展而來,共同點都是由一個(或一組)伺服器來服務多個客戶端。
差別在於:首先,C/S結構的客戶端可能是由不同語言編寫的,例如VB,Delphi,PowerBuilder等,B/S結構中瀏覽器成為了一個通用的客戶端,程序以Web的方式呈現,不需要安裝,伺服器端的升級就意味著所有客戶端的升級,這和C/S相比是個翻天覆地的變化。
其次B/S的訪問協議也標準化為HTTP(s),而不是原來各種各樣的私有協議。
最後B/S結構中的伺服器面向全球用戶訪問,而不像C/S那樣僅僅是區域網,所以壓力更大,挑戰更大。
2.Web頁面是怎麼組成的?簡單來說就是HTML+CSS+Java,我們看到的Web界面就是由這三者組成。
HTML負責結構,CSS負責展現,而Java負責行為。
我們說的前端開發也主要是做這一塊,對於前端工程師,需要能理解DOM模型,以及如何通過java(例如JQuery等框架)來操作DOM模型。
3.瀏覽器和伺服器是怎麼打交道的?當然是HTTP!HTTP說穿了就是瀏覽器和伺服器聊天是的一種約定,這個約定確保雙方互相理解。
完整的HTTP是非常複雜的,《HTTP權威指南》一書厚達700多頁。
其實我們最常用,也是最重要的也就那麼幾點:(1)GET和POST。
GET從伺服器端獲取數據,POST向伺服器端發送數據(由此引出圖片上傳問題)(2)HTTP是個沒有狀態的協議,需要通過額外的機制來維持狀態(例如登錄狀態),常用的方法就是cookie。
(3)理解HTTP狀態碼(4)理解同步vs非同步(由此引出AJAX,以及JQuery等框架)4.URL和代碼的映射理解url和代碼之間的關聯,例如這樣的url是怎麼和後端的業務代碼關聯起來的?這樣的規則是在哪裡定義的?用代碼、註解還是配置文件?後端的業務代碼該如何組織?相信現在不會有人把業務邏輯都寫到Servlet當中了,所以需要很多MVC框架像Struts,SpringMVC來組織代碼,讓系統清晰易懂。
5.數據的驗證、轉換和綁定如何保證瀏覽器發過來的數據是符合要求的?例如不能為空、不超過8個字元、兩個密碼必須相等….,出錯了得給出錯誤提示。
瀏覽器發過來的數據都是形如username=liuxinpassword=123456這樣簡單的文本,但是後台程序卻有著豐富的數據類型,什麼String,Date,Integer等等。
所以需要把文本變成指定語言的類型。
類型轉換以後,後端的業務代碼怎麼才能有效的使用呢?最簡單的就是弄一個key:value這個樣的Map出來,業務代碼直接用map.get(key)即可。
高級一點的可以把頁面發來的數據直接綁定到對象的屬性上,並且支持數組,嵌套等複雜的結構。
例如user.name=liuxinuser.password=123456可以綁定到一個叫User的對象,其中有兩個屬性userName和password。
零基礎如何系統學習Java Web?
如果你之前沒有接觸過Java的話你可以先從JavaSE開始學起,畢竟JavaWeb前面還有資料庫以及web前端。
如果你是零基礎的話,可以看書開始學起也可以看視頻教程開始學,當然每個人的學習方法都是不一樣的。
零基礎如果學習Java,你可以看看這套學習路線:
第一:先學習Java的核心庫(JavaSE)
JavaSE的內容包括:環境搭建、基礎語法、面向對象、數組、集合、常用類、IO流、反射機制、網路編程……..
第二:MySQL資料庫
搞定一門資料庫相關的課程,例如:MySQL、Oracle,搞定一個就可以了,目前互聯網公司,例如:京東、阿里等,他們都在使用MySQL,所以建議大家學習MySQL資料庫,小巧輕盈,免費,由於互聯網公司的項目訪問量比較大,所以一般會搭建資料庫的集群,可以一個資料庫不夠,所以需要搭建資料庫集群,為了應付高並發。(搭建的比較多的時候,免費就很重要了。)
第三:WEB前端
以後從事Java開發,從事JavaEE開發,主要開發的系統結構是B/S結構的,B指的是Browser,S指的是Server。要開發這種系統,B端要會,S端也要精通。WEB前端的學習就是學習B端技術。包括:HTML 、CSS、JavaScript(JS)、jQuery框架(底層對JS進行了封裝)…
第四:WEB後端(JavaWEB)
WEB後端其實可以是很多種不同的編程語言,例如:PHP、C、C++、Java,他們都可以進行WEB後端的開發,我們既然選擇了比較火爆的Java,那麼我們學習的後端一定是基於Java語言實現的,包括:Servlet、Filter、Jsp、EL、JSTL、MVC架構模式、資料庫連接池(阿里巴巴的Druid連接池)、代理模式(動態代理)。另外後端學習了之後,還要學習一個非同步編程技術AJAX。(完成網頁的局部刷新,AJAX其實不屬於後端,是前端瀏覽器上的程序。)
學習到這裡為止,表示Java基本/基礎的技術已經學完了。但是這些最基層的技術在實際的開發中不會使用的,一般為了開發效率,都會使用大量的提前封裝好的框架。
第五:最好能夠停留下來,做一個項目。
這個項目最好能將之前所學全部串起來。(對以前的知識點進行鞏固。)
這個項目最好是基於:Servlet + Jsp+AJAX+jQuery+MySQL….
在這個項目的開發過程中:大家一定要記住,目前比較好的項目自動構建工具:Maven是一定要精通的。還有一個就是團隊協作開發:Git/SVN是一定要會用的。(目前使用Git比較多一些。)
第六:學習高級框架
Spring、SpringMVC、MyBatis(持久層框架,這個框架互聯網公司使用比較多,因為互聯網項目需要進行SQL優化,MyBatis的SQL優化很方便,所以大部分都是使用MyBatis)
Struts2(很少使用了,使用這個的肯定是很老的項目)、Hibernate(傳統企業,還有政府等可能會使用Hibernate。)
SpringBoot(新項目大部分使用的都是boot了。所以在項目中遇到還在使用SSM的一般都是遺留項目。)
當你走到這裡之後,基本上你可以出山了。(去找工作,8K的薪資應該問題不大,但前提是你學的好。學習的深度夠了,廣度夠了。)
第七:最好能有一個大型項目是使用框架來完成的。
SpringBoot做一個項目。
Spring SpringMVC MyBatis做一個項目。
這個項目最好是找幾個人搭夥做一下。體驗一下團隊協作。(尤其是使用一些協作的工具。怎麼溝通,怎麼寫日報,怎麼開會,怎麼使用Git,等等….)
第八:如果你的薪資想達到15K的話,你可能需要還要學習一些分散式相關的一些技術。
能夠應付高並發的一些技術,例如:分散式框架Dubbo、SpringCloud、MQ、Nginx、Redis…..
你可以根據這套學習路線進行學習。更多學習資料免費拿全新精講視頻/面試題,初學者電子書籍等等免費領取看這裡
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/308373.html