熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

現代Java Web開發架構分析

2013-11-23 19:13:46  來源: Java核心技術 

  在本文中我將集中討論現代的Java開發框架分析它們的特征和各自的使用優點另外我還想比較目前流行的生產質量框架例如StrutsSpring和Hibernate並詳細討論其基本相似性及有關基本概念

  我將簡短分析被用於支持這些框架的企業開發環境或工具箱例如Borland JBuilderEclipse以及BEA Workbench請記住市場上有許多有關這些開發框架的圖書;然而在任何一篇文章中要對它們進行深入描述是不可能的不過我將盡力討論最廣泛地使用的概念

   共同點

  幾乎所有現代的網絡開發框架都遵循了模型視圖控制(MVC)設計模式商業邏輯和描述被分開由一個邏輯流控制器來協調來自客戶端的請求和服務器上將采取的行動這條途徑成為了網絡開發的事實上的標准每個框架的內在的機制當然是不同的但是開發者們使用來設計和實現他們的Web應用軟件的API是很類似的差別還存在於每個框架提供的擴展方面例如標簽庫JavaServer Faces或JavaBean包裝器等

  所有的框架使用不同的技術來協調在Web應用程序之內的導航例如XML配制文件java屬性文件或定制屬性所有的框架在控制器模塊實現的方法方面也存在明顯的不同例如EJB可能實例化在每個請求中需要的類或使用Java反射動態地調用一個適當的行動(Action)類另外不同框架在各自引入的概念上也有所不同例如一個框架可能定義用戶請求和反應(以及錯誤)場所而另外一個框架可能僅僅定義一個完整的流從一個請求到多個響答和隨後的再請求……

  各種Java框架在它們組織數據流的方法方面是很類似的在請求發出後在應用程序服務器上產生一些行動;而作為響應一些可能包含對象集的數據總是被發送到JSP層然後從那些對象可能是有setter和getter方法的簡單類javabeans值對象或者一些集合對象中提取數據現代的Java框架還想方設法簡化開發者的開發任務如通過使用簡易的API數據庫連接池甚至數據庫調用包等提供自動化的追蹤方式來實現一些框架或者能夠鉤進(hooked into)另外的JEE技術中例如JMS(Java消息服務)或JMX或把這些技術集成到一起服務器數據持續性和日志也有可能成為框架的一部分

   企業開發環境

  一些框架在Web開發者社區和企業發展領域變得相當流行隨著這些框架的日漸成熟並開始發行穩定的版本商業的IDE(集成發展環境)開始為這些框架提供支持並把他們納入到自己的產品中一些IDE甚至基於框架的概念開發出整個的產品例如BEA WebLogic Workshop就是基於Struts框架建立起來的

  Borland Jbuilder為Struts提供了內建的支持也支持JSF和JSTL

  

  Eclipse平台已成為一個很流行的開發工具部分因為它是基於插件的部分因為它對於Web框架的支持現在出現了眾多的Eclipse插件甚至完整的基於Eclipse的IDE許多插件被設計適合於Struts框架開發例如MyEclipse()或M

  

  大多數IDE都具有圖形化的流程和可視化對象(類代理)例如下面是一個JBuilder的行動(Action)設計器用於規劃Web應用程序的頁面順序

  WebLogic Workshop引入Java頁面流程技術它擴展了Struts框架而提供了一個簡化的開發模型並增加了另外一些特性Workshop使用頁面流(Page Flows)實現輕易地把用戶接口與導航和商業邏輯分離開來頁面流由JSP頁組成這些頁面包含用戶接口元素和一個控制器文件(JPF)它包含由用戶提供的數據將怎樣被處理的指令以及下一步什麼頁面將被返回到用戶的信息頁面流動提供給開發者一個可視化的Web應用程序總體輪廓它讓開發者能夠看到直觀地分析不同的JSP頁彼此相關聯並實現Web應用程序整體結構的快速建立

  

  MyEclipse提供類似的特征並帶有更多吸引人的代價標簽

  

   Apache Struts框架

  Struts框架是一開源產品基於模型視圖控制器(MVC)設計范例來開發Web應用軟件它使用並且擴展了Java Servlet API最初由Craig McClanahan創建它被捐贈到Apache FoundationStruts框架展示了一個強有力的定制標簽庫平鋪顯示表單檢驗和IN(國際化)另外Struts支持許多描述層包括JSPXML/XSLTJavaServerFaces(JSF)和Velocity;還支持一些模型層包括JavaBeans和EJB

   Spring框架

  Spring框架是一個分層的Java/JEE應用程序框架基於Expert OneonOne JEE設計和發行的代碼Spring框架提供一種簡單的開發技術用於自動化處理工程中大量的屬性文件和助理類

  Spring框架包括的主要特色有:

    強有力的基於JavaBeans的配置管理使用InversionofControl(IoC)原則
    一個核心bean工廠可用在任何環境從applets到JEE容器程序
    通用的抽象層適合於數據庫事務管理允許可插入的事務管理器並且不需要處理低層次的問題就可容易地劃分各事務的界限
    一個很有意義的異常處理的JDBC抽象層
    與Hibernate集成到一起DAO實現支持以及事務策略

   Hibernate框架

  Hibernate是一適合於Java語言的對象關系映射(ORM)解決方案它也是開源軟件類似Struts並且在LGPL保護下發布Hibernate被一群來自世界各地的Java軟件開發者所共同開發它提供一個易用的框架來實現把一個面向對象的域模型映射到一傳統的關系數據庫它不僅負責從Java類到數據庫表格(以及來自Java數據類型的SQL數據類型)的映射而且還提供數據查詢和檢索能力並能大大減少花在SQL和JDBC手工數據處理上的開發時間

  Hibernate的目標是減輕開發者的與大量普通的數據持續性相聯系的編程任務Hibernate還能夠適應開發進程無論它是剛開始設計還是來自一現成的數據庫Hibernate可以自動生成SQL使開發者擺脫了手工處理結果集和進行對象轉化的繁瑣任務並能使應用程序移植到所有的SQL數據庫它還能提供透明的持續性對持續性類的唯一的要求的是實現一個無參數的構造器

  這個框架典型地使用在JavaSwing應用軟件基於Servlet的Java應用軟件和使用EJBsession beans的JEE應用軟件中

   結論

  本文概述了現代最流行的Java Web開發框架當然還有更多框架尚未描述開源和商業化的都有例如WebWork()或Tapestry();而許多框架通過擴展另外的MVC框架在內部被成功開發當前最流行的框架是Apache Struts當Web開發競技場繼續演變它的工具和編程方法時Java應用程序框架也將繼續成長下去Java Web開發框架的未來一片明亮!


From:http://tw.wingwit.com/Article/program/Java/hx/201311/26488.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.