技術(shù)實(shí)現(xiàn)方案WEB端_第1頁(yè)
技術(shù)實(shí)現(xiàn)方案WEB端_第2頁(yè)
技術(shù)實(shí)現(xiàn)方案WEB端_第3頁(yè)
技術(shù)實(shí)現(xiàn)方案WEB端_第4頁(yè)
技術(shù)實(shí)現(xiàn)方案WEB端_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

關(guān)于夢(mèng)境的APP技術(shù)實(shí)現(xiàn)方案(WEB端)指導(dǎo)老師:張修軍隊(duì)名:微積分(Calculus)團(tuán)隊(duì)隊(duì)員:魏裔龍劉海文孫天松劉剛紀(jì)陽(yáng)徐凱平時(shí)間:2016-03-26目錄TOC\o"1-5"\h\z\o"CurrentDocument"1.WEB1端技術(shù) 3\o"CurrentDocument"WEB端技術(shù)路線 3\o"CurrentDocument"MVC模式 3\o"CurrentDocument"1.1.2WEB架構(gòu) 4\o"CurrentDocument"WEB端實(shí)現(xiàn)方案 7\o"CurrentDocument"1.2.1通信協(xié)議 7\o"CurrentDocument"1.2.2數(shù)據(jù)處理 8\o"CurrentDocument"1.2.3數(shù)據(jù)調(diào)用基本過(guò)程 9\o"CurrentDocument"數(shù)據(jù)庫(kù) 10\o"CurrentDocument"2.1數(shù)據(jù)庫(kù)技術(shù) 10\o"CurrentDocument"2.1.1數(shù)據(jù)庫(kù)技術(shù)路線 10\o"CurrentDocument"2.2數(shù)據(jù)庫(kù)實(shí)現(xiàn)方案 11\o"CurrentDocument"2.2.1數(shù)據(jù)庫(kù)的連接 11\o"CurrentDocument"2.2.2解決數(shù)據(jù)量大的問(wèn)題 12\o"CurrentDocument"2.2.3備份與恢復(fù) 13\o"CurrentDocument"采用技術(shù) 14\o"CurrentDocument".PHP的特性 14\o"CurrentDocument"?優(yōu)勢(shì) 14\o"CurrentDocument"3.3數(shù)據(jù)庫(kù) 15111

1.WEB端技術(shù)WEB端技術(shù)路線MVC模式WEB端主體框架采用MVC的設(shè)計(jì)模式,通過(guò)視圖、控制器、模型的分離減少了代碼的耦合度,由于MVC模式的三個(gè)模塊相互獨(dú)立,改變其中一個(gè)不會(huì)影響其他兩個(gè),所以依據(jù)這種設(shè)計(jì)思想能構(gòu)造良好的少互擾性的構(gòu)件。圖3-2MVC模式1.1.2WEB架構(gòu)業(yè)務(wù)層業(yè)務(wù)層WEB應(yīng)用系統(tǒng)大多采用J2EE(Java2PlatformEnterpriseEdition )的多層框架結(jié)構(gòu)模型,WEB應(yīng)用框架技術(shù)是一種針對(duì)某一特定應(yīng)用領(lǐng)域的面向?qū)ο筌浖?fù)用技術(shù)由特定應(yīng)用領(lǐng)域的軟件體系結(jié)構(gòu)所決定的軟件構(gòu)架。我們將使用J2EE三個(gè)比較受歡迎的開(kāi)源框架SSH來(lái)實(shí)現(xiàn)web功能。SSH為struts+spring+hibernate 的一個(gè)集成框架,是目前較流行的一種Web應(yīng)用程序開(kāi)源框架。集成SSH框架的系統(tǒng)從職責(zé)上分為四層:表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層和域模塊層Struts框架Struts框架是基于MVC(Model-View-Controller ,模型視圖控制器)模式的框架。采用Java語(yǔ)言編寫(xiě),它繼承了MVC設(shè)計(jì)模式的特性,對(duì)應(yīng)用系統(tǒng)的用戶界面顯示和數(shù)據(jù)的后端業(yè)務(wù)邏輯代碼進(jìn)行了抽象,并且整合了 Servlet與JSP在WEB應(yīng)用系統(tǒng)開(kāi)發(fā)上的優(yōu)勢(shì)。在Struts框架中,模型由實(shí)現(xiàn)業(yè)務(wù)邏輯的JavaBean組件構(gòu)成,控制器由Action以及Struts-config.xml 配置文件來(lái)實(shí)現(xiàn),視圖由一組JSP文件構(gòu)成。Spring框架Spring框架由一個(gè)容器、一個(gè)配置和組織組件的框架,一組內(nèi)置的為事務(wù)、持久化和WEB用戶接口提供的服務(wù)組成,是一個(gè)輕量的控制反轉(zhuǎn)((InversionofControl,loC)和面向方面(Aspect-orientedProgramming,AOP)的容器框架:輕量:完整的Spring框架可在一個(gè)大小1MB多的JAR文件里發(fā)布,并且Spring所需的處理開(kāi)銷也很小。控制反轉(zhuǎn):Spring通過(guò)一種稱作控制反轉(zhuǎn)(IoC)的技術(shù)促進(jìn)了松耦合??刂品崔D(zhuǎn)就是指由容器通過(guò)配置文件來(lái)管理業(yè)務(wù)對(duì)象之間的依賴關(guān)系,而非傳統(tǒng)方式中由代碼方式來(lái)直接操控。控制反轉(zhuǎn)的實(shí)質(zhì),是控制管理權(quán)由程序代碼轉(zhuǎn)到了外部容器,控制權(quán)的轉(zhuǎn)變即是所謂的反轉(zhuǎn)。面向方面:Spring包含對(duì)面向方面編程的豐富支持,允許通過(guò)分離應(yīng)用的業(yè)務(wù)邏輯與系統(tǒng)服務(wù)進(jìn)行內(nèi)聚性的開(kāi)發(fā)。應(yīng)用對(duì)象只做它們應(yīng)該做的,完成業(yè)務(wù)邏輯,并不負(fù)責(zé)其它的系統(tǒng)關(guān)注點(diǎn)。容器:Spring包含管理應(yīng)用對(duì)象的配置和生命周期,可以配置每個(gè) bean如何被創(chuàng)建。框架:Spring中,應(yīng)用對(duì)象被聲明式地組合,典型地是在一個(gè)XML文件里,Spring提供了很多基礎(chǔ)功能(事務(wù)管理、持久性框架集成等等),并留有應(yīng)用邏輯開(kāi)發(fā)。Hibernate框架Hibernate是一種Java語(yǔ)言環(huán)境下的對(duì)象/關(guān)系映射(Object-Relational,OR)解決方案。它為面向?qū)ο蟮膶?shí)體模型到關(guān)系型數(shù)據(jù)庫(kù)之間的映射,提供了一個(gè)極為方便的開(kāi)源框架。Hibernate使用數(shù)據(jù)庫(kù)和配置文件來(lái)為應(yīng)用程序提供持久化(持久化是指和數(shù)據(jù)庫(kù)相關(guān)的各種操作)服務(wù)。Hibernate配置文件有兩種格式:一種是XML格式的文件Hibernate.cfg.xml,—種是Java屬性文件Hibernate.Properties ,采用"鍵=值"的形式。在應(yīng)用系統(tǒng)的開(kāi)發(fā)中,Hibernate配置文件中包含了JDBC連接數(shù)據(jù)庫(kù)的驅(qū)動(dòng)信息。在應(yīng)用程序訪問(wèn)數(shù)據(jù)庫(kù)時(shí),首先讀取 Hibernate配置文件,再通過(guò)配置文件找到持久化類的XML映射文件,根據(jù)該映射文件得到相應(yīng)的持久化類,從而可以對(duì)類進(jìn)行操作。也就是將持久化對(duì)象中的屬性與數(shù)據(jù)庫(kù)表中的字段對(duì)應(yīng)起來(lái)。通過(guò)持久化對(duì)象完成對(duì)數(shù)據(jù)庫(kù)表中的數(shù)據(jù)的增加、修改、查詢和刪除操作。4) SSH框架協(xié)同工作整個(gè)項(xiàng)目結(jié)構(gòu)清晰,性能優(yōu)良。1.2WEB端實(shí)現(xiàn)方案1.2.1通信協(xié)議我們用HTTP協(xié)議實(shí)現(xiàn)客戶端與服務(wù)端的連接。HTTP協(xié)議是一種詳細(xì)規(guī)定了瀏覽器和萬(wàn)維網(wǎng)服務(wù)器之間互相通信的規(guī)則,通過(guò)因特網(wǎng)傳送萬(wàn)維網(wǎng)文檔的數(shù)據(jù)傳送協(xié)議,由于其簡(jiǎn)捷、快速的方式,適用于分布式超媒體信息系統(tǒng)。圖3-5XMPP協(xié)議XMPP是一種基于XML的協(xié)議,它繼承了在XML環(huán)境中靈活的發(fā)展性。因此,基于XMPP的應(yīng)用具有超強(qiáng)的可擴(kuò)展性。經(jīng)過(guò)擴(kuò)展以后的XMPP可以通過(guò)發(fā)送擴(kuò)展的信息來(lái)處理用戶的需求,以及在XMPP的頂端建立如內(nèi)容發(fā)布系統(tǒng)和基于地址的服務(wù)等應(yīng)用程序。而且XMPP包含了針對(duì)服務(wù)器端的軟件協(xié)議,使之能與另一個(gè)進(jìn)行通話,這使得開(kāi)發(fā)者更容易建立客戶用應(yīng)用程序或給一個(gè)配好系統(tǒng)添加功能。由于HTTP協(xié)議時(shí)需要客戶端發(fā)送請(qǐng)求,服務(wù)端才會(huì)發(fā)送數(shù)據(jù),但我們系統(tǒng)中有如聊天系統(tǒng)等需要實(shí)施的功能使用http協(xié)議就不是很合適,因此我們還使用了XMPP協(xié)議配合HTML協(xié)議完成聊天功能以及系統(tǒng)活動(dòng)、運(yùn)動(dòng)咨詢和定點(diǎn)廣告的推送功能。1.2.2數(shù)據(jù)處理1.字符數(shù)據(jù)處理JSON(JavaScriptObjectNotation) 是一種輕量級(jí)的數(shù)據(jù)交換格式。JSON采用完全獨(dú)立于語(yǔ)言的文本格式,但是也使用了類似于 C語(yǔ)言家族的習(xí)慣(包括C,C++,C#,Java,JavaScript,Perl,Python 等)。這些特性使JSON成為理想的數(shù)據(jù)交換語(yǔ)言。易于人閱讀和編寫(xiě),同時(shí)也易于機(jī)器解析和生成123數(shù)據(jù)調(diào)用基本過(guò)程數(shù)據(jù)庫(kù)2.1數(shù)據(jù)庫(kù)技術(shù)2.1.1數(shù)據(jù)庫(kù)技術(shù)路線JDBC(JavaDataBaseConnectivity,java數(shù)據(jù)庫(kù)連接)是一種用于執(zhí)行SQL語(yǔ)句的JavaAPI,可以為多種關(guān)系數(shù)據(jù)庫(kù)提供統(tǒng)一訪問(wèn),它由一組用 Java語(yǔ)言編寫(xiě)的類和接口組成。JDBC為工具/數(shù)據(jù)庫(kù)開(kāi)發(fā)人員提供了一個(gè)標(biāo)準(zhǔn)的API,據(jù)此可以構(gòu)建更高級(jí)的工具和接口,使數(shù)據(jù)庫(kù)開(kāi)發(fā)人員能夠用純 JavaAPI編寫(xiě)數(shù)據(jù)庫(kù)應(yīng)用程序。2.2數(shù)據(jù)庫(kù)實(shí)現(xiàn)方案221數(shù)據(jù)庫(kù)的連接與數(shù)據(jù)庫(kù)建立連接的標(biāo)準(zhǔn)方法是調(diào)用 DriverManager.getConnection方法。該方法接受含有某個(gè) URL的字符串。DriverManager 類(即所謂的JDBC管理層)將嘗試找到可與那個(gè) URL所代表的數(shù)據(jù)庫(kù)進(jìn)行連接的驅(qū)動(dòng)程序。DriverManager 類存有已注冊(cè)的Driver類的清單。當(dāng)調(diào)用方法getConnection 時(shí),它將檢查清單中的每個(gè)驅(qū)動(dòng)程序,直到找到可與 URL中指定的數(shù)據(jù)庫(kù)進(jìn)行連接的驅(qū)動(dòng)程序?yàn)橹埂?Driver的方法connect使用這個(gè)URL來(lái)建立實(shí)際的連接。 用戶可繞過(guò)JDBC管理層直接調(diào)用Driver方法。這在以下特殊情況下將很有用:當(dāng)兩個(gè)驅(qū)動(dòng)器可同時(shí)連接到數(shù)據(jù)庫(kù)中,而用戶需要明確地選用其中特定的驅(qū)動(dòng)器。但一般情況下,讓DriverManager 類處理打開(kāi)連接這種事將更為簡(jiǎn)單。222解決數(shù)據(jù)量大的問(wèn)題圖4-3數(shù)據(jù)庫(kù)數(shù)據(jù)量與性能的關(guān)系圖隨著用戶的增加,每個(gè)人上傳的圖片等的數(shù)據(jù)量將會(huì)在服務(wù)器越積越多,導(dǎo)致性能下降。但是每個(gè)人的資料信息以及上傳的圖片又不能刪除,給服務(wù)器帶來(lái)了很大的壓力。為了處理多用戶量的問(wèn)題我們?cè)诤笃跊Q定使用分布式多服務(wù)器分工合作原理,解決大數(shù)據(jù)量帶來(lái)的壓力。223備份與恢復(fù)備份2備份2OlliC注解V工隹丟喪鳳時(shí)圖4-5數(shù)據(jù)庫(kù)備份圖備份策略一:直接拷貝數(shù)據(jù)庫(kù)文件直接拷貝數(shù)據(jù)文件最為直接、快速、方便,但缺點(diǎn)是基本上不能實(shí)現(xiàn)增量備份。為了保證數(shù)據(jù)的一致性,需要在備份文件前,執(zhí)行以下 sql語(yǔ)句:flushtableswithreadlock;也就是把內(nèi)存中的數(shù)據(jù)都刷新到磁盤(pán)中,同時(shí)鎖定數(shù)據(jù)表,以保證拷貝過(guò)程中不會(huì)有新的數(shù)據(jù)寫(xiě)入。這種方法備份出來(lái)的數(shù)據(jù)恢復(fù)也很簡(jiǎn)單,直接拷貝回原來(lái)的數(shù)據(jù)庫(kù)目錄下即可。備份策略二:使用mysqlhotcopy 備份數(shù)據(jù)庫(kù)mysqlhotcopy是一個(gè)perl程序,最初由timbunce編寫(xiě)。它使用locktables、flushtables和cp或scp來(lái)快速備份數(shù)據(jù)庫(kù)。它是備份數(shù)據(jù)庫(kù)或單個(gè)表的最快的途徑,但它只能運(yùn)行在數(shù)據(jù)庫(kù)文件(包括數(shù)據(jù)表定義文件、數(shù)據(jù)文件、索引文件)所在的機(jī)器上,并且 mysqlhotcopy 只能用于備份myisam表。本備份策略適合于小型數(shù)據(jù)庫(kù)的備份,數(shù)據(jù)量不大,可以采用 mysqlhotcopy程序每天進(jìn)行一次完全備份。采用技術(shù).PHP的特性PHP獨(dú)特的語(yǔ)法混合了C、Java、Perl以及PHP自創(chuàng)新的語(yǔ)法。PHP可以比CGI或者Perl更快速的執(zhí)行動(dòng)態(tài)網(wǎng)頁(yè)一一動(dòng)態(tài)頁(yè)面方面,與其他的編程語(yǔ)言相比,PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成htmL標(biāo)記的CGI要高許多;PHP具有非常強(qiáng)大的功能,所有的CGI的功能PHP都能實(shí)現(xiàn)。PHP支持幾乎所有流行的數(shù)據(jù)庫(kù)以及操作系統(tǒng)。最重要的是PHP可以用C、C++進(jìn)行程序的擴(kuò)展!.優(yōu)勢(shì)1?開(kāi)放源代碼所有的PHP源代碼事實(shí)上都可以得到。2?免費(fèi)性和其它技術(shù)相比,PHP本身免費(fèi)且是開(kāi)源代碼。3?快捷性程序開(kāi)發(fā)快,運(yùn)行快,技術(shù)本身學(xué)習(xí)快。嵌入于HTML:因?yàn)镻HP可以被嵌入于HTML語(yǔ)言,它相對(duì)于其他語(yǔ)言。編輯簡(jiǎn)單,實(shí)用性強(qiáng),更適合初跨平臺(tái)性強(qiáng)由于PHP是運(yùn)行在服務(wù)器端的 腳本,可以運(yùn)行在 UNIX、LINUX、WINDOWS、MacOS、Android等平臺(tái)效率咼PHP消耗相當(dāng)少的系統(tǒng)資源。圖像處理用PHP動(dòng)態(tài)創(chuàng)建圖像,PHP圖像處理默認(rèn)使用GD2。且也可以配置為使用imagemagick進(jìn)行圖像處理。面向?qū)ο笤趐hp4,php5中,面向?qū)ο蠓矫娑加辛撕艽蟮母倪M(jìn),php完全可以用來(lái)開(kāi)發(fā)大型商業(yè)程序。專業(yè)專注PHP支持腳本語(yǔ)言為主,同為類C語(yǔ)言。3.3數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)采用MySQL,作為一個(gè)小型關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),它體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),這使得許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。Mysql擁有許多優(yōu)良特性:使用C和C++編寫(xiě),并使用了多種編譯器進(jìn)行測(cè)試,保證源代碼的可移植性支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多種操作系統(tǒng)3?為多種編程語(yǔ)言提供了AP

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論