一個完整Java Web項目的框架結構和其所須要的技術

本文偏重Java Web後端開發,而非前端。css

後端是因爲一些實現了業務邏輯Java代碼和數據庫組成。說到這,就能夠推出Web開發中經典的MVC模式,Model-View-Controller。View,,就是指表現層,Model,是用來承載數據的抽象結構,而Controller則是View和Model的橋樑。View存在與前端代碼中,Controller,Model存在與後端代碼中。在後端代碼中,爲了保證代碼的整潔,易讀性,通常會採用分層的辦法,自頂向下分爲controller層,service層,dao層,數據層或者叫持久層(直接與數據庫打交道)。有時候,爲了達到解耦的目的,會在上述基層中間加入響應的接口層,以使得接口與實現分離。html

如圖層次關係所示,DAO層通常負責對數據庫進行增刪改查各類操做,Service層調用DAO層的操做完成本身的功能需求,Controller層負責接收web請求,並調用Service作出相應的處理。前端

因此以上咱們看到,一個Web 項目前端須要表現層,後端有controller層,service層,dao層,持久層。在表現層,除了剛纔提到的html,css,js,ajax,jsp等基礎知識,在實際開發中,咱們還會用到許多框架技術,好比tiles,velocity,freemarker等模板技術來簡化表現層的開發。在持久層,除了jdbc外,還有Mybatis,hibernate等框架來提升開發效率。在Java Web中最耀眼的當屬Spring了,Spring做爲一個貫穿整個項目的框架,爲項目開發帶來依賴注入,面向切面編程的功能。除了這些,咱們還須要熟練掌握一種關係型數據庫的使用,如Mysql,Oracle等,固然更好地話還須要掌握一種非關係型數據庫,MongoDB,Redis。web

 

知識點列表:

開發:

  1. 視圖層技術——HTML,CSS,JS,AJAX,Tiles,Velocity,FreeMarker
  2. 持久層技術——MyBatis,Hibernate
  3. Spring , Spring MVC
  4. 項目構建工具Maven
  5. 日誌Log4j
  6. 版本控制 Git

數據庫技術:

  1. SQL語句
  2. 參數調優

操做系統:

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

服務器技術:

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

附加:

緩存技術:

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

非關係型數據庫

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

中間件技術:

  1. JMS:activeMQ和kafka
  2. RPC: Dubbo

設計模式:

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

網絡:

  1. 熟練使用並理解一個網絡開發技術(Netty)
  2. 熟悉http,TCP協議

Java虛擬機:

    1. 熟悉jvm運行原理,內存分佈
    2. jvm參數調優
相關文章
相關標籤/搜索