想要作一個完整的Javaweb項目須要掌握哪些技能

近期,剛剛完整的接觸了一個Javaweb的項目,綜合本身在作項目的過程,列舉了一些所須要用到的技能和知識點,帶給尚未真正接觸過完整Java Web項目的同窗一個比較完整的視角,提供一個所謂的"大局觀",也以便於同窗們更有針對性地學習。css

 

在前端沒有那麼火的前幾年,或者說在經典的Java Web的開發模式中,咱們使用Jsp技術來做爲展示層的實現,其實也就是所謂的前端。固然只懂得Jsp是不夠的還須要懂html,css,js,ajax等一些前端的基礎技術,Jsp技術在其中扮演外層包裝的角色。那麼後端呢?後端是因爲一些實現了業務邏輯Java代碼和數據庫組成。html

說到這,就能夠推出Web開發中經典的MVC模式,Model-View-Controller。View,,就是指表現層,Model,是用來承載數據的抽象結構,而Controller則是View和Model的橋樑。View存在與前端代碼中,Controller,Model存在與後端代碼中。在後端代碼中,爲了保證代碼的整潔,易讀性,通常會採用分層的辦法,自頂向下分爲controller層,service層,dao層,數據層或者叫持久層(直接與數據庫打交道)。前端

有時候,爲了達到解耦的目的,會在上述基層中間加入響應的接口層,以使得接口與實現分離。在更加大型的網站中,會出現更加複雜的架構,好比dao層與數據層之間要有緩存層,或者訪問壓力增大後,須要使用集羣,負載均衡等高級技術,但在這裏,咱們就不深刻討論複雜架構了。web

因此以上咱們看到,一個Web 項目前端須要表現層,後端有controller層,service層,dao層,持久層。在表現層,除了剛纔提到的html,css,js,ajax,jsp等基礎知識,在實際開發中,咱們還會用到許多框架技術,好比tiles,velocity,freemarker等模板技術來簡化表現層的開發。在持久層,除了jdbc外,還有Mybatis,Hibernate等框架來提升開發效率。ajax

除了這些,咱們還須要熟練掌握一種關係型數據庫的使用,如MySQL,Oracle等,固然更好地話還須要掌握一種非關係型數據庫,MongoDB,Redis。數據庫

上面說了好多,可能不少小夥伴看起來比較雜亂,我整理了一些知識點,你們能夠參考一下。後端

知識點列表:設計模式

開發:緩存

視圖層技術——服務器

HTML,CSS,JS,AJAX,Tiles,Velocity,FreeMarker

持久層技術——MyBatis,Hibernate

Spring , Spring MVC

項目構建工具Maven

日誌Log4j

版本控制 Git

數據庫技術:

SQL語句

參數調優

操做系統:

熟練掌握一種Linux系統,原理,Shell命令

服務器技術:

熟練使用並理解一個應用服務器技術的原理(Tomcat)

熟練使用並理解一個Web服務器技術的原理(Nginx)

附加

緩存技術:

熟練使用並理解一種緩存技術(Redis,Memcache,EhCache)

非關係型數據庫

熟練使用並理解一種非關係型數據庫(MongoDB)

中間件技術:

JMS:activeMQ和kafka

RPC: Dubbo

設計模式:

瞭解並可以使用幾種最主要的設計模式

網絡:

熟練使用並理解一個網絡開發技術(Netty)

熟悉http,TCP協議

Java虛擬機:

熟悉jvm運行原理,內存分佈

jvm參數調優

掌握了以上知識點,恭喜你,你已經能夠開始寫Java Web項目了。

相關文章
相關標籤/搜索