少妇脱了内裤让我添,久久久久亚洲精品无码网址蜜桃,性色av免费观看,久久人妻av无码中文专区

分享

現(xiàn)代Java Web開發(fā)框架分析

 二月石橋 2015-08-31

本文向您介紹幾種Java Web開發(fā)框架,分析現(xiàn)代開發(fā)框架的特點,并例舉Spring、 Hibernate等常見框架。

AD:51CTO開啟企業(yè)運維技術(shù)盛宴_嘀嘀、新浪、白鷺齊聚MDSA線下沙龍,趕緊報名吧!

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

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

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

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

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

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

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

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

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

Borland Jbuilder為Struts提供了內(nèi)建的支持,也支持JSF和JSTL。

borland jbuilder

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

eclipse平臺

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

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

weblogic workshop

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

myeclipse

3. Apache Struts框架

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

4. Spring框架

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

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

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

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

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

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

◆與Hibernate集成到一起,DAO實現(xiàn)支持以及事務(wù)策略。

5. Hibernate框架

Hibernate是一適合于Java語言的對象-關(guān)系映射(ORM)解決方案。它也是開源軟件,類似Struts,并且在LGPL保護下發(fā)布。Hibernate被一群來自世界各地的Java軟件開發(fā)者所共同開發(fā)。它提供一個易用的框架來實現(xiàn)把一個面向?qū)ο蟮挠蚰P陀成涞揭粋鹘y(tǒng)的關(guān)系數(shù)據(jù)庫。它不僅負(fù)責(zé)從Java類到數(shù)據(jù)庫表格(以及來自Java數(shù)據(jù)類型的SQL數(shù)據(jù)類型)的映射,而且還提供數(shù)據(jù)查詢和檢索能力,并能大大減少花在SQL和JDBC手工數(shù)據(jù)處理上的開發(fā)時間。

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

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

6. Java Web開發(fā)架構(gòu)結(jié)論

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

【編輯推薦】

  1. 淺談Java SE、Java EE、Java ME三者的區(qū)別
  2. Java虛擬機內(nèi)部構(gòu)成淺析
  3. 淺談Java編程語言中創(chuàng)建和使用日期
  4. 詳解Java的特點與優(yōu)勢
  5. 淺談為什么Java接口中不允許定義變量

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    主站蜘蛛池模板: 亚洲国产码专区| 色综合久久久久久久久久| 少妇精品无码一区二区三区| 免费精品国产人妻国语三上悠亚| 欧美精品videosex极品| 免费无遮挡禁18污污网站| 久久996re热这里有精品| 国产超碰女人任你爽| 亚洲精品国产二区图片欧美| 午夜福利片1000无码免费| 无码人妻精品中文字幕免费| 国产精品无码嫩草地址更新| 久久午夜福利电影| 国产狂喷水潮免费网站www| 97日日碰人人模人人澡| 亚洲中久无码永久在线观看软件| 精品国产一二三产品区别在哪| 无码国产精品一区二区免费久久| 国产农村熟妇videos| 亲胸揉屁股膜下刺激视频免费网站| 精品国产三级a在线观看网站| 人妻熟女αⅴ一区二区三区| 毛片在线播放a| 2020最新无码福利视频| 全球中文成人在线| 日日摸夜夜添无码无码av| 亚洲天天影院色香欲综合| 国产成人精品一区二区3| 性色av免费观看| 欧洲黑大粗无码免费| 亚洲丰满熟女一区二区蜜桃| 国产成人免费永久播放视频平台| 中文字幕人妻无码专区app| 亚洲成av人片在线观看无| 狠狠色丁香婷婷综合久久小说| 精品人妻系列无码专区久久| 亚洲成a人片在线观看无码下载| 精品无码久久久久久午夜| 国产亚洲精品a在线看| 国产毛片毛多水多的特级毛片| 欧美视频二区欧美影视|