- Java EE實用教程
- 鄭阿奇編著
- 1401字
- 2018-12-30 08:34:09
1.1 Java EE應用概述
Java EE是目前開發Web應用(特別是企業級Web應用)最流行的平臺之一,其實Java Web應用的核心技術就是JSP、Servlet與JavaBean。但遺憾的是一直沒有一套有效的開發規范來約束這些JSP程序員,導致不同程序員寫出不同風格的JSP程序。項目的規模越大,這種弊端就越明顯,項目的可維護性就越差,從而大大增加了項目管理的難度。這時,一個基于Web框架開發的Web應用的時代已經來臨了。繼Struts的成功推行之后,大批優秀的框架也緊隨其后,進入了整個市場。程序員根據不同框架的組合,可以方便地開發出優秀的、利于維護和擴展的程序。本書將分別介紹目前流行的組合框架Struts 2、Hibernate 3和Spring 2,從基礎到深入,讓讀者能夠在沒有任何這方面基礎的前提下由淺入深地了解每一個框架,然后再介紹它們之間的整合應用,達到開發效果。
1.1.1 Struts 2框架
早期的Web應用全部是靜態的HTML頁面,用于將一些個人信息呈現給瀏覽者。隨著開發技術的發展,有不少新技術問世。Model 1模式就是其中之一,所謂Model 1就是JSP大行其道的時代,整個Web應用幾乎全部都是由JSP頁面組成的。將控制邏輯和顯示邏輯混合在一起,導致代碼的重用性非常低,而且還不利于維護與擴展。開發人員看出這種開發模式不是長久之計,便提出了MVC的思想,MVC即Model(模型)、View(視圖)、Controller(控制器)。視圖層負責頁面的顯示工作,而控制層負責處理及跳轉工作,模型層負責數據的存取,這樣它們的耦合性就大大降低了,從而提高了應用的可擴展性及維護性。雖然如此,程序員還是有很多工作要做,而且代碼的書寫也沒有一定的規范性,不同的程序員可以寫出不同的代碼,這種項目對于擴展及維護是非常不方便的。

圖 1.10 Tomcat目錄結構
MVC模式的提出雖然改變了程序的設計思路,但代碼的規范性還是很差,而Struts框架則具有組件的模塊化、靈活性和重用性的優點,同時也簡化了基于MVC的Web應用程序的開發。從應用的角度來說,Struts有三大塊,分別是Struts核心類、Struts配置文件及Struts標簽庫。
由此可見,Struts本身就實現了MVC模式,就Struts的發展來說,由于Struts 1框架的局限性,一個基于Struts 1及WebWork框架提煉出來的Strut 2框架已經逐步成為程序員們關注的焦點。Struts 2框架有著Struts 1的市場及WebWork的精湛技術,將越來越受歡迎。故本書將重點講述Struts 2。
1.1.2 Hibernate框架
傳統的Java應用都是采用JDBC來訪問數據庫,它是一種基于SQL的操作方式,但對目前的Java EE信息化系統而言,通常采用面向對象分析和面向對象設計的過程。系統從需求分析到系統設計都是按面向對象方式進行,但是到詳細的數據訪問設計階段,又回到了傳統的JDBC訪問數據庫的老路上來,這是非常令人沮喪的。
人們的智慧是無窮的,遇到問題總會想辦法解決它,而不是與之妥協或繞道而行。Hibernate的問世解決了這個問題,Hibernate是一個面向Java環境的對象/關系映射工具,它用來把對象模型表示的對象映射到基于SQL的關系數據模型中去,這樣就不用再為怎樣用面向對象的方法進行數據的持久化而大傷腦筋了。
1.1.3 Spring框架
Spring框架是Rod Johnson開發的,2003年發布了Spring框架的第一個版本。Spring是一個從實際開發中抽取出來的框架,因此它完成了大量開發中的通用步驟,從而大大提高了企業應用的開發效率。
Spring為企業應用的開發提供了一個輕量級的解決方案。其中依賴注入、基于AOP的聲明式事務管理、多種持久層的整合與優秀的Web MVC框架等最為人們關注。Spring可以貫穿程序的各個層之間,但它并不是想取代那些已有的框架,而是以高度的開放性和它們緊密的整合。這也是Spring被廣泛應用的原因之一。
上面簡單介紹了這三種框架,讀者只需有個印象就可以了,后面會分別對這三個流行框架進行一一講解。
- Practical Data Analysis Cookbook
- Kali Linux Web Penetration Testing Cookbook
- Java編程指南:基礎知識、類庫應用及案例設計
- 碼上行動:零基礎學會Python編程(ChatGPT版)
- Xamarin.Forms Projects
- 深度學習:算法入門與Keras編程實踐
- NGINX Cookbook
- Visual Studio Code 權威指南
- HTML+CSS+JavaScript編程入門指南(全2冊)
- Hadoop 2.X HDFS源碼剖析
- Python應用與實戰
- Less Web Development Cookbook
- Java核心編程
- C++從零開始學(視頻教學版)(第2版)
- HTML5+jQuery Mobile移動應用開發