本文偏重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