基于BS模式的同學(xué)錄系統(tǒng)文獻綜述_第1頁
基于BS模式的同學(xué)錄系統(tǒng)文獻綜述_第2頁
基于BS模式的同學(xué)錄系統(tǒng)文獻綜述_第3頁
基于BS模式的同學(xué)錄系統(tǒng)文獻綜述_第4頁
基于BS模式的同學(xué)錄系統(tǒng)文獻綜述_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

基于BS模式的同學(xué)錄系統(tǒng)文獻綜述隨著Internet成為人們生活、工作、學(xué)習(xí)不可或缺的一部分,Web技術(shù)已經(jīng)不再局限于單純地提供信息,而是日益成為一個操作平臺,為用戶提供強大的服務(wù)功能,如網(wǎng)上電子商務(wù)、社會信息數(shù)據(jù)庫等。網(wǎng)絡(luò)實現(xiàn)了遠程通訊,人們能夠通過計算機網(wǎng)絡(luò)進行電子郵件發(fā)送,網(wǎng)絡(luò)會議召開,網(wǎng)上購物,網(wǎng)上教育。網(wǎng)絡(luò)巨大的潛力值得進一步的開發(fā)與探索。因此,基于B/S體系架構(gòu)創(chuàng)建這個校友網(wǎng)站,是緊跟行業(yè)發(fā)展,滿足人們生活、學(xué)習(xí)的需要。B/S模型及其優(yōu)點B/S結(jié)構(gòu),即Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),客戶機上只要安裝一個瀏覽器(Browser),如NetscapeNavigator或InternetExplorer,服務(wù)器安裝Oracle、Sybase、Informix或SQLServer等數(shù)據(jù)庫。瀏覽器通過WebServer同數(shù)據(jù)庫進行數(shù)據(jù)交互。這種結(jié)構(gòu)的一個重要的特點是,用戶可以完全不需要安裝客戶端軟件,當(dāng)然也不需要擔(dān)心任何軟件升級和不兼容等任何客戶端所遇到的問題。B/S模型是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者說是改進的結(jié)構(gòu)。用戶界面完全通過瀏覽器實現(xiàn),一部分事務(wù)邏輯在前端實現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實現(xiàn),形成三層結(jié)構(gòu),是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。兩層技術(shù)模型(Two-TierArchitecture)是指客戶機直接與服務(wù)器交流,沒有其他服務(wù)介入的技術(shù)模型。對用戶量在12—100的局域網(wǎng)環(huán)境中,兩層模型的確是個不錯的方案。由于該模型中,所有的用戶連接都是被保持的,也就是說即使在空閑狀態(tài),連接依然存在。所以,用戶的并發(fā)請求數(shù)量有限的。為了解決這個限制,使得成千上萬的用戶可以被無顧慮地添加,我們最好選用三層模型。B/S最大的優(yōu)點就是可以在任何地方進行操作而不用安裝任何專門的軟件。只要有一臺能上網(wǎng)的電腦就能使用,客戶端零維護。系統(tǒng)的擴展非常容易,只要能上網(wǎng),再由系統(tǒng)管理員分配一個用戶名和密碼,就可以使用了。甚至可以在線申請,通過公司內(nèi)部的安全認證(如CA證書)后,不需要人的參與,系統(tǒng)可以自動分配給用戶一個賬號進入系統(tǒng)。相比之下,B/S模型的優(yōu)點顯而易見,更適合這個網(wǎng)站的構(gòu)建,有利于網(wǎng)站的維護和擴充。幾乎沒有限制的客戶端訪問和極其簡單化的應(yīng)用程序部署和管理是B/S模型的優(yōu)勢所在。它和C/S模型比較優(yōu)點極為突出。JSP技術(shù)發(fā)展背景Web技術(shù)的迅猛發(fā)展正推動Internet上信息服務(wù)類的進步。WWW服務(wù)的基礎(chǔ)是HTML語言。這個系統(tǒng)模塊中用到的JSP技術(shù)是在HTML語言的基礎(chǔ)上使用腳本語言對網(wǎng)頁的對象模型進行編程。JSP全稱JavaServerPages,它是由SunMicrosystems公司提出、許多公司參與建立的一種動態(tài)網(wǎng)頁技術(shù)標準。它誕生在1999年6月1日。目前國內(nèi)外已經(jīng)在廣泛地使用JSP。隨著JAVA語言得到普及,越來越多的公司開始關(guān)注JSP的前景。傳統(tǒng)的動態(tài)網(wǎng)頁制作包括CGI、ASP、JSP三種,而JSP具有明顯的優(yōu)勢。使用CGI-BINJ接口是一個最早的動態(tài)WEB頁面問題的解決方案。缺點,CGI程序必須從CGI接口讀入一長串的字符串,再從字符串中取得所需要的數(shù)據(jù)并加以處理。過程十分繁瑣。另一個缺點,除了Perl是解釋語言外,其他都是編譯式的語言。每次修改后,都必須重新編譯一次,這給開發(fā)人員帶來麻煩,增加了工作量。ASP和JSP都能取代CGI使網(wǎng)站建設(shè)和發(fā)展變得簡單快捷。盡管JSP技術(shù)和ASP在許多方面都有相似的,但仍然存在很多不同之處,其中最本質(zhì)上的區(qū)別在于:兩者是來源于不同的技術(shù)規(guī)范組織,其實現(xiàn)的基礎(chǔ),WEB服務(wù)器平臺要求不相同。1)作為Java平臺的一部分,JSP擁有Java編程語言“一次編寫,各處運行”的特點。一次寫入,之后,可以運行在任何具有符合JavaTM語法結(jié)構(gòu)的環(huán)境。取代之過去單一平臺開發(fā)。ASP主要工作環(huán)境是微軟的IIS應(yīng)用程序結(jié)構(gòu),又因Activex對象具有平臺特性,所以ASP技術(shù)不能很容易地實現(xiàn)在跨平臺的WEB服務(wù)器的工作。2)從開發(fā)人員的角度來看其區(qū)別在于:ASP僅支持組件對象模型COM,而JSP技術(shù)提供的組件都是基于JavabeansTM技術(shù)或JSP標簽庫。3)JSP標簽可擴充性。JSP技術(shù)能夠使用開發(fā)者擴展JSP標簽,JSP開發(fā)者能定制標簽庫,減少對腳本語言的依賴。4)生成可重用的組件。JSP基于組件的技術(shù)方法加速了總體開發(fā)過程。JSP組件(Javabeans,或定制的JSP標簽)是跨平臺可重用的。Javabeans組件可以訪問數(shù)據(jù)庫,并能以分布式系統(tǒng)模式工作于UNIX和WINDOWS平臺。5)易于維護性?;贘SP技術(shù)的應(yīng)用程序比基于ASP的應(yīng)用程序易于維護和管理。JSP突出的組件技術(shù)使修改內(nèi)容而不影響邏輯或修改邏輯而不影響內(nèi)容變得很容易實現(xiàn)。如上的比較不難看出,JSP技術(shù)編寫的程序運用要更加靈活,可擴展性更強。MVC框架MVC模式是"Model-View-Controller"的縮寫,中文翻譯為"模式-視圖-控制器"。MVC應(yīng)用程序總是由這三個部分組成。Event(事件)導(dǎo)致Controller改變Model或View,或者同時改變兩者。只要Controller改變了Models的數(shù)據(jù)或者屬性,所有依賴的View都會自動更新。類似的,只要Controller改變了View,View會從潛在的Model中獲取數(shù)據(jù)來刷新自己。MVC與J2EE架構(gòu)的對應(yīng)關(guān)系是:View處于WebTier或者說是ClientTier,通常是JSP/Servlet,即頁面顯示部分。Controller也處于WebTier,通常用Servlet來實現(xiàn),即頁面顯示的邏輯部分實現(xiàn)。Model處于MiddleTier,通常用服務(wù)端的javaBean或者EJB實現(xiàn),即業(yè)務(wù)邏輯部分的實現(xiàn)。

一、MVC設(shè)計思想

MVC英文即Model-View-Controller,即把一個應(yīng)用的輸入、處理、輸出流程按照Model、View、Controller的方式進行分離,這樣一個應(yīng)用被分成三個層——模型層、視圖層、控制層。

視圖(View):代表用戶交互界面,對于Web應(yīng)用來說,可以概括為HTML界面,但有可能為XHTML、XML和Applet。隨著應(yīng)用的復(fù)雜性和規(guī)模性,界面的處理也變得具有挑戰(zhàn)性。一個應(yīng)用可能有很多不同的視圖,MVC設(shè)計模式對于視圖的處理僅限于視圖上數(shù)據(jù)的采集和處理,以及用戶的請求,而不包括在視圖上的業(yè)務(wù)流程的處理。業(yè)務(wù)流程的處理交予模型(Model)處理。比如一個訂單的視圖只接受來自模型的數(shù)據(jù)并顯示給用戶,以及將用戶界面的輸入數(shù)據(jù)和請求傳遞給控制和模型。

模型(Model):就是業(yè)務(wù)流程/狀態(tài)的處理以及業(yè)務(wù)規(guī)則的制定。業(yè)務(wù)流程的處理過程對其它層來說是黑箱操作,模型接受視圖請求的數(shù)據(jù),并返回最終的處理結(jié)果。業(yè)務(wù)模型的設(shè)計可以說是MVC最主要的核心。目前流行的EJB模型就是一個典型的應(yīng)用例子,它從應(yīng)用技術(shù)實現(xiàn)的角度對模型做了進一步的劃分,以便充分利用現(xiàn)有的組件,但它不能作為應(yīng)用設(shè)計模型的框架。它僅僅告訴你按這種模型設(shè)計就可以利用某些技術(shù)組件,從而減少了技術(shù)上的困難。對一個開發(fā)者來說,就可以專注于業(yè)務(wù)模型的設(shè)計。MVC設(shè)計模式告訴我們,把應(yīng)用的模型按一定的規(guī)則抽取出來,抽取的層次很重要,這也是判斷開發(fā)人員是否優(yōu)秀的設(shè)計依據(jù)。抽象與具體不能隔得太遠,也不能太近。MVC并沒有提供模型的設(shè)計方法,而只告訴你應(yīng)該組織管理這些模型,以便于模型的重構(gòu)和提高重用性。我們可以用對象編程來做比喻,MVC定義了一個頂級類,告訴它的子類你只能做這些,但沒法限制你能做這些。這點對編程的開發(fā)人員非常重要。

業(yè)務(wù)模型還有一個很重要的模型那就是數(shù)據(jù)模型。數(shù)據(jù)模型主要指實體對象的數(shù)據(jù)保存(持續(xù)化)。比如將一張訂單保存到數(shù)據(jù)庫,從數(shù)據(jù)庫獲取訂單。我們可以將這個模型單獨列出,所有有關(guān)數(shù)據(jù)庫的操作只限制在該模型中。

控制(Controller):可以理解為從用戶接收請求,將模型與視圖匹配在一起,共同完成用戶的請求。劃分控制層的作用也很明顯,它清楚地告訴你,它就是一個分發(fā)器,選擇什么樣的模型,選擇什么樣的視圖,可以完成什么樣的用戶請求??刂茖硬⒉蛔鋈魏蔚臄?shù)據(jù)處理。例如,用戶點擊一個連接,控制層接受請求后,并不處理業(yè)務(wù)信息,它只把用戶的信息傳遞給模型,告訴模型做什么,選擇符合要求的視圖返回給用戶。因此,一個模型可能對應(yīng)多個視圖,一個視圖可能對應(yīng)多個模型。

模型、視圖與控制器的分離,使得一個模型可以具有多個顯示視圖。如果用戶通過某個視圖的控制器改變了模型的數(shù)據(jù),所有其它依賴于這些數(shù)據(jù)的視圖都應(yīng)反映到這些變化。因此,無論何時發(fā)生了何種數(shù)據(jù)變化,控制器都會將變化通知所有的視圖,導(dǎo)致顯示的更新。這實際上是一種模型的變化-傳播機制。模型、視圖、控制器三者之間的關(guān)系和各自的主要功能,如圖1所示。

二、MVC設(shè)計模式的實現(xiàn)

MVC是一個設(shè)計模式,它強制性的使應(yīng)用程序的輸入、處理和輸出分開。使用MVC應(yīng)用程序被分成三個核心部件:模型、視圖、控制器。它們各自處理自己的任務(wù)。

視圖

視圖是用戶看到并與之交互的界面。對老式的Web應(yīng)用程序來說,視圖就是由HTML元素組成的界面,在新式的Web應(yīng)用程序中,HTML依舊在視圖中扮演著重要的角色,但一些新的技術(shù)已層出不窮,它們包括MacromediaFlash和象XHTML,XML/XSL,WML等一些標識語言和Webservices.

如何處理應(yīng)用程序的界面變得越來越有挑戰(zhàn)性。MVC一個大的好處是它能為你的應(yīng)用程序處理很多不同的視圖。在視圖中其實沒有真正的處理發(fā)生,不管這些數(shù)據(jù)是聯(lián)機存儲的還是一個雇員列表,作為視圖來講,它只是作為一種輸出數(shù)據(jù)并允許用戶操縱的方式。

模型

模型表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則。在MVC的三個部件中,模型擁有最多的處理任務(wù)。例如它可能用象EJBs和ColdFusionComponents這樣的構(gòu)件對象來處理數(shù)據(jù)庫。被模型返回的數(shù)據(jù)是中立的,就是說模型與數(shù)據(jù)格式無關(guān),這樣一個模型能為多個視圖提供數(shù)據(jù)。由于應(yīng)用于模型的代碼只需寫一次就可以被多個視圖重用,所以減少了代碼的重復(fù)性。

控制器

控制器接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求。所以當(dāng)單擊Web頁面中的超鏈接和發(fā)送HTML表單時,控制器本身不輸出任何東西和做任何處理。它只是接收請求并決定調(diào)用哪個模型構(gòu)件去處理請求,然后用確定用哪個視圖來顯示模型處理返回的數(shù)據(jù)。

總結(jié)MVC的處理過程,首先控制器接收用戶的請求,并決定應(yīng)該調(diào)用哪個模型來進行處理,然后模型用業(yè)務(wù)邏輯來處理用戶的請求并返回數(shù)據(jù),最后控制器用相應(yīng)的視圖格式化模型返回的數(shù)據(jù),并通過表示層呈現(xiàn)給用戶。

三、MVC的優(yōu)點

大部分Web應(yīng)用程序都是用像ASP,PHP,或者CFML這樣的過程化語言來創(chuàng)建的。它們將像數(shù)據(jù)庫查詢語句這樣的數(shù)據(jù)層代碼和像HTML這樣的表示層代碼混在一起。經(jīng)驗比較豐富的開發(fā)者會將數(shù)據(jù)從表示層分離開來,但這通常不是很容易做到的,它需要精心的計劃和不斷的嘗試。MVC從根本上強制性的將它們分開。盡管構(gòu)造MVC應(yīng)用程序需要一些額外的工作,但是它給我們帶來的好處是無庸質(zhì)疑的。

首先,最重要的一點是多個視圖能共享一個模型,正如我所提及的,現(xiàn)在需要用越來越多的方式來訪問你的應(yīng)用程序。對此,其中一個解決之道是使用MVC,無論你的用戶想要Flash界面或是WAP界面;用一個模型就能處理它們。由于你已經(jīng)將數(shù)據(jù)和業(yè)務(wù)規(guī)則從表示層分開,所以你可以最大化的重用你的代碼了。

由于模型返回的數(shù)據(jù)沒有進行格式化,所以同樣的構(gòu)件能被不同界面使用。例如,很多數(shù)據(jù)可能用HTML來表示,但是它們也有可能要用MacromediaFlash和WAP來表示。模型也有狀態(tài)管理和數(shù)據(jù)持久性處理的功能,例如,基于會話的購物車和電子商務(wù)過程也能被Flash網(wǎng)站或者無線聯(lián)網(wǎng)的應(yīng)用程序所重用。

因為模型是自包含的,并且與控制器和視圖相分離,所以很容易改變你的應(yīng)用程序的數(shù)據(jù)層和業(yè)務(wù)規(guī)則。如果你想把你的數(shù)據(jù)庫從MySQL移植到Oracle,或者改變你的基于RDBMS數(shù)據(jù)源到LDAP,只需改變你的模型即可。一旦你正確的實現(xiàn)了模型,不管你的數(shù)據(jù)來自數(shù)據(jù)庫或是LDAP服務(wù)器,視圖將會正確的顯示它們。由于運用MVC的應(yīng)用程序的三個部件是相互對立,改變其中一個不會影響其它兩個,所以依據(jù)這種設(shè)計思想你能構(gòu)造良好的松偶合的構(gòu)件。

控制器的也提供了一個好處,就是可以使用控制器來聯(lián)接不同的模型和視圖去完成用戶的需求,這樣控制器可以為構(gòu)造應(yīng)用程序提供強有力的手段。給定一些可重用的模型和視圖,控制器可以根據(jù)用戶的需求選擇模型進行處理,然后選擇視圖將處理結(jié)果顯示給用戶。

四、MVC的不足

MVC的不足體現(xiàn)在以下幾個方面:

(1)增加了系統(tǒng)結(jié)構(gòu)和實現(xiàn)的復(fù)雜性。對于簡單的界面,嚴格遵循MVC,

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論