文獻(xiàn)綜述-web開發(fā)技術(shù)(共8頁)
《文獻(xiàn)綜述-web開發(fā)技術(shù)(共8頁)》由會員分享,可在線閱讀,更多相關(guān)《文獻(xiàn)綜述-web開發(fā)技術(shù)(共8頁)(9頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、精選優(yōu)質(zhì)文檔-----傾情為你奉上 Web開發(fā)技術(shù)的文獻(xiàn)綜述 摘 要: Web開發(fā)技術(shù)和Web開發(fā)框架整合實踐研究是這個時代的一個熱點,本文在參閱國內(nèi)外Web開發(fā)技術(shù)和Web開發(fā)框架及主要幾個框架相關(guān)文獻(xiàn)的基礎(chǔ)上,對Web開發(fā)框架研究作了較為全面的總結(jié)和梳理,并結(jié)合Web開發(fā)框架幾個主要框架的優(yōu)劣勢進(jìn)行整合,以期進(jìn)一步推進(jìn)Web應(yīng)用的發(fā)展。 關(guān)鍵詞:Web開發(fā);框架;Struts;Spring;Hibernate; The Literature Summary of the Web Development technique Abstract: Web devel
2、opment technique and web development framework to integrate practical research is a hot issue of the study in this day and age. This paper made a more comprehensive summary and review on web development technique and web development framework on the basis of foreign and domestic research papers, ref
3、lected and combing on the current a more comprehensive summary about several advantages and disadvantages of the main framework,and looked forward to further promotion in the web development framework and research. Key words: Web development; framework; Struts; Spring; Hibernate;
4、 專心---專注---專業(yè) 隨著社會不斷發(fā)展,網(wǎng)絡(luò)技術(shù)日新月異,國內(nèi)外信息化建設(shè)已經(jīng)到了以Web應(yīng)用為基礎(chǔ)核心的階段,越來越多的企業(yè)選擇以Web來建立其應(yīng)用系統(tǒng)。企業(yè)對系統(tǒng)功能需求的增加使企業(yè)級應(yīng)用系統(tǒng)的結(jié)構(gòu)和規(guī)模日趨龐大,而Web應(yīng)用系統(tǒng)的開發(fā)也越來越復(fù)雜,開發(fā)周期越來越緊迫,這也要求開發(fā)者采用一種合適的方法來開發(fā)軟件,以便降低開發(fā)和維護(hù)成本,提高程序的復(fù)用性。于是各種具有不同特點的Web開發(fā)框架應(yīng)運而生,解決這一問題在于選用良好的框架技術(shù)。 1 國外Web開發(fā)技術(shù)文獻(xiàn)綜述 MVC結(jié)構(gòu)模式是XeroxPARC在20世紀(jì)80年代為編程語言Smalltalk-80發(fā)明的一種軟件設(shè)計
5、模式。 緱艷陽認(rèn)為MVC將應(yīng)用程序分為三個核心模塊:模型、視圖和控制器,分別處理不同的任務(wù),其主要目的是分離業(yè)務(wù)邏輯層和表現(xiàn)層。[1] Struts最早是Apache Jakarta項目的組成部分,開始的代碼基礎(chǔ)從2000年5月開始開發(fā),1.0版本于2001年6月 發(fā)布。Struts框架的主要架構(gòu)設(shè)計和開發(fā)者是Craig R.McClanahan,他現(xiàn)在是Sun的JavaServer Faces (JSR-127) 以及J2EE平臺的Web層架構(gòu)的規(guī)范領(lǐng)導(dǎo)。 2003年,David Heinemeier Hansson創(chuàng)建一種Web開發(fā)技術(shù)Rails,并一直延伸Rails核心團(tuán)隊,21
6、00多名捐助者,一個充滿活力的生態(tài)系統(tǒng)支持。 2003年,Teb Husted、Cedric Dumoulin等學(xué)者提出框架是可重用的半完成的應(yīng)用程序,可以用來產(chǎn)生專門的定制程序??蚣芤话憔哂屑床寮从玫目芍赜眯?、成熟的穩(wěn)定性以及良好的團(tuán)隊協(xié)作性。[2] 2007年初,Apache Struts團(tuán)隊已經(jīng)發(fā)布下一代產(chǎn)品Struts2,是在 Struts 和WebWork的技術(shù)基礎(chǔ)上進(jìn)行了合并的全新的Struts 2框架。 2007年,Eyal Oren, Armin Haller, Manfred Hauswirth, Benjamin Heitmann提出語義Web2.0 ,他們認(rèn)為語義W
7、eb應(yīng)用框架擴展了Ruby on Rails,使其支持集成語義Web混搭應(yīng)用的快速開發(fā)。當(dāng)前的Web應(yīng)用大多是數(shù)據(jù)庫驅(qū)動的。開發(fā)者設(shè)計一個數(shù)據(jù)庫架構(gòu),在此架構(gòu)上構(gòu)建應(yīng)用邏輯,生成用于用戶交互的Web頁面。這些應(yīng)用是中心化的,并且依賴于它們自己的關(guān)系數(shù)據(jù)庫,限制了數(shù)據(jù)集成的可能性。混搭應(yīng)用(通常稱為Web 2.0應(yīng)用)是一種新興的Web開發(fā)范式,可以組合多個不同Web應(yīng)用的功能。語義Web是一個可以由機器進(jìn)程處理的Web數(shù)據(jù)網(wǎng)絡(luò),可以在現(xiàn)有的Web網(wǎng)絡(luò)基礎(chǔ)上進(jìn)行數(shù)據(jù)重用和數(shù)據(jù)集成。[3]相比在傳統(tǒng)的數(shù)據(jù)庫,在語義Web數(shù)據(jù)上構(gòu)建社交網(wǎng)絡(luò)應(yīng)用有如下幾個優(yōu)勢。使用語義Web數(shù)據(jù)的全局標(biāo)示符和基于圖的
8、模型,可以跟隨圖中的鏈接,從在線數(shù)據(jù)源按需獲取附加的信息,從而實現(xiàn)數(shù)據(jù)集成。 2國內(nèi)Web開發(fā)技術(shù)文獻(xiàn)綜述 2008年劉勝利、壽永熙提出框架是軟件系統(tǒng)的設(shè)計、開發(fā)過程中的一個概念,它強調(diào)對已完成的設(shè)計、代碼的重復(fù)使用??蚣芡际轻槍δ硞€特定應(yīng)用領(lǐng)域的,是在對這個應(yīng)用領(lǐng)域進(jìn)行深刻理解的基礎(chǔ)上,抽象出該應(yīng)用的概念模型,是一個有形無形的框架,不同的具體應(yīng)用根據(jù)自身的特點對框架中的抽象概念進(jìn)行實現(xiàn),完成應(yīng)用的功能?;贘2EE標(biāo)準(zhǔn)的框架基本上都是封裝了許多組類,利用這些類之間特定的相互協(xié)作,為一些通用問題提供解決方案。[4]其中典型的有Struts框架、Spring框架、Hibernate框架和
9、Jsf框架等。 2008年,北京工業(yè)大學(xué)張曦碩士認(rèn)為,如今圍繞Web應(yīng)用系統(tǒng)的開發(fā)技術(shù)競爭也日趨激烈。技術(shù)進(jìn)步和需求多樣化使得產(chǎn)品壽命周期不斷縮短,企業(yè)面臨著縮短產(chǎn)品開發(fā)周期,提高產(chǎn)品質(zhì)量,降低成本和改進(jìn)性能的壓力。[5]這就要求企業(yè)能快速對不斷變化的市場做出反應(yīng),開發(fā)滿足用戶需求的定制的個性化產(chǎn)品去占領(lǐng)市場一席地以贏得競爭,市場的競爭也主要圍繞產(chǎn)品的競爭而展開。 3 Web開發(fā)框架的現(xiàn)狀 北京交通大學(xué)碩士譚歡說,現(xiàn)在,不少企業(yè)采用基于Internet的應(yīng)用來構(gòu)筑企業(yè)信息架構(gòu)。J2EE技術(shù)作為如今最流行的分布式計算平臺,已成為基于Web的企業(yè)應(yīng)用的核心部分。基于J2EE的Web開發(fā)
10、框架可以為采用Java服務(wù)器端技術(shù)開發(fā)的人員提供一種可重用的體系結(jié)構(gòu),可以便捷地使用Web開發(fā)技術(shù)并專注于具體的業(yè)務(wù)邏輯。同時,B/S框架成為目前主流的企業(yè)應(yīng)用系統(tǒng)的開發(fā)體系。[6]因為B/S框架不需要客戶端安裝系統(tǒng)軟件,具有易用性、通用性和良好的可擴展性等優(yōu)點,它支持實時的信息發(fā)布,動態(tài)的用戶交互及與后臺系統(tǒng)安全靈活的連接。也正因為這,構(gòu)造功能強大、應(yīng)用靈活、開發(fā)簡便的Web應(yīng)用程序成為當(dāng)前Internet技術(shù)發(fā)展的熱點。 4 主流Web開發(fā)框架分析 4.1 MVC結(jié)構(gòu)模式和WebWork框架 2012年王歡認(rèn)為MVC的工作原理是,使用MVC時,當(dāng)用戶向Web容器發(fā)送一個請求后,
11、Web容器會根據(jù)請求和地址去調(diào)用一個Servlet進(jìn)行處理,當(dāng)Servlet處理完成以后,它需要將結(jié)果頁面回送給Web容器。[7] 緱艷陽在計算機與網(wǎng)絡(luò)發(fā)表說WebWork是比較領(lǐng)先的MVC框架之一,是OpenSymphony組織的一個開放源碼項目,致力于組件化和代碼重用。[1] 4.2 Struts框架 2002年,國外C. Cavaness 專家認(rèn)為Struts是一個典型的MVC框架,它也包含了上述三個組成部分。JavaBean和EJB組件模型層次組成。行動和ActionServlet的控制器實現(xiàn),視圖層的JSP文件組成。中央控制器控制,接收到一個請求,這個請求重定向到相應(yīng)的模
12、塊控制器執(zhí)行動作。隨后,該模塊控制器處理請求并返回結(jié)果到中央控制器使用一個JavaBean對象,它存儲在視圖層包括顯示模塊,必須提出的意見,提出的任何對象。中央控制器返回的JavaBean對象重定向到主視圖顯示它的信息。[8]Struts的側(cè)重于降低性能和邏輯之間的耦合,而較少關(guān)注業(yè)務(wù)層和持久層之間的相關(guān)性。 Struts名字來源于在建筑和舊式飛機中使用的支持金屬架?!癝truts”這名字是為了提醒我們記住支撐我們房屋,建筑,橋梁等物的基礎(chǔ)支撐。就如我們的軟件系統(tǒng)產(chǎn)品,軟件工程師使用Struts為各種業(yè)務(wù)應(yīng)用的每一層提供支持。Struts1經(jīng)過六年多的發(fā)展,已經(jīng)是一個高度成熟的框架,不管在
13、穩(wěn)定性方面還是可靠性方面都得到了廣泛的證明。市場占有率也超過20%,幾乎已經(jīng)成為了事實上的工業(yè)標(biāo)準(zhǔn)。但隨著時間的流逝,技術(shù)的進(jìn)步,Struts1的局限性也暴露出來,并制約了Struts1的繼續(xù)發(fā)展。 Struts的優(yōu)勢:1、表現(xiàn)欲邏輯分離,使開發(fā)流程和架構(gòu)更加合理;2、Struts為系統(tǒng)開發(fā)人員提供了充分的擴展機制,維護(hù)擴展比較方便;3、業(yè)界“標(biāo)準(zhǔn)”,學(xué)習(xí)資源豐富,HTML標(biāo)簽優(yōu)秀。 當(dāng)然,Struts也有它的缺點:1、Taglib的使用使表現(xiàn)層的處理過于復(fù)雜,不利于系統(tǒng)的再設(shè)計和升級,不利于客戶接手系統(tǒng),增加了開發(fā)人員的工作量,從而大大增加了系統(tǒng)的開發(fā)成本。2、表單驗證沒有考慮復(fù)
14、用,而且沒有對前端驗證提出方案,不便于在大型系統(tǒng)中使用。 4.3 Spring框架 徐景秀在期刊發(fā)表說Spring是一個開源框架,它由Rod Johnson在2004年3月24日發(fā)布創(chuàng)建,并在他的著作《J2EE設(shè)計開發(fā)編程指南》里進(jìn)行了描述,這也使他一度成為一個改變Java世界的大師級人物。Spring致力于J2EE應(yīng)用的各層的解決方案,而不僅僅專注于某一層的方案。可以說Spring是企業(yè)應(yīng)用開發(fā)的“一站式”選擇,同時貫穿表現(xiàn)層、業(yè)務(wù)層和持久層。Spring并沒有取代那些已有的框架,而是和原有的框架進(jìn)行了一次無縫地整合。另外,Spring的用途不僅限于服務(wù)器端的開發(fā)。[9]簡單來說,Sp
15、ring是一個輕量的控制反轉(zhuǎn)和面向切面的容器框架,解決了許多在J2EE開發(fā)中常見問題的強大開源框架,它提供了管理業(yè)務(wù)對象的一致方法并且鼓勵對接口編程而且也是對類編程的良好習(xí)慣。 Spring框架有一下好處和缺點:1、低浸入式設(shè)計,代碼的污染極低;2、獨立于應(yīng)用服務(wù)器,可以真正實現(xiàn)“一次編寫,隨處可用”;3、Spring的高度開放性,并不強制應(yīng)用完全依賴于Spring,開發(fā)者可自由選用Spring框架的部分和全部。它的缺點是使用人數(shù)少,JSP中要寫很多代碼,控制器過于靈活,缺少一個公用控制器;無法使用多個表的復(fù)合查詢,必須使用SQL語句,這樣使得表的映射文件失去意義。 4.4 Hibern
16、ate框架 M. Raible學(xué)者認(rèn)為,Hibernate是一個面對Java環(huán)境的對象/關(guān)系數(shù)據(jù)庫映射工具,它對JDBC進(jìn)行了非常輕量級的對象封裝,使得Java程序員可以使用面向?qū)ο蟮木幊趟季S來靈活操縱數(shù)據(jù)庫,提供了對大多數(shù)主流數(shù)據(jù)庫的良好支持,提供了完善的數(shù)據(jù)關(guān)聯(lián)、事務(wù)管理、緩存管理、延遲加載機制,在很大程度上簡化了對數(shù)據(jù)的查詢,加快了開發(fā)效率。利用Hibernate,開發(fā)人員可以按照J(rèn)ava的基礎(chǔ)語意,包括關(guān)聯(lián)、繼承、多態(tài)、組合以及Java的集合架構(gòu)進(jìn)行持久層的開發(fā)。[10] 2011年時,王海濤、賈宗璞提出Hibernate持久層框架。其主要作用是對Java類與數(shù)據(jù)庫中的表進(jìn)行映射
17、,完成數(shù)據(jù)的持久化,同時也提供數(shù)據(jù)的查詢、一致性檢查、事務(wù)管理等機制。也可以應(yīng)用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用。另外,由于在編程中不會有特定數(shù)據(jù)庫相關(guān)的代碼,所以我們可以很容易的移植數(shù)據(jù)庫而不用修改Java代碼,只需要修改database schema及O/R映射文件,大大提高了系統(tǒng)的靈活性。Hibernate版本更新速度很快,目前為止有兩個階段性的版本:Hibernate2,Hibernate3和Hibernate4,這一點程序員從其Jar文件名便可以看出來。目前最新發(fā)布的版本是hibernate-core-4.1
18、.1.Final。[11] Hibernate的優(yōu)勢在于:1、Hibernate的性能好,映射的靈活性很出色;2、支持各種關(guān)系數(shù)據(jù)庫,從一對一到多對多的各種復(fù)雜關(guān)系。 5 利用各種框架技術(shù)的優(yōu)勢整合論述 5.1 J2EE優(yōu)勢特點 2008年大連交通大學(xué)的于東超認(rèn)為目前Web開發(fā)技術(shù)有Php、Asp、A等等,但J2EE有其特有的優(yōu)勢保障,J2EE平臺的成熟,為搭建靈活性、易維護(hù)性的商務(wù)系統(tǒng)提供了良好的機制。J2EE的優(yōu)勢主要體現(xiàn)在一下幾方面: 1 能保留現(xiàn)存的IT資源,高效的開發(fā) 2 支持異構(gòu)環(huán)境 3 可伸縮性強,具有穩(wěn)定的可用性 J2EE平臺的成熟為Web應(yīng)用進(jìn)一步的發(fā)展提供
19、了更為廣闊的空間,它是一種企業(yè)級應(yīng)用有著嚴(yán)格的規(guī)范,更能勝任迅速開發(fā)一個靈活、功能強大的Web信息系統(tǒng)。因此,基于J2EE技術(shù)開發(fā)管理信息系統(tǒng)也成為現(xiàn)在最為流行的一種選擇。[12] 5.2 主流框架市場 有資料對以上介紹到的Web開發(fā)框架技術(shù)做過統(tǒng)計,統(tǒng)計顯示,Struts、Spring、Hibernate分別占據(jù)三個層次的主流位置。其中Struts和Spring需求高達(dá)80%以上,Hibernate將近50%的市場占有率。 5.3 Struts+ Spring+ Hibernate(SSH)整合 當(dāng)前流行的主體框架技術(shù),是Struts、Spring和Hibernate三種框架。根
20、據(jù)當(dāng)前市場占有率情況,也足以決定Struts+ Spring+ Hibernate(SSH)的地位。但是由于Struts1的設(shè)計存在一定局限性,而Struts2不僅吸收了Struts1的部分有點,還建立了一個兼容WebWork和Struts1的MVC框架,使得Struts2逐步取代Struts1的地位。SSH整個架構(gòu)設(shè)計所采用的策略是講Spring作為開發(fā)的核心,向上整合MVC模型的Struts2,向下整合ORM模型的Hibernate,使用Spring的控制反轉(zhuǎn)( IoC (Inversion of Control))容器來管理各組件之間的依賴關(guān)系時,Spring的聲明事務(wù)將負(fù)責(zé)業(yè)務(wù)邏輯對象
21、方法的事務(wù)管理工作。 采用SSH框架三層結(jié)構(gòu)將總體框架分成三個層次:表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)持久層。三層體系將業(yè)務(wù)規(guī)則、數(shù)據(jù)訪問及合法性校驗等工作放在業(yè)務(wù)層處理??蛻舳瞬恢苯訁⑴c數(shù)據(jù)庫交互的工作,而是通過中間組件與業(yè)務(wù)層建立聯(lián)系,再由業(yè)務(wù)層和數(shù)據(jù)交互。 SSH框架的各層內(nèi)容和關(guān)系如圖所示: 圖1 SSH框架各層內(nèi)容和關(guān)系圖 6 Web開發(fā)框架的展望 由于各種技術(shù)不斷發(fā)展更新,整合各種主流框架技術(shù)框架這一課題目前還在不斷的完善和發(fā)展中,它在Web系統(tǒng)的開發(fā)應(yīng)用過程中依然有很大的潛力。由于Web應(yīng)用系統(tǒng)的設(shè)計開發(fā)是一個復(fù)雜多樣的系統(tǒng)工程,在不同的系統(tǒng)中應(yīng)考慮的東西也不同,根據(jù)
22、系統(tǒng)的各自特點來滿足用戶的特定需求涉及方方面面的問題。 Web開發(fā)框架未來值得關(guān)注和研究的方向主要安全方面的問題。信息安全的目的是包含在信息系統(tǒng)中存儲和處理的信息的安全,概況為確保信息的完整性、保密性、可用性、可控性和不可否認(rèn)性。雖然HTTP可以提供一些基本的安全性,但是Web系統(tǒng)需要更高的保證,比如Web服務(wù)如何對用戶授權(quán),以及定義不同的用戶安全級別等等。 總結(jié) 本人通過對Web開發(fā)框架、三個主流框架各自特點的了解,通過整合三大主流框架的優(yōu)勢部分,得到SSH繼承框架對于Web應(yīng)用系統(tǒng)的開發(fā)具有更高的效率和更好的維護(hù)性。隨著計算機技術(shù)和信息技術(shù)的飛速發(fā)展,人們依賴技術(shù)進(jìn)步,享受技術(shù)進(jìn)
23、步的同時,關(guān)于Web開發(fā)技術(shù)的認(rèn)識和發(fā)展也不斷前進(jìn), Web5.0時代已經(jīng)悄然到來,而基于Web應(yīng)用的開發(fā)問題也成為熱點中的熱點。 參考文獻(xiàn) [1] 緱艷陽.基于WebWork、Spring和Hibernate的集成框架的設(shè)計與研究 [J].2007:210~211 [2] Ted Husted,Cedric Dumoulin,George Franciscus,et al.Struts in Action[M].America:Manning Publications Co,2003. [3] Eyal Oren, Armi
24、n Haller, Manfred Hauswirth, Benjamin Heitman. A Flexible Integration Framework for Semantic Web 2.0 Applications[J].IEEE Softeware.2007. [4] 劉勝利,壽永熙.Web開發(fā)框架的分析與研究[J].福建電腦.2008(1):106~107. [5] 張曦.基于Java的主流Web開發(fā)框架的研究和整合[D].北京:北京工業(yè)大學(xué)碩士學(xué)位論文.2008. [6] 譚歡.基于SSH架構(gòu)的代碼自動生成的研究[D].北京:大連交通大學(xué)碩士學(xué)位論文 .2007. [
25、7] 王歡.基于J2EE的Web應(yīng)用架構(gòu)研究與設(shè)計[J].中國管理信息化2012:53~55 [8] C. Cavaness, "Programming Jakarta Struts," USA:O'Reilly Publishing, 2002. [9] 徐景芳. J2EE軟件開發(fā)框架技術(shù)探討 [J].信息產(chǎn)業(yè)2012:119 [10] M. Raible, "Spring Live," Colorado: SourceBeat Pbulishing, online book, 2004. [11] 于東超.基于Struts2_Spring_Hibernate三種框架的通用Web開發(fā)框架的研究及應(yīng)用[D].北京:大連交通大學(xué)碩士學(xué)位論文 .2008. [12] 王海濤,賈宗璞.基于Struts和Hibernate的Web應(yīng)用開發(fā)[J] .計算機工程.2011,37(9):112~114
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新人教版高中數(shù)學(xué)幾何概型課件
- 行政執(zhí)法三項制度講稿課件
- 文本和表格信息加工(一)課件
- 整十?dāng)?shù)加一位數(shù)及相應(yīng)的減法-認(rèn)識100以內(nèi)的數(shù)教學(xué)課件2
- 溶解度曲線專題復(fù)習(xí)課件
- 腹痛瀉嘔便血思考題課件
- 部編版棉花姑娘課件
- 采購培訓(xùn)學(xué)習(xí)ppt課件
- 煉油工藝流程培訓(xùn)講義課件
- 人教版《中心對稱圖形》ppt課件
- 人教版八年級物理下冊流體壓強與流速的關(guān)系ppt課件
- 人教版初中八年級生物上冊細(xì)菌、真菌和病毒復(fù)習(xí)課件
- 討論課血友病--課件
- 述職報告年終總結(jié)ppt模板課件
- 留置尿管的護(hù)理