畢業(yè)論文-東南大學(xué)-9系-計(jì)算機(jī)科學(xué)與技術(shù)_第1頁
畢業(yè)論文-東南大學(xué)-9系-計(jì)算機(jī)科學(xué)與技術(shù)_第2頁
畢業(yè)論文-東南大學(xué)-9系-計(jì)算機(jī)科學(xué)與技術(shù)_第3頁
畢業(yè)論文-東南大學(xué)-9系-計(jì)算機(jī)科學(xué)與技術(shù)_第4頁
畢業(yè)論文-東南大學(xué)-9系-計(jì)算機(jī)科學(xué)與技術(shù)_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

畢業(yè)論文-東南大學(xué)-9系-計(jì)算機(jī)科學(xué)與技術(shù)畢業(yè)論文-東南大學(xué)-9系-計(jì)算機(jī)科學(xué)與技術(shù)/畢業(yè)論文-東南大學(xué)-9系-計(jì)算機(jī)科學(xué)與技術(shù)畢業(yè)設(shè)計(jì)(論文)報(bào)告題目彩信網(wǎng)站的建立9系計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)2000級(jí)學(xué)號(hào)學(xué)生姓名指導(dǎo)教師起迄日期年月—年月設(shè)計(jì)地點(diǎn)南京東南大學(xué)、江蘇XXXXX科技有限公司論文摘要?jiǎng)討B(tài)彩信網(wǎng)站的建立摘要本文用采用JAVA語言,研究和完成了彩信動(dòng)態(tài)網(wǎng)站的制作。首先本文先分析了彩信的市場現(xiàn)狀和前景,然后研究了一下彩信送彩信SP下發(fā)到用戶手機(jī)的流程通道。接著介紹了一下彩信前臺(tái)的制作,前臺(tái)可以采用FrontPage制作,在制作時(shí)要特別注意在網(wǎng)頁中加的標(biāo)簽。然后著重介紹了網(wǎng)站的幾個(gè)后臺(tái)程序,主要是這些程序的功能的實(shí)現(xiàn)的方法,信息在網(wǎng)站里的傳輸,以與各模板的調(diào)用。最后,在完成了網(wǎng)站后談了談網(wǎng)站測試的方法。測試網(wǎng)站是最重要的是要認(rèn)真細(xì)心,這個(gè)過程對(duì)于一個(gè)網(wǎng)站來說非常重要,應(yīng)建立長期測試的計(jì)劃。結(jié)果把網(wǎng)站掛到服務(wù)器上終于完成了它的預(yù)期功能——發(fā)送用戶點(diǎn)播彩信。ABSTRACTThearticlediscussesandstudiesthedesignandbuildingofMMSdynamicwebsitewithJavalanguage.ThearticlefirstanalyzescurrentsituationandfutureprosperityofMMSmarket.NextitstudiestheflowchannelofMMSfromcertainSPtousers’mobilephones.ThenitintroducesforegroundproductionofwebpageswithFrontPageprogram,payingspecialattentiontothelabelsaffixedtowebpages.Italsointroducesseveralbackgroundprogramsforwebsite,includingtheirfunctionsandapplication,informationtransmissioninsidewebsiteandadoptionofvarioustemplates.Atlast,itdiscussesthetestingmethodforwebsite.Itisveryimportanttosetupalong-termtestingplanforacertainwebsite.Theutmostpurposeofabovediscussionistoestablishthewebsiteonserverandcarryoutitdesignedfunction,totransmitbookedMMStousers’mobilephones.目錄第一章引言1.1彩信業(yè)務(wù)發(fā)展的現(xiàn)狀與前景……………………51.2彩信網(wǎng)站建立的意義……………6第二章相關(guān)技術(shù)2.1Java技術(shù)…………72.2彩信傳送通道……………………8第三章彩信網(wǎng)站的基本組成部分3.1網(wǎng)站前臺(tái)頁面的組成和功能…………………103.2網(wǎng)站的主要后臺(tái)程序介紹與功能……………113.3網(wǎng)站的數(shù)據(jù)庫主要內(nèi)容………11第四章彩信網(wǎng)站的總體設(shè)計(jì)與分析前臺(tái)頁面的制作………………14網(wǎng)頁前臺(tái)效果的制作…………………14網(wǎng)頁中的標(biāo)簽…………14概述……………………164.2主要后臺(tái)程序的編寫…………164.2.1用戶點(diǎn)播彩信流程圖…………………164.2.2控制文件config…………184.2.3方法調(diào)用類methods……………………184.2.4index中的功能實(shí)現(xiàn)的編寫……………194.2.5browse中的功能實(shí)現(xiàn)的編寫…………224.2.6mmsdiy主要功能實(shí)現(xiàn)的編寫…………264.2.7mmsdiyconfirm的編寫…………………284.2.8Send功能實(shí)現(xiàn)的編寫…………………29第五章彩信網(wǎng)站的測試……………34展望與總結(jié)……………………35致謝………………36參考文獻(xiàn)………………………37第一章引言1.1彩信業(yè)務(wù)發(fā)展的現(xiàn)狀與前景2002年10月1日,中國移動(dòng)通信集團(tuán)公司推出了MMS彩信業(yè)務(wù),標(biāo)志著中國移動(dòng)通信進(jìn)入了移動(dòng)多媒體時(shí)代。彩信,英文名是MMS,它是MultimediaMessagingSer-vice的縮寫,意為多媒體信息服務(wù)。它最大的特色就是支持多媒體功能,能夠傳遞功能全面的內(nèi)容和信息,這些信息包括文字、圖像、聲音等各種多媒體格式的信息。多媒體信息使具有功能全面的內(nèi)容和信息得以傳遞,這些信息包括圖像、音頻信息、視頻信息、數(shù)據(jù)以與文本等多媒體信息,可以支持語音、因特網(wǎng)瀏覽、電子郵件、會(huì)議電視等多種高速數(shù)據(jù)業(yè)務(wù),在GPRS網(wǎng)絡(luò)的支持下,以WAP無線應(yīng)用協(xié)議為載體傳送視頻片段、圖片、聲音和文字。多媒體信息業(yè)務(wù)可實(shí)現(xiàn)即時(shí)的手機(jī)端到端、手機(jī)終端到互聯(lián)網(wǎng)或互聯(lián)網(wǎng)到手機(jī)終端的多媒體信息傳送。MMS業(yè)務(wù)的產(chǎn)生,是移動(dòng)通信市場拉動(dòng)和技術(shù)推動(dòng)發(fā)展雙重作用的結(jié)果;MMS業(yè)務(wù)的推出和發(fā)展,又將推動(dòng)和促進(jìn)移動(dòng)通信市場和技術(shù)的發(fā)展。

MMS已經(jīng)被業(yè)界公認(rèn)為GPRS和3G市場啟動(dòng)與發(fā)展的關(guān)鍵推動(dòng)力,中國移動(dòng)通信運(yùn)營商的MMS業(yè)務(wù),將加速中國從2G移動(dòng)通信網(wǎng)絡(luò)向3G移動(dòng)通信網(wǎng)絡(luò)的演進(jìn)。

作為一門新技術(shù)的應(yīng)用,MMS將為運(yùn)營商、系統(tǒng)和終端設(shè)備制造商、內(nèi)容和應(yīng)用開發(fā)商與提供商們提供市場機(jī)遇,也將使他們面臨新的挑戰(zhàn)。因此,如何確定和把握MMS市場機(jī)遇,減少市場競爭中的風(fēng)險(xiǎn),就成為十分重要的課題。如果說過去的2003年是移動(dòng)通信“彩屏年”的話,分析2004年市場的發(fā)展趨勢我們依稀看到了“彩信年”的影子。2004年對(duì)于彩信的發(fā)展而言是關(guān)鍵的一年,產(chǎn)業(yè)鏈各環(huán)節(jié)都不會(huì)忽視這一市場帶來的巨大商機(jī),全力促進(jìn)彩信產(chǎn)業(yè)的發(fā)展。首先,從終端角度看,在彩屏手機(jī)的大幅下降之后,彩信手機(jī)價(jià)格的“跳水”也完全是可預(yù)期的。隨著更多的用戶能夠用得起彩信手機(jī),使用彩信的潛在用戶會(huì)迅速擴(kuò)大。2003年彩屏手機(jī)價(jià)格有了大幅度的降低,與此同時(shí),彩信手機(jī)的價(jià)格也開始“跳水”。其次,隨著SP彩信開發(fā)隊(duì)伍的壯大和產(chǎn)品積累的增加,形成各自特色品牌將成為可能。這將大大豐富彩信的內(nèi)容,增加對(duì)用戶的吸引力。在彩信市場日漸成熟的今天,SP們開發(fā)彩信產(chǎn)品的水平也有了長足的進(jìn)步。再次,從運(yùn)營商方面來看,為拓展市場、加速彩信市場的升溫,運(yùn)營商采取了大規(guī)模降價(jià)促銷活動(dòng),這無疑將刺激現(xiàn)有和潛在的用戶更多地使用彩信這一傳情達(dá)意的溝通方式。從目前來看,2004年彩信發(fā)展勢頭良好,這離不開彩信互聯(lián)互通、內(nèi)容應(yīng)用范圍的拓展、GPRS網(wǎng)絡(luò)質(zhì)量提高等條件的成熟。彩信正逐漸為用戶所接受,越來越多地進(jìn)入了用戶的日常生活。2004年,彩信的發(fā)展必將跨越一個(gè)新的階段。1.2彩信網(wǎng)站建立的意義在彩信發(fā)展的大好形勢下,如何抓好市場是一個(gè)非常關(guān)鍵的問題。彩業(yè)務(wù)的終端是用戶的手機(jī),用戶可以通過兩種途徑來選擇需要的彩信服務(wù)。一種是通過手機(jī)瀏覽手機(jī)wap;另一種就是通過互聯(lián)網(wǎng)訪問彩信Sp的門戶網(wǎng)站。通過手機(jī)wap訪問,用戶的手機(jī)必須是彩信手機(jī),這種方式上網(wǎng)的優(yōu)點(diǎn)是方便靈活,可以隨時(shí)隨地上wap選擇自己喜歡的內(nèi)容。但是通過手機(jī)wap訪問的缺點(diǎn)也是顯而易見的,受手機(jī)屏幕的限制,它的瀏覽不方便,操作繁瑣,這在很大程度上影響了用戶是用彩信服務(wù)的數(shù)量。通過門戶網(wǎng)站瀏覽,雖然沒有wap那么方便靈活,但是它的信息量之大是wap所無法比擬的。在wap上,用戶也需要通過很多操作達(dá)到預(yù)覽一張圖片的目的,但是在門戶網(wǎng)站上,只需輸入地址,就可以大批量的把自己的產(chǎn)品服務(wù)展現(xiàn)給用戶。所以說,門戶網(wǎng)站是彩信業(yè)務(wù)的一個(gè)重點(diǎn),各家SP都花大精力建設(shè)好自己的門戶網(wǎng)站。因?yàn)殚T戶網(wǎng)站的好壞,會(huì)直接影響到SP的彩信業(yè)務(wù)。我的論文的課題就是建一個(gè)彩信業(yè)務(wù)公司的門戶網(wǎng)站。第二章相關(guān)技術(shù)2.1Java技術(shù)Java是Sun公司推出的一種編程語言。它是一種通過解釋方式來執(zhí)行的語言,語法規(guī)則和C++類似。同時(shí),Java也是一種跨平臺(tái)的程序設(shè)計(jì)語言。用Java語言編寫的程序叫做“Applet”(小應(yīng)用程序),用編譯器將它編譯成類文件后,將它存在WWW頁面中,并在HTML檔上作好相應(yīng)標(biāo)記,用戶端只要裝上Java的客戶軟件就可以在網(wǎng)上直接運(yùn)行“Applet”。Java非常適合于企業(yè)網(wǎng)絡(luò)和Internet環(huán)境,現(xiàn)在已成為Internet中最受歡迎、最有影響的編程語言之一。Java有許多值得稱道的優(yōu)點(diǎn),如簡單、面向?qū)ο?、分布式、解釋性、可靠、安全、結(jié)構(gòu)中立性、可移植性、高性能、多線程、動(dòng)態(tài)性等。Java擯棄了C++中各種弊大于利的功能和許多很少用到的功能。Jave可以運(yùn)行與任何微處理器,用Java開發(fā)的程序可以在網(wǎng)絡(luò)上傳輸,并運(yùn)行于任何客戶機(jī)上。Java編程語言是一種先進(jìn)的具有革命性的語言,它融合了完美的語言設(shè)計(jì)和以前主要可見于專用語言的強(qiáng)大功能。除了核心語言組件外,Java編程語言還發(fā)布了許多功能強(qiáng)大的用于數(shù)據(jù)庫,網(wǎng)絡(luò)和用戶界面接口(GUI)等任務(wù)的支持軟件庫。此屏重點(diǎn)講述Java語言的核心特征。Java語言是一種真正面向?qū)ο蟮木幊陶Z言。此點(diǎn)最主要表現(xiàn)在:為了用Java編寫程序,你得用面向?qū)ο蟮慕Y(jié)構(gòu)進(jìn)行工作。面向?qū)ο笳Z言為設(shè)計(jì)那些為再現(xiàn)真實(shí)世界里的實(shí)體(如汽車、職員、保險(xiǎn)制度等等)的程序提供了一個(gè)框架。而用非面向?qū)ο蟮恼Z言來再現(xiàn)真實(shí)世界的實(shí)體是相當(dāng)困難的,因?yàn)?,?duì)非面向?qū)ο蟮恼Z言來說,為了描述象汽車這樣的實(shí)體必須使用一些原始的語言結(jié)構(gòu)類型如Pascal語言中的記錄(record)、C語言中的結(jié)構(gòu)(struct)或其他的僅代表數(shù)據(jù)的類型。在非面向?qū)ο蟮恼Z言中,實(shí)體的行為必須被過程或者函數(shù)這類語言結(jié)構(gòu)單獨(dú)處理,“過程化的編程語言”這個(gè)名詞由此產(chǎn)生。在這種分離下,程序員必須人為地將數(shù)據(jù)的結(jié)構(gòu)與處理此數(shù)據(jù)的相關(guān)過程聯(lián)系在一起。與此相反,面向?qū)ο笳Z言為用戶定義的實(shí)體提供了一種更功能強(qiáng)大的結(jié)構(gòu)-“類”(class)。類支持用戶定義數(shù)據(jù)類型的創(chuàng)建如Employee,既包含描述某個(gè)特定的employee的數(shù)據(jù),也包含對(duì)此數(shù)據(jù)的操作和使用。2.2彩信傳送通道多媒體彩信是通過GPRS通道傳播數(shù)據(jù)的。彩信的GPRS通道的數(shù)據(jù)傳輸速度相當(dāng)快,有114kbps每秒,而短信的GSM通道速度僅僅30kbps每秒。彩信的發(fā)送路徑與短信也很不一樣,現(xiàn)在全國僅僅有3個(gè)彩信網(wǎng)關(guān),北京網(wǎng)關(guān),湖北網(wǎng)關(guān),廣州網(wǎng)關(guān),這個(gè)網(wǎng)站是通過北京網(wǎng)關(guān)傳送的。夢網(wǎng)郵箱夢網(wǎng)郵箱北京MMSC彩信網(wǎng)關(guān)WAP網(wǎng)關(guān)手機(jī)SP網(wǎng)站手機(jī)123456彩信發(fā)送流程用戶在網(wǎng)站上所選的圖片移交給北京MMSC網(wǎng)關(guān)彩信網(wǎng)關(guān)發(fā)送信息給WAP網(wǎng)關(guān)WAP網(wǎng)關(guān)對(duì)接受手機(jī)發(fā)送一條WAPPUSH,以檢查用戶是否能接受彩信。用戶手機(jī)根據(jù)情況,返回一條信息給WAP網(wǎng)關(guān)WAP網(wǎng)關(guān)根據(jù)手機(jī)返回的信息在發(fā)送給北京MMSC網(wǎng)關(guān)。如果是可以接受,則下發(fā)彩信,同時(shí)計(jì)費(fèi);如果用戶手機(jī)關(guān)機(jī)或停機(jī)或網(wǎng)絡(luò)不好,北京MMSC彩信網(wǎng)關(guān)將保留該彩信48小時(shí)。如果手機(jī)不支持彩信或手機(jī)卡未開通GPRS,北京MMSC彩信網(wǎng)關(guān)將把該條彩信發(fā)送到夢網(wǎng)郵箱,并且發(fā)送一條消息通知手機(jī)用戶到夢網(wǎng)郵箱收取,同時(shí)計(jì)費(fèi)。第三章彩信網(wǎng)站的基本組成部分3.1網(wǎng)站前臺(tái)頁面的組成和功能一個(gè)普通的門戶網(wǎng)站一般由網(wǎng)站的前臺(tái)頁面、后臺(tái)程序、數(shù)據(jù)庫組成。彩信網(wǎng)站也不例外。瀏覽器瀏覽器Web服務(wù)器數(shù)據(jù)庫網(wǎng)站組成框架圖網(wǎng)站的前臺(tái)頁面也就是用戶所能瀏覽操作的畫面,用戶可以在此瀏覽彩信圖片,試聽鈴聲,然后選擇所需要的彩信業(yè)務(wù)。根據(jù)網(wǎng)站業(yè)務(wù)的需要,門戶網(wǎng)站前臺(tái)頁面除了主業(yè)外還應(yīng)由其他很多子頁。首頁(index..htm),這是用戶進(jìn)入網(wǎng)站后的第一個(gè)界面,主要向用戶展示所有的業(yè)務(wù)類型。同時(shí)也是各種業(yè)務(wù)的導(dǎo)航。同時(shí)還有各個(gè)業(yè)務(wù)下載的排行榜TOP10。在網(wǎng)站注冊(cè)過的用戶可以直接在首頁登陸瀏覽。待機(jī)彩圖子頁(browse02.htm),是待機(jī)彩圖下載業(yè)務(wù)的子頁,在這里用戶將看到很多待機(jī)彩圖,并可以根據(jù)分類瀏覽,選擇自己中意的圖片.這個(gè)子頁也有登陸功能。彩信動(dòng)畫子頁(browse01.htm),是彩信動(dòng)畫下載業(yè)務(wù)的子頁,用戶在這里將看到詳細(xì)分類的彩信動(dòng)畫,從而選擇自己需要的動(dòng)畫下載。這個(gè)子頁也有登錄功能。和弦鈴聲子頁(browse03.htm),是和弦鈴聲下載的子頁,這里主要是手機(jī)來電鈴聲的下載,用戶點(diǎn)擊后將可以試聽鈴聲。這個(gè)頁面也具有用戶登陸功能。組合彩信子頁(browse04.htm),是組合彩信下載子頁,用戶將在此看到組合彩信的詳細(xì)的內(nèi)容,同樣,這個(gè)字頁也具有用戶登陸功能。彩信訂閱子頁(mmssub.htm),這里是用戶選擇包月信息服務(wù)的,這里的服務(wù)是按月收費(fèi),每天發(fā)送文本消息的。彩信diy子頁(mmsdiy.htmmmsdiyconfirm.htm),在這個(gè)子頁里,用戶可以自己選擇自己所喜歡的圖片鈴聲文字在組成一條組合彩信。幫助(help),這部分是向用戶介紹彩信,以與彩信的接受等操作。點(diǎn)擊登錄界面(checkin.htm),這個(gè)頁面是嵌入到首頁、待機(jī)彩圖子頁、彩信動(dòng)畫子頁、和弦鈴聲子頁、組合彩信子頁中的,作用是用戶登陸。預(yù)覽發(fā)送界面(sendbefore.htmsend.htmsendafter.htm),用戶點(diǎn)擊在各自也上選中的圖片鈴聲后,在發(fā)送頁面中預(yù)覽試聽,然后填入手機(jī)號(hào)和接受手機(jī)號(hào),以與手機(jī)類型,再提交給網(wǎng)關(guān)發(fā)送到相應(yīng)手機(jī)上。注冊(cè)界面(register.htm),這個(gè)界面功能和點(diǎn)擊登錄界面(checkin.htm)類似,但是點(diǎn)擊登錄界面不能直接單獨(dú)的顯示在網(wǎng)頁中,當(dāng)數(shù)據(jù)庫顯示用戶沒有注冊(cè)時(shí),網(wǎng)頁自動(dòng)跳到注冊(cè)界面,在這里,用戶可以注冊(cè),如果忘記密碼,可以在這里重新通過發(fā)送密碼到手機(jī)上,也可以直接在此登陸。3.2網(wǎng)站的主要后臺(tái)程序介紹與功能網(wǎng)站的后臺(tái)程序是網(wǎng)站的核心部分。根據(jù)前臺(tái)頁面的具體功能,可以分為了15個(gè)類:methods、index、browse、checkin、DecodeRequestStream、getuserinfo、logout、mmsdiy、mmsdiyconfirm、mmssub、MMSSubSender、mmssubstatistics、PhoneBasedUser、send、sendpwd,還有一個(gè)config控制文件。1)methods,在這里主要定義了網(wǎng)站調(diào)用各個(gè)模版的方法。index,這是一個(gè)控制主頁(index.htm)的類。他的主要功能有:在主頁(index.htm)中嵌入點(diǎn)擊登陸(checkin.htm)模版,并在登陸成功后顯示相應(yīng)的信息。在相應(yīng)的標(biāo)簽處顯示相應(yīng)的圖片鈴聲。各個(gè)類別的TOP10排行榜。3)browse,在這個(gè)類里,包括了待機(jī)彩圖子頁(browse02.htm)、彩信動(dòng)畫子頁(browse01.htm)、和弦鈴聲子頁(browse03.htm)、組合彩信子頁(browse04.htm)四個(gè)網(wǎng)頁的具體功能。他的主要功能有:在網(wǎng)頁中嵌入點(diǎn)擊登陸(checkin.htm)模版,并在登陸成功后顯示。顯示最新的四張圖片動(dòng)畫彩信,和弦鈴聲子頁(browse03.htm)沒有這項(xiàng)。顯示當(dāng)前子頁的全部內(nèi)容。顯示當(dāng)前子頁的全部類別。分頁功能。4)checkin,這個(gè)類主要是注冊(cè)登陸功能。5)DecodeRequestStream,判斷用戶注冊(cè)手機(jī)號(hào)碼是否符合條件6)Getuserinfo,用戶登陸手機(jī)、密碼確認(rèn)7)Logout,輸出網(wǎng)站運(yùn)行的數(shù)據(jù)8)mmsdiy,這里主要是用戶選擇鈴聲和圖片文字,組成自己喜歡的彩信,包括從數(shù)據(jù)庫中讀取鈴聲和圖片文字。9)mmsdiyconfirm,這個(gè)類是用戶完成了自選彩信后的發(fā)送過程。10)mmssub,這個(gè)類用戶可以訂閱彩信包月信息,也可以取消。11)mmssubstatistics,此類的主要功能是輸出mmssub,htm頁面。12)MMSSubSender,控制訂閱信息發(fā)送。13)PhoneBasedUser,用戶注冊(cè)為會(huì)員的處理類。14)Send,用戶選中所選的彩信鈴聲圖片后發(fā)送的過程。15)Sendpwd,發(fā)送用戶注冊(cè)手機(jī)登陸網(wǎng)站密碼。在本文里,我重點(diǎn)講一下methods、index、browse、mmsdiy、mmsdiyconfirm、send,以與config控制文件。用戶在網(wǎng)頁上選中的圖片鈴聲信息用戶在網(wǎng)頁上選中的圖片鈴聲信息移交Sendbefore模版展示所選彩信鈴聲信息,同時(shí)要求用戶登陸用戶此時(shí)是否已登陸否移交圖片鈴聲信息以及用戶信息顯示圖片鈴聲以及用戶信息,同時(shí)用戶將在此選擇手機(jī)類型是將圖片鈴聲以及用戶信息交給數(shù)據(jù)庫發(fā)送給彩信網(wǎng)關(guān)在sendafter模板上提示發(fā)送成功或失敗移交Send功能實(shí)現(xiàn)流程圖16)Config控制文件,這里面寫了很多網(wǎng)站所需要用到的控制信息,調(diào)用信息,是彩信網(wǎng)站的重要組成部分。3.3網(wǎng)站的數(shù)據(jù)庫主要內(nèi)容一個(gè)彩信網(wǎng)站的數(shù)據(jù)庫大致有以下功能結(jié)構(gòu)組成:待機(jī)彩圖目錄,其中包含待機(jī)彩圖id,彩信動(dòng)畫目錄和弦鈴聲目錄組合彩信目錄注冊(cè)用戶目錄發(fā)送彩信log目錄其他彩信網(wǎng)站的總體設(shè)計(jì)與分析4.1前臺(tái)頁面的制作4.1.1網(wǎng)頁前臺(tái)效果的制作前臺(tái)頁面制作可以用微軟的FrontPage來完成,在制作過程中要注意排版,同時(shí)注意超聯(lián)接地址的正確輸入。制作前臺(tái)網(wǎng)頁的一個(gè)最重要的問題是標(biāo)簽的設(shè)定,后臺(tái)程序?qū)⒏鶕?jù)這些標(biāo)簽來作出相應(yīng)的處理,所以這些標(biāo)簽是相當(dāng)重要的,一個(gè)字母的錯(cuò)誤就能導(dǎo)致網(wǎng)站的運(yùn)行錯(cuò)誤。在下一節(jié),我將重點(diǎn)講述以下本文所述網(wǎng)站前臺(tái)頁面中的標(biāo)簽。4.1.2網(wǎng)頁中的標(biāo)簽首頁(index..htm)。REGISTER程序?qū)⒃诖颂幥度氲顷懩0逡耘c登陸成功提示ATOP嵌入彩信動(dòng)畫TOP10PTOP嵌入待機(jī)彩圖TOP10RTOP嵌入和弦鈴聲TOP10MTOP嵌入組合彩信TOP10COMMENDAVIEW插入彩信動(dòng)畫預(yù)覽圖片COMMENDASEND插入彩信動(dòng)畫超聯(lián)接地址COMMENDPVIEW插入待機(jī)彩圖預(yù)覽圖片COMMENDPSEND插入待機(jī)彩圖超聯(lián)接地址RING插入和弦鈴聲預(yù)覽歌名COMMENDRSEND插入和弦鈴聲超聯(lián)接地址COMMENDMVIEW插入組合彩信預(yù)覽圖片COMMENDMSEND插入組合彩信超聯(lián)接地址待機(jī)彩圖子頁(browse02.htm)。REGISTER程序?qū)⒃诖颂幥度氲顷懩0逡耘c登陸成功提示CATEGORIES插入待機(jī)彩圖的項(xiàng)目中的具體分類NEWCONTENT插入待機(jī)彩圖最新推薦圖片預(yù)覽與地址OLDCONTENT插入待機(jī)彩圖圖片預(yù)覽與地址biaoti插入圖片名稱MOREINFO插入網(wǎng)頁分頁后的頁碼數(shù)彩信動(dòng)畫子頁(browse01.htm)。REGISTER程序?qū)⒃诖颂幥度氲顷懩0逡耘c登陸成功提示CATEGORIES插入彩信動(dòng)畫的項(xiàng)目中的具體分類NEWCONTENT插入彩信動(dòng)畫最新推薦圖片預(yù)覽與地址OLDCONTENT插入彩信動(dòng)畫圖片預(yù)覽與地址biaoti插入彩信動(dòng)畫名稱MOREINFO插入網(wǎng)頁分頁后的頁碼數(shù)和弦鈴聲子頁(browse03.htm)。REGISTER程序?qū)⒃诖颂幥度氲顷懩0逡耘c登陸成功提示CATEGORIES插入和弦鈴聲的項(xiàng)目中的具體分類REVIEW在網(wǎng)頁中相應(yīng)的地方顯示試聽字樣COMMENDRSEND插入和弦鈴聲的地址biaoti插入和弦鈴聲名稱MOREINFO插入網(wǎng)頁分頁后的頁碼數(shù)組合彩信子頁(browse04.htm)。REGISTER程序?qū)⒃诖颂幥度氲顷懩0逡耘c登陸成功提示CATEGORIES插入組合彩信的項(xiàng)目中的具體分類NEWCONTENT插入組合彩信最新推薦圖片預(yù)覽與地址OLDCONTENT插入組合彩信圖片預(yù)覽與地址biaoti插入組合彩信名稱MOREINFO插入網(wǎng)頁分頁后的頁碼數(shù)彩信訂閱子頁(mmssub.htm)。YLXWAREA插入彩信訂閱相應(yīng)項(xiàng)目的按鈕XAMJAREA插入彩信訂閱相應(yīng)項(xiàng)目的按鈕XPJSAREA插入彩信訂閱相應(yīng)項(xiàng)目的按鈕SSSHAREA插入彩信訂閱相應(yīng)項(xiàng)目的按鈕ACYZAREA插入彩信訂閱相應(yīng)項(xiàng)目的按鈕MRYXAREA插入彩信訂閱相應(yīng)項(xiàng)目的按鈕TTCPAREA插入彩信訂閱相應(yīng)項(xiàng)目的按鈕MHLZAREA插入彩信訂閱相應(yīng)項(xiàng)目的按鈕彩信diy子頁(mmsdiy.htm&mmsdiyconfirm.htm)。ORGPIC插入待選圖片與名稱PICSEL插入選擇圖片按鈕ORGMID插入待選鈴聲與名稱MIDSEL插入選擇鈴聲按鈕CURMID插入用戶已選的歌曲名稱CURTXT插入用戶已選的文本內(nèi)容CURPIC插入用戶已選圖片預(yù)覽ORGPICMORE插入圖片翻頁按鈕ORGRINGMORE插入鈴聲翻頁按鈕FEE插入彩信diy的價(jià)格預(yù)覽發(fā)送界面(sendbefore.htm&send.htm&sendafter.htm)。MMSTYPE插入以選彩信圖片鈴聲的類型TITLE插入以選彩信圖片鈴聲的名稱PREVIEW插入以選彩信圖片鈴聲的預(yù)覽FEEINFO插入以選彩信圖片鈴聲的計(jì)費(fèi)DESC插入發(fā)送成功或失敗提示4.1.3概述前臺(tái)頁面的制作雖然簡單但是卻是十分的重要,這不僅僅是因?yàn)榍芭_(tái)頁面是用戶的瀏覽頁面,同時(shí)也是整個(gè)網(wǎng)站的一個(gè)輸出,所以在制作的時(shí)候要細(xì)心合理,在考慮到程序的可執(zhí)行性的同時(shí),還要充分考慮到表面的美觀合理。4.2主要后臺(tái)程序的編寫4.2.1用戶點(diǎn)播彩信流程圖彩信網(wǎng)關(guān)用戶彩信網(wǎng)關(guān)用戶首頁子頁彩信diy彩信訂閱瀏覽選擇相應(yīng)彩信圖片鈴聲發(fā)送界面發(fā)送成功編輯自選彩信數(shù)據(jù)庫用戶手機(jī)訂閱或取消訂閱4.2.2控制文件config。Config控制文件,在一個(gè)網(wǎng)站中十分常重要的,網(wǎng)站程序中經(jīng)常有調(diào)用config中的參數(shù)信息,還有模板數(shù)據(jù)庫的路徑,以與首頁圖片鈴聲的選擇等等。具體內(nèi)容有以下幾類:TEMPLETDIR模板路徑RESOURCEDIR數(shù)據(jù)庫路徑DIY_ORG_PIC_DIR彩信diy中圖片路經(jīng)DIY_ORG_MID_DIR彩信diy中鈴聲路徑DIY_ORG_TXT_DIR彩信diy中文字路徑DIY_USER_DATA_DIR彩信diy中用戶記錄DIY_FEE_CODE彩信diy的計(jì)費(fèi)代碼COMMENDA1——COMMENDA8#推薦的動(dòng)畫COMMENDP1——COMMENDP8#推薦的彩色圖片COMMENDR1——COMMENDR30#推薦的鈴聲COMMENDM1——COMMENDM4#推薦的組合FEECODE_001——FEECODE_020#計(jì)費(fèi)代碼和計(jì)費(fèi)信息Config中定義的參數(shù),在后面的程序中有非常重要的作用。4.2.3方法調(diào)用類methods在這個(gè)類中,程序主要定義了網(wǎng)頁中各個(gè)模板的調(diào)用方法。從config中定義的模板路徑找到相應(yīng)的模板。下面以index.htm的調(diào)用為例publicstaticStringsIndexTemplet————定義模板publicmethods(){}static{sIndexTemplet=null;sIndexTemplet="";————初始化try————定義模板{RandomAccessFilerandomaccessfile=newRandomAccessFile(GetConfig("TEMPLETDIR")+"index.htm","r");Strings;while((s=randomaccessfile.readLine())!=null){sIndexTemplet=sIndexTemplet+s;sIndexTemplet=sIndexTemplet+"\n";}randomaccessfile.close();sIndexTemplet=newString(sIndexTemplet.getBytes("8859_1"),"GB2312");}catch(Exceptionexception)————拋出異常{sIndexTemplet=exception.toString();}}這樣,在以后的程序中,只要定義一個(gè)String變量=methods.sIndexTemplet,就可以調(diào)用到index這個(gè)模板了。4.2.4index中的功能實(shí)現(xiàn)的編寫index.java這個(gè)類是對(duì)應(yīng)的index.htm這個(gè)模板的。所以index.htm中的具體功能,都要靠index.java來實(shí)現(xiàn)。前面我已經(jīng)講到,index.htm的具體功能主要有3個(gè):1),嵌入checkin.htm模板;2),插入預(yù)覽圖片和路徑;3),圖片動(dòng)畫鈴聲彩信的TOP10功能。嵌入checkin.htm模板,是將模板插入網(wǎng)頁中的REGISTER處。當(dāng)然首先需要調(diào)用index模板Strings1=methods.sIndexTemplet;程序根據(jù)Strings=(String)httpsession.getValue("mphoneno")獲取的mphoneno值開始判斷,當(dāng)前情況下,用戶是否已登陸。if(s==null)————未登陸{s1=s1.substring(0,s1.indexOf("REGISTER"))+methods.sCheckInTemplet+s1.substring(s1.indexOf("REGISTER")+8,s1.length());}————在REGISTER處插入methods.sCheckInTempletelse————else,當(dāng)然是指用戶已登陸的情況下了{(lán)Strings2="<center><br>用戶:"+s+"<br>歡迎您的光臨!<br><ahref='/mms/servlet/mms.logout?returnurl=/'>[退出登陸]</a><br><br></center>";s1=s1.substring(0,s1.indexOf("REGISTER"))+s2+s1.substring(s1.indexOf("REGISTER")+8,s1.length());}————登陸過的用戶,在REGISTER處插入的就是歡迎您的光臨,以與[退出登陸]超聯(lián)接。插入圖片的預(yù)覽和連接路徑,這個(gè)在程序上,不管是待機(jī)彩圖還是彩信動(dòng)畫還是和弦鈴聲還是組合彩信,代碼書寫的都是一樣的,所不同的就是在網(wǎng)頁上的標(biāo)簽不同,所以下面這個(gè)功能,我僅以彩信動(dòng)畫為例講解一下。for(inti=1;i<=8;i++)————因網(wǎng)頁上有8個(gè)預(yù)覽項(xiàng)目,所以這里到8終止循環(huán),如果是和弦鈴聲,因其有30個(gè)預(yù)覽,所以這里循環(huán)次數(shù)應(yīng)該設(shè)成30次。{Statementstatement=connection.createStatement();ResultSetresultset=statement.executeQuery("selecttitle,channel,category,pre_path,feefrommms_datawhereid="+methods.GetConfig("COMMENDA"+i));————從數(shù)據(jù)庫中查取config文件所指定的動(dòng)畫的資料:title,channel,category,pre_path,fee。if(resultset.next()){s1=s1.substring(0,s1.indexOf("COMMENDAVIEW"))+"/mms/resource/"+resultset.getString("pre_path")+s1.substring(s1.indexOf("COMMENDAVIEW")+12,s1.length());————在COMMENDAVIEW處插入預(yù)覽圖片,pre_path:預(yù)覽圖片路徑s1=s1.substring(0,s1.indexOf("COMMENDASEND"))+"/mms/servlet/mms.send?fee="+resultset.getString("fee")+"&channel="+resultset.getString("channel")+"&category="+resultset.getString("category")+"&title="+resultset.getString("title")+s1.substring(s1.indexOf("COMMENDASEND")+12,s1.length());————在COMMENDASEND處插入圖片的下載路徑以與信息。}resultset.close();statement.close();}TOP10,不管待機(jī)彩圖還是彩信動(dòng)畫還是和弦鈴聲還是組合彩信,程序上的原理也是一樣,不同的也僅僅是標(biāo)簽的不同。所以這里我還是以彩信動(dòng)畫為例講解。Hashtablehashtable=newHashtable();hashtable.clear();intl=0;Statementstatement3=connection.createStatement();ResultSetresultset3=statement3.executeQuery("selecttitle,channel,category,feefrommms_datawherechannel='01'orderbydcountdesc");————從數(shù)據(jù)庫中讀取相應(yīng)的channel='01'(彩信動(dòng)畫)數(shù)據(jù)label0:do{doif(!resultset3.next())breaklabel0;while(hashtable.get(resultset3.getString("title"))!=null);hashtable.put(resultset3.getString("title"),"FLAG");s1=s1.substring(0,s1.indexOf("ATOP"))+"<ahref='#'onclick=\"opensendwindow('/mms/servlet/mms.send?fee="+resultset3.getString("fee")+"&channel="+resultset3.getString("channel")+"&category="+resultset3.getString("category")+"&title="+resultset3.getString("title")+"')\">"+resultset3.getString("title")+"</a>"+s1.substring(s1.indexOf("ATOP")+4,s1.length());————循環(huán)依次進(jìn)行,在ATOP處插入標(biāo)題與圖片下在路徑信息} while(++l<10);resultset3.close();statement3.close();————當(dāng)循環(huán)不符合++1<10的條件時(shí),循環(huán)終止.到此,index.htm的主要功能都實(shí)現(xiàn)了。類中的導(dǎo)入其他包,拋出異常等等,在這里不作詳細(xì)的講解了。4.2.5browse中的功能實(shí)現(xiàn)的編寫browse.java同時(shí)實(shí)現(xiàn)了待機(jī)彩圖模板(browse02.htm)、彩信動(dòng)畫模板(browse01.htm)、和弦鈴聲模板(browse03.htm)、組合彩信模板(browse04.htm)中的功能。在以上待機(jī)彩圖模板(browse02.htm)、彩信動(dòng)畫模板(browse01.htm)、和弦鈴聲模板(browse03.htm)、組合彩信模板(browse04.htm)中,具體功能效果都類似,這方便了程序的編寫,但是需要完成網(wǎng)頁模塊的調(diào)用功能。因?yàn)樵趍ethods.java中已經(jīng)定義了各模板的調(diào)用方法,所以我們?cè)诰帉慴rowse.java的過程中,要緊緊和methods.java中的內(nèi)容結(jié)合起來。以彩信動(dòng)畫模板(browse01.htm)為例??梢杂肧tringsBrowse01Templet=methods.sBrowse01Templet;來定義當(dāng)前的模板為sBrowse01Templet模板,于是下面的一系列處理中,所有程序代碼都是基于sBrowse01Templet這個(gè)模板進(jìn)行。但是其中又存在一個(gè)選擇模板問題,因?yàn)橛脩粝冗x擇,然后才由程序來調(diào)用所需要的模板。這里根據(jù)前臺(tái)網(wǎng)頁中事先設(shè)定的值,在程序中加以判斷就可以完成。Mmstype=02browse02.htmMmstype=01browse01.htmMmstype=03browse03.htmMmstype=04browse04.htm判斷的語句:StringsChannel=request.getParameter("mmstype");—————定義sChannel為從前臺(tái)網(wǎng)頁上讀取的mmstype值if(sChannel.equals("01")) {StringsBrowse01Templet=methods.sBrowse01Templet;。。。。。。。。。。。。。。?!@段程序都是基于Browse01Templet模板的out.println(sBrowse01Templet); out.close();————輸出Browse01Templet內(nèi)容后結(jié)束程序 }elseif(sChannel.equals("02")) { StringsBrowse02Templet=methods.sBrowse02Templet;。。。。。。。。。。。。。。?!@段程序都是基于Browse02Templet模板的out.println(sBrowse02Templet); out.close();————輸出Browse02Templet內(nèi)容后結(jié)束程序 }elseif(sChannel.equals("03")) { StringsBrowse03Templet=methods.sBrowse03Templet;。。。。。。。。。。。。。。?!@段程序都是基于Browse03Templet模板的out.println(sBrowse03Templet); out.close();————輸出Browse03Templet內(nèi)容后結(jié)束程序 }elseif(sChannel.equals("04")) { StringsBrowse04Templet=methods.sBrowse04Templet;。。。。。。。。。。。。。。?!@段程序都是基于Browse04Templet模板的out.println(sBrowse04Templet); out.close();————輸出Browse04Templet內(nèi)容后結(jié)束程序 }這些便是browse.java中調(diào)用多個(gè)模板的方法。完成了頁面的調(diào)用,下面我以彩信動(dòng)畫模板(browse01.htm)為例,具體闡述一下網(wǎng)頁中的功能的實(shí)現(xiàn)。首先,在彩信動(dòng)畫模板(browse01.htm)中,也具有用戶登陸功能,這里的代碼和4.2.4index中的功能實(shí)現(xiàn)的編寫中講述的完全一樣。這里就不再做解釋。在彩信動(dòng)畫中,又分為好多種類,這個(gè)地方是根據(jù)數(shù)據(jù)庫中的分類,取出后插入前臺(tái)頁面事先設(shè)的標(biāo)簽“CATEGORIES”處。StringsCategories="";————聲明CATEGORIES同時(shí)初始化ResultSetr;for(r=stmt.executeQuery("selectname,idfrommms_categorywhereidlike'"+sChannel+"%'orderbyid");r.next();)————連接數(shù)據(jù)庫,從數(shù)據(jù)庫中取出當(dāng)前sChannel下的所有類名,放入r中,并循環(huán),直到全部取完為止。sCategories=sCategories+("-<ahref='/mms/servlet/mms.browse?mmstype="+sChannel+"&category="+r.getString("id")+"'>"+r.getString("name")+"</a><br>");————將取出的類名插入到網(wǎng)頁中設(shè)定的標(biāo)簽sCategories處。r.close();————操作完成,關(guān)閉r。這樣,在網(wǎng)頁上就能顯示全部的數(shù)據(jù)庫中彩信動(dòng)畫的類別。這種從數(shù)據(jù)庫中取出分類名稱的做法,比在網(wǎng)頁上設(shè)定好類別名稱的做法,最大的好處是靈活,便于品種類別的更新,當(dāng)你新增加一個(gè)類別的時(shí)候,你在數(shù)據(jù)庫中增加后,不需要再在網(wǎng)頁上有任何修改。在子頁中的圖片預(yù)覽與首頁中的不一樣,而且多了一個(gè)標(biāo)簽用來放入圖片名稱。這些圖片使用一個(gè)dowhile(++iNum-iStart<n)來完成的,n是在前臺(tái)頁面中設(shè)的標(biāo)簽數(shù)目。r=stmt.executeQuery("selecttitle,pre_path,pre_view,dcount,feefrommms_datawherechannel='"+sChannel+"'andcategory='"+sCategory+"'orderbyinputdatedesc");————從數(shù)據(jù)庫中取出相應(yīng)的信息,同時(shí)放入r中。if(r.getInt("pre_view")!=0)sTmp="<ahref='#'onclick=\"opensendwindow('/mms/servlet/mms.send?fee="+r.getString("fee")+"&channel="+sChannel+"&category="+sCategory+"&title="+r.getString(1)+"')\"><imgborder='1'src=\"/mms/resource/"+r.getString("pre_path")+"\"width=\"101\"height=\"80\"></a><br>";————當(dāng)pre_view值不為0,說明有預(yù)覽圖片,則在網(wǎng)頁中嵌入圖片預(yù)覽以與鏈接路徑。elsesTmp="<ahref='#'onclick=\"opensendwindow('/mms/servlet/mms.send?fee="+r.getString("fee")+"&channel="+sChannel+"&category="+sCategory+"&title="+r.getString(1)+"')\"><imgborder='1'src=\"/mms/IMAGES/ringview.gif\"width=\"101\"height=\"80\"></a><br>";————else指沒有預(yù)覽圖片,則在網(wǎng)頁中嵌入指定的圖片,同時(shí)嵌入該條彩信的連接路徑。在和弦鈴聲子頁(browse03.htm)中,不存在預(yù)覽的功能,所以嵌入連接路徑時(shí),沒有用到判斷pre_view。這里的做法和首頁中的預(yù)覽相同。sBrowse03Templet=sBrowse03Templet.substring(0,sBrowse03Templet.indexOf("REVIEW"))+"試聽"+sBrowse03Templet.substring(sBrowse03Templet.indexOf("REVIEW")+6,sBrowse03Templet.length());————在指定標(biāo)簽REVIEW處加入漢字“試聽”。sBrowse03Templet=sBrowse03Templet.substring(0,sBrowse03Templet.indexOf("COMMENDRSEND"))+"/mms/servlet/mms.send?fee="+r.getString("fee")+"&channel="+sChannel+"&category="+sCategory+"&title="+r.getString("title")+""+sBrowse03Templet.substring(sBrowse03Templet.indexOf("COMMENDRSEND")+12,sBrowse03Templet.length());————在COMMENDRSEND處插入連接路徑。 sBrowse03Templet=sBrowse03Templet.substring(0,sBrowse03Templet.indexOf("biaoti"))+r.getString("title")+sBrowse03Templet.substring(sBrowse03Templet.indexOf("biaoti")+11,sBrowse03Templet.length());————在biaoti處加入歌曲名,此前已通過數(shù)據(jù)庫取出放入r中。完成圖片預(yù)覽后,又出現(xiàn)了一個(gè)問題,每一類中的圖片鈴聲都很多,不是一頁所能完全顯示得完的。于是,網(wǎng)頁中的分頁功能是必不可少的。if(r.next()){intiPage=r.getInt(1)%16;————這里求余,然后余數(shù)付值給iPage,當(dāng)每頁有16個(gè)標(biāo)簽放入圖片時(shí),則除16求余,但在鈴聲子頁中,每頁能顯示21個(gè)項(xiàng)目,所以應(yīng)該改為除21求余。if(iPage==0)iPage=r.getInt(1)/16;————如果iPage為零,則重新將總頁數(shù)付值給iPage,此時(shí)表示總圖片動(dòng)畫數(shù)正好是16的整數(shù)。elseiPage=r.getInt(1)/16+1;————如果iPage不為零,則在r.getInt(1)/16后,再加一,然后付值給iPage,之所以加一,是用來存放多余的那iPage張圖片。 StringsTmp="共"+iPage+"頁";————聲明sTmp變量for(inti=1;i<=iPage;i++)sTmp=sTmp+("<ahref='mms.browse?mmstype="+sChannel+"&category="+sCategory+"&start="+(i-1)*16+"'>["+i+"]</a>");————在sTmp中再加入每一頁的鏈接sBrowse02Templet=sBrowse02Templet.substring(0,sBrowse02Templet.indexOf("MOREINFO"))+sTmp+sBrowse02Templet.substring(sBrowse02Templet.indexOf("MOREINFO")+8,sBrowse02Templet.length()); }————將sTmp中的內(nèi)容,插入到前臺(tái)頁面標(biāo)簽MOREINFO處,然后輸出到網(wǎng)頁上去。這樣,browse.java中的主要功能都已完成。4.2.6mmsdiy主要功能實(shí)現(xiàn)的編寫mmsdiy是一個(gè)用戶自己根據(jù)網(wǎng)頁列出的圖片鈴聲文字自組彩信的服務(wù)。這部分的功能與前兩節(jié)基本上相同,包括預(yù)覽和分頁功能。剛進(jìn)入mmsdiy頁面,網(wǎng)頁自動(dòng)默認(rèn)CURMID,CURTXT,CURPIC值,這其實(shí)就是一個(gè)初始化的問題。if(hs.getValue("CURPIC")==null){hs.putValue("CURPIC",sOrgPic[0]);}在這個(gè)模板中,因?yàn)榘婷嫦拗疲圆荒芟袂懊鎎rowse中把所有頁數(shù)都設(shè)成超鏈接。這里可以采用上一頁||下一頁的方式翻頁,以鈴聲為例。StringsRingMore="<center>";if(iRingStart>0){sRingMore=sRingMore+("<ahref='mms.mmsdiy?picstart="+iPicStart+"&ringstart="+(iRingStart-12)+"'>\u4E0A\u4E00\u9875</a>");}————上一頁if(iRingStart+12<sOrgMid.length){sRingMore=sRingMore+("<ahref='mms.mmsdiy?picstart="+iPicStart+"&ringstart="+(iRingStart+12)+"'>\u4E0B\u4E00\u9875</a>");}————上一頁下一頁sRingMore=sRingMore+"<center>";————在網(wǎng)頁上居中顯示sMMSDIYTemplet=sMMSDIYTemplet.substring(0,sMMSDIYTemplet.indexOf("ORGRINGMORE"))+sRingMore+sMMSDIYTemplet.substring(sMMSDIYTemplet.indexOf("ORGRINGMORE")+11,sMMSDIYTemplet.length());————在網(wǎng)頁上輸出翻頁到標(biāo)簽ORGRINGMORE處。用戶選中各項(xiàng)后sMMSDIYTemplet=sMMSDIYTemplet.substring(0,sMMSDIYTemplet.indexOf("CURPIC"))+"/mms/resource/DIY/ORGDATA/ANIPIC/"+hs.getValue("CURPIC")+sMMSDIYTemplet.substring(sMMSDIYTemplet.indexOf("CURPIC")+6,sMMSDIYTemplet.length());————在模板上CURPIC顯示預(yù)覽圖片StringsMIDName=(String)hs.getValue("CURMID");sMIDName=sMIDName.substring(0,sMIDName.indexOf("."));sMMSDIYTemplet=sMMSDIYTemplet.substring(0,sMMSDIYTemplet.indexOf("CURMID"))+sMIDName+sMMSDIYTemplet.substring(sMMSDIYTemplet.indexOf("CURMID")+6,sMMSDIYTemplet.length());————在CURMID處顯示用戶點(diǎn)的歌名sMMSDIYTemplet=sMMSDIYTemplet.substring(0,sMMSDIYTemplet.indexOf("CURTXT"))+hs.getValue("CURTXT")+sMMSDIYTemplet.substring(sMMSDIYTemplet.indexOf("CURTXT")+6,sMMSDIYTemplet.length());————在CURTXT處顯示用戶編輯的文本內(nèi)容在選擇完成之后用戶點(diǎn)擊“確定發(fā)送”,提交信息進(jìn)入下一界面。如果此時(shí)用戶已登陸,則進(jìn)入下一界面,如沒有則進(jìn)入登陸界面然后進(jìn)入下一界面4.2.7mmsdiyconfirm的編寫mmsdiyconfirm的主要作用就是顯示用戶選擇的圖片,同時(shí)顯示發(fā)送成功界面。在doGet中,程序?qū)⒂脩暨x擇的組合彩信顯示出來。sMMSDIYTemplet=sMMSDIYTemplet.substring(0,sMMSDIYTemplet.indexOf("CURMID"))+sMIDName+sMMSDIYTemplet.substring(sMMSDIYTemplet.indexOf("CURMID")+6,sMMSDIYTemplet.length());————CURMID處顯示歌曲名sMMSDIYTemplet=sMMSDIYTemplet.substring(0,sMMSDIYTemplet.indexOf("CURTXT"))+hs.getValue("CURTXT")+sMMSDIYTemplet.substring(sMMSDIYTemplet.indexOf("CURTXT")+6,sMMSDIYTemplet.length());————CURTXT處顯示用戶編輯的文字信息sMMSDIYTemplet=sMMSDIYTemplet.substring(0,sMMSDIYTemplet.indexOf("MPHONENO"))+sMphoneNo+sMMSDIYTemplet.substring(sMMSDIYTemplet.indexOf("MPHONENO")+8,sMMSDIYTemplet.length());————MPHONENO處顯示用戶接受手機(jī)sMMSDIYTemplet=sMMSDIYTemplet.substring(0,sMMSDIYTemplet.indexOf("FEE"))+newString(methods.GetConfig("FEECODE_"+methods.GetConfig("DIY_FEE_CODE")).getBytes("8859_1"),"GB2312")+sMMSDIYTemplet.substring(sMMSDIYTemplet.indexOf("FEE")+3,sMMSDIYTemplet.length());————FEE處顯示從Config中取出的FEECODE,即此條自制組合彩信的收費(fèi)價(jià)格。在doPost中,程序則MMSGateWayConnection.send(mm);即將此條彩信交給彩信網(wǎng)關(guān)。然后程序?qū)ut.println發(fā)送成功界面:out.println("\u6807\u9898:"+newString(request.getParameter("title").getBytes("8859_1"),"GB2312")+"<br>");————該條彩信的標(biāo)題out.println("\u53D1\u9001\u624B\u673A:"+hs.getValue("mphoneno")+"<br>");————該條彩信的發(fā)送手機(jī)號(hào)碼,網(wǎng)關(guān)將產(chǎn)生一條計(jì)費(fèi)話單,從該號(hào)碼上扣費(fèi)。out.println("\u63A5\u53D7\u624B\u673A:"+request.getParameter("mphoneno")+"<br>");————接受彩信號(hào)碼out.println("\u52A8\u753B/\u56FE\u7247:"+hs.getValue("CURPIC")+"<br>");————用戶所選動(dòng)畫圖片名稱out.println("\u548C\u5F26\u94C3\u58F0:"+hs.getValue("CURMID")+"<br>");————用戶所選和弦鈴聲名稱out.println("\u643A\u5E26\u6587\u5B57:"+hs.getValue("CURTXT")+"<br><br>");————用戶所編輯文字信息out.println("\u5F69\u4FE1\u53D1\u9001\u8BF7\u6C42\u5DF2\u7ECF\u6210\u529F\u9012\u4EA4!")————“彩信發(fā)送請(qǐng)求已經(jīng)成功遞交!”接下來,用戶所要做的就是在自己手機(jī)上接受此條彩信了。4.2.8Send功能實(shí)現(xiàn)的編寫用戶在首頁或各子頁選擇了所中意的圖片動(dòng)畫鈴聲組合彩信后,并不是一次點(diǎn)播交易的完成,如何將用戶的選擇變成企業(yè)的利潤,就需要通過seng.java來將用戶選擇的圖片動(dòng)畫鈴聲組合彩信發(fā)送到用戶指定手機(jī)上,已完成交易。顯而易見,send.java的作用是多么重要。企業(yè)的彩信網(wǎng)站是給用戶欣賞圖片還是給用戶下載以實(shí)現(xiàn)獲取利潤,send.java是實(shí)現(xiàn)交易的一步。既然是向用戶交易當(dāng)然要先給用戶看產(chǎn)品了,所以send.java所調(diào)用的三個(gè)模板(sendbefore.htm&send.htm&sendafter.htm),都具有預(yù)覽和試聽功能。說到調(diào)用模板,send.java調(diào)用的三個(gè)模板又先后次序的,并不像browse.java那樣是并列的模板.N首頁或子頁N首頁或子頁Sendbefore.htmSend.htmSendafter.htm用戶是否已登陸Y登陸用戶彩信網(wǎng)關(guān)下發(fā)遞交彩信發(fā)送中send.java調(diào)用各模板示意圖在send.java中,模板的調(diào)用是靠一個(gè)if語句來判斷的。StringsMphoneNo=(String)hs.getValue("mphoneno");————程序從網(wǎng)頁上讀取mphoneno值,然后付值給sMphoneNoif(sMphoneNo==null)sSendTemplet=methods.sSendBeforeTemplet;————判斷sMphoneNo是否為空,if為空,則調(diào)用SendBefore模板用戶將在SendBefore模板上先登陸。elsesSendTemplet=methods.sSendTemplet;————else就是有號(hào)碼了,即指用戶當(dāng)前處于登陸狀態(tài),可直接進(jìn)入Send模板。不管是SendBefore模板還是Send模板,他們都具有預(yù)覽和試聽功能。當(dāng)用戶點(diǎn)擊首頁或子頁的彩信項(xiàng)目后,該彩信的一系列數(shù)據(jù)將送入send.java中。有mphoneno、fee、channel、category、title。Send.java得到他們后,通過SQL語句從數(shù)據(jù)庫中查尋該彩信的其他一些數(shù)據(jù)。r=stmt.executeQuery("selectid,pre_view,pre_path,mobtype,mobtypemore,title,moredescfrommms_datawherechannel='"+sChannel+"'andcategory='"+sCategory+"'andtitle='"+sTitle+"'");)————在數(shù)據(jù)庫中取出相應(yīng)的值。有了這些值之后,就可以在網(wǎng)頁上完成預(yù)覽與試聽功能了。根據(jù)從數(shù)據(jù)庫中取得的值pre_view(預(yù)覽圖片值)判斷,如果pre_view=0,則可以判斷,該彩信是鈴聲,因?yàn)殁徛暿菦]有預(yù)覽圖片的。sSendTemplet=sSendTemplet.substring(0,sSendTemplet.indexOf("PREVIEW"))+"/mms/IMAGES/ringview.gif"+sSendTemplet.substring(sSendTemplet.indexOf("PREVIEW")+7,sSendTemplet.length());————網(wǎng)頁上不能因?yàn)闆]有預(yù)覽圖片就空在那,所以專門為所有鈴聲準(zhǔn)備了一張圖片ringview.gif。sSendTemplet=sSendTemplet.substring(0,sSendTemplet.indexOf("<!--BGMIDI-->"))+"<bgsoundsrc='"+"/mms/resource/"+r.getString("pre_path")+"'loop=-1>"+sSendTemplet.substring(sSendTemplet.indexOf("<!--BGMIDI-->")+13,sSendTemplet.length());————將預(yù)覽路徑所指定的mid音樂文件插入網(wǎng)頁中的<!--BGMIDI-->處,當(dāng)網(wǎng)頁打開后,播放該文件,即鈴聲的試聽。講到在網(wǎng)頁中嵌入鈴聲,就要說一下send.java控制的3塊模板中在制作時(shí)加了一個(gè)播放鈴聲的標(biāo)簽<!--BGMIDI-->,它是不會(huì)在網(wǎng)頁上顯示出來的。如果pre_view=1,則程序判斷是待機(jī)彩圖或動(dòng)畫,二者都是有預(yù)覽圖片的。sSendTemplet=sSendTemplet.substring(0,sSendTemplet.indexOf("PREVIEW"))+"/mms/resource/"+r.getString("pre_path")+sSendTemplet.substring(sSendTemplet.indexOf("PREVIEW")+7,sSendTemplet.length());————將pre_path所指的圖片放入PREVIEW中if(r.getInt("pre_view")==0){}elseif(r.getInt("pre_view")==1){}else{}最后一個(gè)else是指組合彩信,組合彩信有圖片有鈴聲。sSendTemplet=sSendTemplet.substring(0,sSendTemplet.indexOf("PREVIEW"))+"/mms/resource/"+r.getS

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論