日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯網營銷解決方案
現代JavaWeb開發(fā)框架分析

隨著基于萬維網的應用程序服務器的發(fā)展及其相關的應用軟件的膨脹,支持這些技術的開發(fā)框架也隨著蓬勃發(fā)展。當前,在企業(yè)開發(fā)領域中出現了許多特別適合于Java J2EE平臺的軟件開發(fā)框架。

創(chuàng)新互聯主營永康網站建設的網絡公司,主營網站建設方案,app軟件定制開發(fā),永康h5小程序開發(fā)搭建,永康網站營銷推廣歡迎永康等地區(qū)企業(yè)咨詢

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

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

1. Java Web開發(fā)架構共同點

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

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

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

2. 企業(yè)開發(fā)環(huán)境

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

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

Eclipse平臺已成為一個很流行的開發(fā)工具,部分因為它是基于插件的,部分因為它對于Web框架的支持?,F在,出現了眾多的Eclipse插件,甚至完整的基于Eclipse的IDE。許多插件被設計適合于Struts框架開發(fā),例如MyEclipse(www.myeclipse.org)或M7(www.m7.com)。

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

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

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

3. Apache Struts框架

Struts框架是一開源產品,基于模型-視圖-控制器(MVC)設計范例來開發(fā)Web應用軟件。它使用并且擴展了Java Servlet API,最初由Craig McClanahan創(chuàng)建。在2000年5月,它被捐贈到Apache Foundation。Struts框架展示了一個強有力的定制標簽庫,平鋪顯示,表單檢驗和I18N(國際化)。另外,Struts支持許多描述層,包括JSP,XML/XSLT,JavaServerFaces(JSF)和Velocity;還支持一些模型層,包括JavaBeans和EJB。

4. Spring框架

Spring框架是一個分層的Java/J2EE應用程序框架,基于Expert One-on-One J2EE設計和發(fā)行的代碼。Spring框架提供一種簡單的開發(fā)技術,用于自動化處理工程中大量的屬性文件和助理類。

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

◆強有力的基于JavaBeans的配置管理,使用Inversion-of-Control(IoC)原則。

◆一個核心bean工廠,可用在任何環(huán)境,從applets到J2EE容器程序。

◆通用的抽象層適合于數據庫事務管理,允許可插入的事務管理器,并且不需要處理低層次的問題就可容易地劃分各事務的界限。

◆一個很有意義的異常處理的JDBC抽象層。

◆與Hibernate集成到一起,DAO實現支持以及事務策略。

5. Hibernate框架

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

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

這個框架典型地使用在JavaSwing應用軟件、基于Servlet的Java應用軟件和使用EJBsession beans的J2EE應用軟件中。

6. Java Web開發(fā)架構結論

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


網站名稱:現代JavaWeb開發(fā)框架分析
鏈接分享:http://www.5511xx.com/article/djigohg.html