版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
緒論1.1研究背景近年來(lái)電影越來(lái)越受到大眾的歡迎,以不可阻擋的速度迅速融入到我們的生活之中,但是一個(gè)人觀看電影通常沒(méi)有氛圍,而且很多最新的電影在上映之初都只能電影院看到,所以越來(lái)越多的人寧愿選擇花錢去影院,去享受那寬銀幕帶來(lái)的震撼。因此,去看電影漸漸變成了一種茶余飯后享受生活的必然之選。然而去影院購(gòu)票是一件很不方便的事情,以往的售票方式都需要自己去影院前臺(tái)排隊(duì)購(gòu)票,有時(shí)需要等待很長(zhǎng)的時(shí)間才能買到幾張電影票,這對(duì)于我們來(lái)說(shuō)很繁瑣,不僅效率低,而且很不方便。甚至,有時(shí)我們可能排了很長(zhǎng)的隊(duì)但是依舊沒(méi)有選到自己中意的座位以及觀看時(shí)間。另外,對(duì)于影院而言,如果某一段時(shí)間內(nèi)購(gòu)票的人數(shù)過(guò)多,影院購(gòu)票窗口比較少,那么售票人員也會(huì)出現(xiàn)手忙腳亂的情況導(dǎo)致輸錯(cuò)信息,此時(shí)就特別需要一種高效率的售票方式來(lái)緩解這種情況。如今我們已經(jīng)進(jìn)入了數(shù)字化的時(shí)代,互聯(lián)網(wǎng)技術(shù)在不斷地發(fā)展,網(wǎng)絡(luò)也漸漸深入到我們的生活或者工作當(dāng)中。其中網(wǎng)上購(gòu)物深受大家的歡迎,加上互聯(lián)網(wǎng)技術(shù)越來(lái)越穩(wěn)定,網(wǎng)上購(gòu)物也變得相對(duì)安全,所以針對(duì)這一現(xiàn)狀,網(wǎng)上購(gòu)票也是一種不錯(cuò)的選擇,不僅能節(jié)約購(gòu)買者的時(shí)間,而且方便購(gòu)買者隨時(shí)選擇自己喜歡看的電影。這樣一來(lái)就完全擺脫了傳統(tǒng)的繁雜的人工售票的方式,售票方式變得更加多樣化。本論文正是從用戶即影院的角度出發(fā),考慮用戶、影院的需求以及體驗(yàn)感,開發(fā)了一個(gè)基于javaWeb的電影售票系統(tǒng),不僅方便了每一個(gè)用戶對(duì)于當(dāng)前影院放映的電影的信息以及座位的查看,而且方便了影院對(duì)于電影的管理。1.2研究現(xiàn)狀隨著大數(shù)據(jù)時(shí)代的發(fā)展,互聯(lián)網(wǎng)成為了我們?nèi)粘I钪械囊徊糠?,例如京東、淘寶等網(wǎng)站購(gòu)物越來(lái)越流行?;谖覀兩顗毫υ絹?lái)越大,看電影可以放松自己的心情,以及為了追求生活質(zhì)量的提高,追求事情的方便,追求生活的舒適,網(wǎng)上購(gòu)買電影票已經(jīng)成了人們不二之選。因此,這些都為網(wǎng)上購(gòu)票的推廣提供了動(dòng)力。模式上,選擇MVC的設(shè)計(jì)模式;技術(shù)上,使用JSP技術(shù)、Ajax技術(shù);數(shù)據(jù)的存儲(chǔ)上,對(duì)于用戶以及影片等信息使用MySQL數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ);系統(tǒng)操作上,系統(tǒng)界面簡(jiǎn)潔,操作簡(jiǎn)單,這些條件都使得網(wǎng)上購(gòu)買電影票的實(shí)現(xiàn)與推廣得到支持。1.3研究目的與意義該論文的目的是利用互聯(lián)網(wǎng)技術(shù)為影院售票、用戶購(gòu)票帶來(lái)方便,讓影院擺脫傳統(tǒng)的人工記錄售票的方式進(jìn)入到互聯(lián)網(wǎng)時(shí)代使用電腦錄入數(shù)據(jù),更加方便快捷,減少了人工錄入的繁瑣的步驟。同時(shí)也讓用戶擺脫排隊(duì)等候的時(shí)間,追求更高生活質(zhì)量。1.4主要工作該系統(tǒng)主要用于電影票的購(gòu)買,根據(jù)使用用戶身份的不同實(shí)現(xiàn)不同功能,主要功能分為用戶功能、管理員功能。網(wǎng)站用戶功能主要包括登錄、注冊(cè)、個(gè)人信息的管理、搜索電影、查看電影信息、影評(píng)的管理、查看當(dāng)前售票信息、選座購(gòu)票、查看個(gè)人訂單、實(shí)時(shí)評(píng)價(jià)電影,對(duì)已購(gòu)電影打分等。管理員功能主要包括登錄、電影的管理、影廳的管理、電影放映信息的管理。用戶通過(guò)本系統(tǒng),可高效率購(gòu)票。2系統(tǒng)設(shè)計(jì)方案及相關(guān)技術(shù)介紹2.1研究方法針對(duì)本系統(tǒng),首先實(shí)際調(diào)查整個(gè)業(yè)務(wù)的流程及具體需要實(shí)現(xiàn)的功能,接著從網(wǎng)上搜集相關(guān)業(yè)務(wù)流程資料以及功能需求實(shí)現(xiàn)的資料。之后進(jìn)行可行性分析和需求分析,其中可行性分析是從技術(shù)可行性、經(jīng)濟(jì)可行性以及操作可行性三個(gè)方面進(jìn)行分析的,需求分析主要從用戶角度分析系統(tǒng)需要實(shí)現(xiàn)的功能,接著進(jìn)行結(jié)構(gòu)、數(shù)據(jù)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn),再用代碼實(shí)現(xiàn)整個(gè)功能。最后對(duì)各個(gè)模塊功能進(jìn)行測(cè)試,看能否正常運(yùn)行,得到想要結(jié)果,并且無(wú)bug出現(xiàn)。整個(gè)系統(tǒng)從設(shè)計(jì)到實(shí)現(xiàn)的重點(diǎn)難點(diǎn)在于,系統(tǒng)具體功能的確定,數(shù)據(jù)庫(kù)表與表之間關(guān)系的設(shè)計(jì),業(yè)務(wù)邏輯的實(shí)現(xiàn),前后臺(tái)大量數(shù)據(jù)交互等,實(shí)現(xiàn)系統(tǒng)的同時(shí)還要注重用戶的體驗(yàn)感,對(duì)于這些問(wèn)題,首先針對(duì)影響用戶體驗(yàn)感問(wèn)題,我們實(shí)際調(diào)查,與用戶溝通,確定要實(shí)現(xiàn)的功能以及要實(shí)現(xiàn)的頁(yè)面效果來(lái)解決。然后對(duì)于系統(tǒng)業(yè)務(wù)以及功能實(shí)現(xiàn)的問(wèn)題通過(guò)在網(wǎng)上查找大量的資料解決。2.2系統(tǒng)設(shè)計(jì)方案本系統(tǒng)的實(shí)現(xiàn)使用java語(yǔ)言實(shí)現(xiàn)系統(tǒng)的開發(fā),采用開源免費(fèi)的MySQL數(shù)據(jù)庫(kù)來(lái)管理系統(tǒng)中的數(shù)據(jù),開發(fā)系統(tǒng)總體結(jié)構(gòu)則是采用B/S架構(gòu),客戶端可使用IE、chrome、火狐等瀏覽器均可,服務(wù)器端使用tomcat容器實(shí)現(xiàn)客戶端應(yīng)用程序的集中管理,通過(guò)tomcat處理所有web通信,處理報(bào)文、產(chǎn)生請(qǐng)求響應(yīng)對(duì)象,客戶端通過(guò)url實(shí)現(xiàn)各個(gè)頁(yè)面的跳轉(zhuǎn),開發(fā)工具使用eclipse。2.3相關(guān)技術(shù)介紹JSP簡(jiǎn)介JSP全名JavaServerPages,即java服務(wù)器頁(yè)面,是在傳統(tǒng)HTML基礎(chǔ)上增加Java程序段和JSP標(biāo)記產(chǎn)生一個(gè).jsp頁(yè)面[1]。它的本質(zhì)是Servlet,但是與Servlet不同的是更強(qiáng)調(diào)應(yīng)用外表表達(dá)。JSP編譯后是"類servlet",Servlet的應(yīng)用邏輯在Java文件中,完全從表示層中HTML里分離,JSP是Java、HTML組合成擴(kuò)展名為.jsp的文件。JSP側(cè)重視圖,Servlet主要用于控制邏輯。Ajax簡(jiǎn)介Ajax全名AsynchronousJavascriptAndXML,是一種用于提高用戶體驗(yàn)的技術(shù),其本質(zhì)是瀏覽器中一個(gè)特殊對(duì)象(XMLHttpRequest)向服務(wù)器發(fā)送異步請(qǐng)求,服務(wù)器返回一部分?jǐn)?shù)據(jù),瀏覽器用這部分?jǐn)?shù)據(jù)對(duì)頁(yè)面某部分?jǐn)?shù)據(jù)進(jìn)行局部刷新[3]。即不用加載整個(gè)頁(yè)面對(duì)頁(yè)面中的某部分內(nèi)容進(jìn)行刷新,這樣減少了等待整個(gè)頁(yè)面刷新的時(shí)間,加快了網(wǎng)頁(yè)請(qǐng)求速度與響應(yīng)速度。MySQL數(shù)據(jù)庫(kù)MySQL是由MySQLAB公司(瑞典)開發(fā)的跨平臺(tái)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。MySQL是企業(yè)及個(gè)人使用比較多的數(shù)據(jù)庫(kù),在中小型web應(yīng)用開發(fā)中占有很重要的地位[2]。與一些大型數(shù)據(jù)庫(kù)如Oracle相比它有不足,但是它開放源碼,如果不能理解某樣?xùn)|西是如何起作用,或者對(duì)某個(gè)算法感到好奇,可將源碼取來(lái),分析源碼。若不喜歡某些東西,也可更改,它體積小、速度快、總擁有成本低,這些特點(diǎn)都成為一些小型網(wǎng)站開發(fā)使用它作為數(shù)據(jù)庫(kù)的原因。MVC設(shè)計(jì)模式MVC全名ModelViewController即模型視圖控制器,將程序輸入、處理及輸出各個(gè)部分分開,它們?cè)诟髯圆糠痔幚碇髯匀蝿?wù),互不干擾,最典型的MVC設(shè)計(jì)模式是JSP+servlet+javabean模式,本系統(tǒng)使用的就是這種模式。(1)model與數(shù)據(jù)庫(kù)相關(guān)操作,對(duì)數(shù)據(jù)庫(kù)進(jìn)行增刪改查;(2)view用于顯示頁(yè)面展示給用戶,用戶通過(guò)點(diǎn)擊頁(yè)面進(jìn)行操作,將請(qǐng)求的信息返回給后臺(tái)然后后臺(tái)返回相應(yīng)的數(shù)據(jù)顯示在頁(yè)面中;(3)control介于model和view層之間,用來(lái)處理用戶的請(qǐng)求,根據(jù)不同的請(qǐng)求返回相應(yīng)的數(shù)據(jù)到頁(yè)面中展示給用戶;這三層之間的關(guān)系如圖2-1所示:MODELVIEWMODELVIEWCONTROLLER圖2-1模型、視圖、控制器關(guān)系圖3系統(tǒng)分析3.1可行性分析技術(shù)可行性此系統(tǒng)開發(fā)使用的語(yǔ)言是java語(yǔ)言,該語(yǔ)言簡(jiǎn)單易學(xué),數(shù)據(jù)庫(kù)使用的是MySQL數(shù)據(jù)庫(kù),網(wǎng)頁(yè)則用JSP技術(shù),然后使用Ajax技術(shù)實(shí)現(xiàn)頁(yè)面的局部刷新,這些所用到的技術(shù)簡(jiǎn)易,不懂的也可以通過(guò)網(wǎng)絡(luò)以及書籍查找相關(guān)資料,所以技術(shù)上完全能滿足設(shè)計(jì)上功能的實(shí)現(xiàn)和完善,技術(shù)符合要求。經(jīng)濟(jì)可行性此系統(tǒng)開發(fā)設(shè)備只需一臺(tái)電腦,開發(fā)軟件使用的是eclipse,網(wǎng)站部署的服務(wù)器使用的是Tomcat,除了開發(fā)設(shè)備其他的均是開源免費(fèi)的,系統(tǒng)的開發(fā)和維護(hù)的成本也比較低,所以經(jīng)濟(jì)上沒(méi)有任何問(wèn)題。操作可行性本系統(tǒng)操作頁(yè)面簡(jiǎn)潔、美觀,沒(méi)有任何復(fù)雜的操作,用戶只需點(diǎn)擊頁(yè)面中相關(guān)操作按照提示信息操作就可得到結(jié)果。頁(yè)面還使用了ajax,讓用戶在頁(yè)面中點(diǎn)擊一個(gè)事件后不用等待很長(zhǎng)時(shí)間,同時(shí)在請(qǐng)求時(shí)還可進(jìn)行其他操作,更增加了用戶體驗(yàn)。3.2需求分析3.2.1功能需求分析該系統(tǒng)主要用于電影院電影的售票,是為了提高購(gòu)票的效率,提高營(yíng)業(yè)額,以及用戶更方便地查看電影信息而設(shè)計(jì)的。網(wǎng)站的使用者有網(wǎng)站用戶和系統(tǒng)管理員,根據(jù)不同的用戶又有不同的請(qǐng)求,所以本系統(tǒng)必須要滿足以下功能:管理員功能(1)登錄功能,用戶只有登錄成功才能對(duì)網(wǎng)站中的信息進(jìn)行管理;(2)電影管理功能,包括對(duì)電影信息的增加、下架、修改、查詢;(3)影廳管理功能,包括對(duì)影廳信息的增加、刪除、修改、查詢;(4)放映信息管理功能,包括放映信息的增加、刪除、修改、查詢;(5)退出功能,已登錄的管理員可注銷賬戶,注銷后不能對(duì)網(wǎng)站中的信息進(jìn)行管理;用戶功能(1)登錄功能,有些頁(yè)面未登錄的用戶不能訪問(wèn),例如充值頁(yè)面;(2)注冊(cè)功能,沒(méi)有賬號(hào)的用戶必須要注冊(cè)一個(gè)賬號(hào)才能登錄系統(tǒng);(3)電影信息查看功能,包括對(duì)電影基本信息、影評(píng)的查看;(4)搜索功能,用戶可通過(guò)輸入完整電影名或者部分電影名搜索想要查看的電影;(5)影評(píng)的查看功能,對(duì)于選中的電影可以查看所有相關(guān)的影評(píng);(6)影評(píng)增加功能,登錄的用戶可以對(duì)網(wǎng)站中的電影進(jìn)行評(píng)價(jià)。(7)修改個(gè)人信息功能,主要對(duì)個(gè)人賬戶密碼的修改;(8)個(gè)人賬戶的充值功能,用戶可以對(duì)賬戶余額進(jìn)行充值;(9)在線購(gòu)票選座功能,用戶點(diǎn)擊頁(yè)面中的未被預(yù)定的座位,就可選座;(10)在線購(gòu)票功能,用戶選好座位之后進(jìn)行結(jié)算,支付相應(yīng)金額;(11)自動(dòng)生成訂單功能,用戶購(gòu)票成功后就會(huì)自動(dòng)生成訂單;(12)查看訂單功能,對(duì)于成功生成的訂單,用戶可以查看訂單的基本信息,還可以刪除訂單,但是使用這個(gè)功能用戶必須登錄系統(tǒng);(13)在線打分功能,已經(jīng)登錄用戶可以對(duì)已經(jīng)完成訂單中的電影打分;(14)系統(tǒng)退出的功能,已登錄用戶可注銷當(dāng)前賬戶退出登錄,退出后某些頁(yè)面用戶不能進(jìn)行訪問(wèn),例如,查看訂單頁(yè)面、充值頁(yè)面等;用例圖如3-1所示:圖3-1用例圖3.2.2非功能需求本系統(tǒng)不僅實(shí)現(xiàn)了購(gòu)票的基本功能,還實(shí)現(xiàn)了一些非功能需求,例如性能需求、界面簡(jiǎn)潔美觀設(shè)計(jì)等。性能需求本系統(tǒng)對(duì)于數(shù)據(jù)的存儲(chǔ),使用了輕量級(jí)、對(duì)于數(shù)據(jù)可以進(jìn)行良好處理的MySQL數(shù)據(jù)庫(kù),使用ajax實(shí)現(xiàn)頁(yè)面局部刷新,減少了用戶等待的時(shí)間,網(wǎng)站響應(yīng)返回?cái)?shù)據(jù)的速度這些都是用戶體驗(yàn)需要考慮的重要指標(biāo)。性能需求對(duì)于用戶來(lái)說(shuō),一個(gè)網(wǎng)站的頁(yè)面是否美觀操作簡(jiǎn)單直接影響著體驗(yàn)感,影響著用戶是否會(huì)使用這個(gè)網(wǎng)站,本網(wǎng)站前臺(tái)界面充分考慮用戶的體驗(yàn)感,未添加任何復(fù)雜的操作,讓用戶能在最短時(shí)間內(nèi)掌握網(wǎng)站中的操作。
4系統(tǒng)概要設(shè)計(jì)4.1系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)通過(guò)之前對(duì)系統(tǒng)的需求分析,為了能夠更好地滿足使用本系統(tǒng)的用戶的需求,本系統(tǒng)可以分為以下幾個(gè)模塊,系統(tǒng)的功能結(jié)構(gòu)圖如圖4-1所示。圖4-1系統(tǒng)功能結(jié)構(gòu)圖(1)用戶管理管理使用本系統(tǒng)的用戶的信息,包括網(wǎng)站用戶的登錄、注冊(cè)、修改個(gè)人密碼、充值賬戶。(2)訂單管理網(wǎng)站用戶對(duì)于自己訂單信息的管理,包括選座購(gòu)票、生成訂單、查看訂單、刪除訂單。(3)影評(píng)管理網(wǎng)站中電影影評(píng)信息的管理,包括查看選中電影的影評(píng)、發(fā)表影評(píng)、查看電影評(píng)分。(4)電影管理管理電影的信息,包括電影的查看、增加、下架、修改。(5)影廳管理管理影廳的信息,包括對(duì)所有影廳信息的查看、增加、修改、刪除。(6)放映管理放映信息的管理,包括對(duì)目前系統(tǒng)中放映信息的查看、增加、修改、刪除。4.2數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)是通過(guò)數(shù)據(jù)結(jié)構(gòu)來(lái)管理、存儲(chǔ)和組織數(shù)據(jù)的倉(cāng)庫(kù)[4]。以往的文件存儲(chǔ)缺乏對(duì)數(shù)據(jù)的整體管理,數(shù)據(jù)修改不方便,不利于數(shù)據(jù)的分析和共享,當(dāng)數(shù)據(jù)量迅速增長(zhǎng)時(shí),數(shù)據(jù)不能夠長(zhǎng)時(shí)間保存在文件當(dāng)中[5]。而數(shù)據(jù)庫(kù)很好的解決了這個(gè)問(wèn)題。數(shù)據(jù)庫(kù)按一定的格式將數(shù)據(jù)存儲(chǔ)起來(lái),便于查找、修改數(shù)據(jù)的同時(shí)修改的數(shù)據(jù)必須滿足給定的格式,一定程度上保證了存儲(chǔ)數(shù)據(jù)的正確性和有效性。由于本系統(tǒng)中,頁(yè)面中展示的數(shù)據(jù)都是動(dòng)態(tài)變化的,頁(yè)面中存在著很多的數(shù)據(jù)的交互,對(duì)于這些數(shù)據(jù)保存地方的選擇,數(shù)據(jù)庫(kù)是個(gè)很好的選擇。由于本項(xiàng)目不是很大,MySQL數(shù)據(jù)庫(kù)適用多個(gè)平臺(tái),運(yùn)行速度快,尤其它是開源的極大程度上降低了系統(tǒng)的開發(fā)成本,所以本系統(tǒng)選擇使用MySQL數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)系統(tǒng)中用到的所有數(shù)據(jù)。4.2.1概念模型設(shè)計(jì)數(shù)據(jù)庫(kù)的概念模型展示了系統(tǒng)各個(gè)實(shí)體屬性之間的關(guān)系,本在線電影訂票系統(tǒng)的數(shù)據(jù)庫(kù)的概念設(shè)計(jì)E-R圖如下:管理員管理員實(shí)體圖如4-2所示。管理員編號(hào)密碼賬號(hào)編號(hào)密碼賬號(hào)圖4-2管理員實(shí)體圖用戶用戶實(shí)體圖如圖4-3所示。用戶賬號(hào)手機(jī)號(hào)賬號(hào)手機(jī)號(hào)照片編號(hào)賬號(hào)密碼照片編號(hào)賬號(hào)密碼圖4-3用戶實(shí)體圖影廳實(shí)體圖如圖4-4所示。影廳影廳影廳號(hào)影廳名影廳號(hào)影廳名行數(shù)列數(shù)行數(shù)列數(shù)圖4-4影廳實(shí)體圖評(píng)價(jià)實(shí)體圖如圖4-5所示。評(píng)價(jià)評(píng)價(jià)時(shí)間評(píng)價(jià)號(hào)時(shí)間評(píng)價(jià)號(hào)內(nèi)容電影號(hào)用戶賬戶內(nèi)容電影號(hào)用戶賬戶圖4-5評(píng)價(jià)實(shí)體圖價(jià)格電影實(shí)體圖如圖4-6所示。價(jià)格導(dǎo)演編號(hào)導(dǎo)演編號(hào)語(yǔ)言語(yǔ)言名稱名稱是否下架是否下架電影上映時(shí)間電影上映時(shí)間時(shí)長(zhǎng)時(shí)長(zhǎng)類型類型圖片評(píng)分圖片評(píng)分演員簡(jiǎn)介演員簡(jiǎn)介圖4-6電影實(shí)體圖訂單實(shí)體圖如圖4-7所示。訂單訂單訂單號(hào)上映號(hào)創(chuàng)建時(shí)間座位訂單號(hào)上映號(hào)創(chuàng)建時(shí)間座位賬戶賬戶圖4-7訂單實(shí)體圖上映信息實(shí)體圖如圖4-8所示。上映信息上映信息上映時(shí)間座位情況上映時(shí)間座位情況電影號(hào)折扣上映號(hào)影廳號(hào)電影號(hào)折扣上映號(hào)影廳號(hào)圖4-8訂單實(shí)體圖總體ER圖如圖4-9所示圖4-9系統(tǒng)總體er圖4.2.2數(shù)據(jù)模型設(shè)計(jì)(基本表設(shè)計(jì))根據(jù)以上er圖的分析,本系統(tǒng)的數(shù)據(jù)庫(kù)中一共設(shè)計(jì)了七個(gè)表,分別為用戶表、管理員表、電影表、影廳表、訂單表、評(píng)論表和上映信息表,表結(jié)構(gòu)如下:用戶表存放用戶的相關(guān)信息,表的具體結(jié)構(gòu)如表4-1所示:表4-1用戶表(user表)字段屬性長(zhǎng)度是否為空主鍵含義u_idint11否是用戶idu_accountvarchar20否否用戶名u_passwordvarchar20否否密碼u_picturevarchar255否頭像u_moneydouble6否余額u_phonevarchar12否電話管理員表存放管理員的相關(guān)信息,表的具體結(jié)構(gòu)如表4-2所示:表4-2管理員表(admin表)字段屬性長(zhǎng)度是否為空主鍵含義a_idint11否是用戶ida_accountvarchar20否否用戶名a_passwordvarchar20否否密碼影廳表存放影廳的相關(guān)信息,表的具體結(jié)構(gòu)如表4-3所示:表4-3影廳表(hall表)字段屬性長(zhǎng)度是否為空主鍵含義h_idint11否是影廳號(hào)h_namevarchar30否否影廳名h_rowint3否否行數(shù)h_columnint3否否列數(shù)電影表存放電影的相關(guān)信息,表的具體結(jié)構(gòu)如表4-4所示表4-4電影表(movie表)字段屬性長(zhǎng)度是否為空主鍵含義m_idint11否是電影號(hào)m_namevarchar255否否電影名m_actorvarchar255否導(dǎo)演m_actressvarchar255否演員m_playdatevarchar30否否上映時(shí)間m_picturevarchar255否圖片m_introvarchar255否簡(jiǎn)介m_typevarchar10否類型m_languagevarchar10否語(yǔ)言m_longint5否否時(shí)長(zhǎng)m_ratingdouble4否評(píng)分m_pricedouble6否否價(jià)格m_isplayint2否否是否下架上映信息表存放上映信息的相關(guān)信息,表的具體結(jié)構(gòu)如表4-5所示:表4-5上映信息表(hall_movie表)字段屬性長(zhǎng)度是否為空主鍵含義hm_idint11否是上映號(hào)h_idint11否否影廳號(hào)m_idint11否否電影號(hào)play_timevarchar30否否播放時(shí)間hm_discountdouble3否否播放折扣h_seatvarchar255否否座位信息訂單表存放訂單的相關(guān)信息,表的具體結(jié)構(gòu)如表4-6所示:表4-6訂單表(movie_order表)字段屬性長(zhǎng)度是否為空主鍵含義o_idint11否是訂單號(hào)hm_idint11否否放映號(hào)u_accountvarchar20否否用戶賬戶o_datevarchar30否否創(chuàng)建時(shí)間s_messvarchar10否否座位評(píng)論表存放評(píng)論的相關(guān)信息,表的具體結(jié)構(gòu)如表4-7所示:表4-7評(píng)論表(mcomment表)字段屬性長(zhǎng)度是否為空主鍵含義c_idint11否是評(píng)論號(hào)m_idint11否否電影號(hào)u_accountvarchar30否否用戶賬戶c_contentvarchar255否評(píng)論內(nèi)容c_datevarchar30否否評(píng)論時(shí)間
5系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)5.1后臺(tái)模塊的實(shí)現(xiàn)5.1.1管理員登錄模塊此部分用來(lái)登錄驗(yàn)證管理員的基本信息,頁(yè)面展示如圖5-1所示:圖5-1管理員登錄圖在該頁(yè)面中管理員輸入正確格式的用戶名與密碼,才能點(diǎn)擊立即登錄按鈕,前臺(tái)獲取用戶名和密碼作為ajax參數(shù)傳給后臺(tái),后臺(tái)判斷輸入的信息是否完全正確,錯(cuò)誤會(huì)給出相應(yīng)提示,不能進(jìn)入登錄后的主操作頁(yè)面。完全正確則登錄成功進(jìn)入管理員首頁(yè),在該頁(yè)面中管理員可以對(duì)系統(tǒng)中影廳、電影、放映信息進(jìn)行管理,頁(yè)面展示如圖5-2所示圖5-2管理員登錄成功圖5.1.2影廳管理模塊查詢影廳信息點(diǎn)擊左側(cè)導(dǎo)航欄中的查看影廳列表、刪除影廳、修改影廳信息三個(gè)按鈕中的任意一個(gè)都可以查看系統(tǒng)中所有的影廳信息,頁(yè)面展示如圖5-3所示:圖5-3影廳管理圖進(jìn)入到該頁(yè)面時(shí),后臺(tái)會(huì)獲取每頁(yè)顯示的影廳條數(shù)以及頁(yè)數(shù),編寫分頁(yè)的sql語(yǔ)句在數(shù)據(jù)庫(kù)的影廳表中查找要顯示的數(shù)據(jù)通過(guò)ajax回調(diào)函數(shù)返回給前臺(tái),最后將查詢到的結(jié)果展示在頁(yè)面上。添加影廳信息點(diǎn)擊左側(cè)導(dǎo)航欄的添加影廳按鈕,可以進(jìn)入添加影廳頁(yè)面,頁(yè)面展示如圖5-4所示:圖5-4添加影廳信息圖在此頁(yè)面中,管理員可以向系統(tǒng)中添加影廳信息,但是必須錄入正確格式的數(shù)據(jù)才能點(diǎn)擊提交按鈕,將表單提交到后臺(tái),后臺(tái)獲取到表單中的數(shù)據(jù)編寫插入的sql語(yǔ)句將數(shù)據(jù)保存到數(shù)據(jù)庫(kù)的影廳表中,并且將是否添加成功的結(jié)果以彈出框的形式顯示在頁(yè)面中。添加影廳核心代碼如下:Stringhallname=req.getParameter("hallname");Integerrownum=Integer.valueOf(req.getParameter("rownum"));Integercolumnnum=Integer.valueOf(req.getParameter("columnnum"));intresult=hallService.addHall(hallname,rownum,columnnum);PrintWriterpw=resp.getWriter();if(result==0){ pw.write("<scriptlanguage='javascript'>alert('已經(jīng)存在該 名稱影廳!')</script>");}elseif(result==2){ pw.write("<scriptlanguage='javascript'>alert('添加成功! ')</script>");}else{ pw.write("<scriptlanguage='javascript'>alert('添加失敗 ')</script>");}刪除影廳信息在圖5-3展示的影廳列表頁(yè)面中,點(diǎn)擊想要?jiǎng)h除的影廳所在行的刪除影廳按鈕,可進(jìn)行刪除影廳操作,頁(yè)面展示如圖5-5所示:圖5-5刪除影廳信息圖點(diǎn)擊刪除影廳按鈕后會(huì)彈出一個(gè)確認(rèn)刪除的友情提示,如果確認(rèn)刪除,點(diǎn)擊確定按鈕,觸發(fā)刪除事件,前臺(tái)獲取選中的影廳的影廳號(hào)封裝成json數(shù)據(jù)作為ajax參數(shù),發(fā)送給后臺(tái),后臺(tái)編寫刪除的sql語(yǔ)句刪除數(shù)據(jù)庫(kù)的影廳表中影廳號(hào)對(duì)應(yīng)的影廳,刪除的結(jié)果通過(guò)ajax的回調(diào)函數(shù)返回,彈出一個(gè)“刪除成功”的提示框,并且在影廳列表中不再顯示該條數(shù)據(jù)。刪除影廳核心代碼如下: inth_id=newInteger(req.getParameter("h_id")); intresult=hallService.deleteOneHall(h_id); JSONObjectobj=newJSONObject(); obj.put("count",1); obj.put("data",result); resp.getWriter().append(obj.toString());修改影廳信息在圖5-3展示的影廳列表頁(yè)面中,點(diǎn)擊想要修改的影廳所在行的修改信息按鈕,可修改選中的影廳基本信息,頁(yè)面展示如圖5-6所示:圖5-6修改影廳信息圖點(diǎn)擊進(jìn)入到該頁(yè)面,頁(yè)面中會(huì)顯示選中的影廳的基本信息,點(diǎn)擊想要修改的信息進(jìn)行修改,此時(shí)也必須要輸入正確格式的數(shù)據(jù)才能點(diǎn)擊立即提交按鈕,將表單中的所有數(shù)據(jù)提交到后臺(tái),后臺(tái)通過(guò)影廳號(hào)在數(shù)據(jù)庫(kù)中的影廳表查找到相應(yīng)的影廳信息,編寫更新的sql語(yǔ)句修改選中影廳的基本信息,通過(guò)彈出框顯示是否修改成功的結(jié)果。5.1.3電影管理模塊該模塊主要是電影信息的管理,包括對(duì)電影信息的查看、添加、下架和修改。頁(yè)面展示如圖5-7所示:圖5-7電影管理圖在圖5-7展示的電影列表頁(yè)面中,點(diǎn)擊想要下架的電影所在行的下架電影按鈕,頁(yè)面展示如圖5-8所示:圖5-8下架電影圖點(diǎn)擊下架電影按鈕后會(huì)彈出一個(gè)確認(rèn)下架的友情提示,如果確認(rèn)下架,點(diǎn)擊確定按鈕,獲取選中電影的電影號(hào)封裝成json數(shù)據(jù)作為ajax參數(shù),發(fā)送給后臺(tái),后臺(tái)編寫更新的sql語(yǔ)句根據(jù)電影號(hào)修改數(shù)據(jù)庫(kù)中電影表中對(duì)應(yīng)電影的m_isplay字段的值,修改的結(jié)果通過(guò)ajax的回調(diào)函數(shù)返回,彈出一個(gè)“下架成功”提示框,并且在電影列表中不再顯示該條數(shù)據(jù)。由于該模塊的查看電影列表、添加電影、修改電影信息的功能分別于與影廳管理模塊的查看影廳列表、添加影廳、修改影廳信息功能的實(shí)現(xiàn)方法類似,所以在這里不再一一進(jìn)行敘述。5.1.4放映信息管理模塊該模塊主要是放映信息的管理,包括對(duì)放映信息的查看、添加、刪除和修改。頁(yè)面展示如圖5-9所示:圖5-9放映信息管理圖由于該模塊的查看放映列表、添加放映信息、刪除放映信息、修改放映信息功能分別于與影廳管理模塊的查看影廳列表、添加影廳、刪除影廳、修改影廳信息功能的實(shí)現(xiàn)方法類似,所以在這里不再一一進(jìn)行敘述。5.2前臺(tái)模塊的實(shí)現(xiàn)5.2.1用戶注冊(cè)模塊網(wǎng)站中沒(méi)有賬號(hào)的用戶可以通過(guò)本頁(yè)面進(jìn)行注冊(cè)賬號(hào),頁(yè)面展示如圖5-10所示:圖5-10用戶注冊(cè)圖在該頁(yè)面中只有輸入正確格式的數(shù)據(jù),才能點(diǎn)擊立即注冊(cè)按鈕,前臺(tái)獲取填寫的數(shù)據(jù),封裝成json數(shù)據(jù)作為ajax參數(shù)提交給后臺(tái),后臺(tái)編寫插入的sql語(yǔ)句將數(shù)據(jù)保存到數(shù)據(jù)庫(kù)的用戶表中,是否注冊(cè)成功的結(jié)果通過(guò)ajax的回調(diào)函數(shù)返回,結(jié)果以彈出框的形式顯示在頁(yè)面中。5.2.2用戶登錄模塊此部分用來(lái)登錄驗(yàn)證用戶的基本信息,頁(yè)面展示如圖5-11所示:圖5-11用戶登錄圖該模塊的功能與管理員登錄功能的實(shí)現(xiàn)相似,所以不再敘述。用戶登錄成功進(jìn)入系統(tǒng)首頁(yè),在該頁(yè)面中用戶可以看到系統(tǒng)中電影的排行榜、搜索想要觀看的電影,還可以進(jìn)行基本操作,例如充值、購(gòu)票等,頁(yè)面展示如圖5-12所示:圖5-12系統(tǒng)首頁(yè)圖5.2.3搜索模塊用戶在首頁(yè)的輸入框中輸入要搜索的電影的具體名稱或者部分名稱,可以對(duì)電影進(jìn)行搜索,頁(yè)面展示如圖5-13所示:圖5-13搜索圖用戶在輸入框中搜索條件后,點(diǎn)擊搜索按鈕前臺(tái)會(huì)獲取輸入的文字,作為ajax參數(shù)發(fā)送給后臺(tái),后臺(tái)編寫模糊查詢的sql語(yǔ)句在數(shù)據(jù)庫(kù)的電影表中查找電影名包含輸入文字的電影的結(jié)果list,將list封裝成json數(shù)據(jù)通過(guò)ajax的回調(diào)函數(shù)返回,遍歷這個(gè)list,將查詢到的電影名顯示在搜索框的下方。搜索核心代碼: StringmovieName=req.getParameter("movieName"); List<Movie>movieList=movieService.search(movieName); JSONObjectobj=newJSONObject(); obj.put("data",movieList); resp.getWriter().append(obj.toString());5.2.4查看電影詳情模塊點(diǎn)擊首頁(yè)中的搜索結(jié)果中的電影名、排行榜中的電影名、購(gòu)票按鈕三者中的任意一個(gè)可以進(jìn)入電影詳情頁(yè)面,頁(yè)面展示圖如圖5-14所示。圖5-14電影詳情圖進(jìn)入該頁(yè)面時(shí),系統(tǒng)會(huì)自動(dòng)查找到該電影的基本信息以及影評(píng)顯示到頁(yè)面中,沒(méi)有影評(píng)時(shí)影評(píng)部分會(huì)顯示“暫無(wú)影評(píng)”。在發(fā)表評(píng)價(jià)的輸入框中輸入評(píng)價(jià)內(nèi)容,點(diǎn)擊發(fā)送按鈕后,首先判斷用戶是否登錄,沒(méi)有則需用戶去登錄,有則獲取輸入的評(píng)價(jià)內(nèi)容以及影片號(hào)作為ajax參數(shù)發(fā)送給后臺(tái),后臺(tái)獲取到當(dāng)前登錄賬戶以及時(shí)間,如果輸入的評(píng)價(jià)內(nèi)容不為空則編寫插入的sql語(yǔ)句將數(shù)據(jù)寫入到數(shù)據(jù)庫(kù)的影評(píng)表中,最后刷新頁(yè)面。影評(píng)核心代碼: Integerm_id=Integer.valueOf(req.getParameter("m_id")); Stringu_account=req.getParameter("u_account"); Stringc_content=req.getParameter("c_content"); StringscoreString=req.getParameter("m_score"); SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss"); Stringc_date=sdf.format(newDate()); intresult=0; if(c_content!=null){ Mcommentmcomment=newMcomment(m_id,u_account,c_content,c_date); result=mcommentService.increasComment(mcomment); }5.2.5購(gòu)票模塊場(chǎng)次選擇模塊點(diǎn)擊電影詳情頁(yè)面中的立即購(gòu)票按鈕,進(jìn)入場(chǎng)次選擇頁(yè)面,頁(yè)面展示如圖5-15所示。圖5-15場(chǎng)次選擇圖點(diǎn)擊進(jìn)入該頁(yè)面時(shí),系統(tǒng)會(huì)獲取傳入的電影號(hào)作為ajax的參數(shù)傳給后臺(tái),后臺(tái)編寫sql語(yǔ)句到數(shù)據(jù)庫(kù)的上映信息表中查找當(dāng)前電影號(hào)對(duì)應(yīng)的電影目前上映的所有場(chǎng)次,將結(jié)果通過(guò)ajax的回調(diào)函數(shù)返回,顯示在頁(yè)面中,點(diǎn)擊某一場(chǎng)次可以進(jìn)入到選座購(gòu)票的頁(yè)面。選座購(gòu)票模塊用戶通過(guò)點(diǎn)擊場(chǎng)次選擇頁(yè)面中的場(chǎng)次進(jìn)入選座頁(yè)面,該頁(yè)面中顯示的是當(dāng)前場(chǎng)次的座位的基本信息,在該也難中用戶可以選擇觀看電影的座位,頁(yè)面展示如圖5-16所示。圖5-16選座支付圖進(jìn)入頁(yè)面時(shí),系統(tǒng)會(huì)自動(dòng)查找到選中的場(chǎng)次的座位信息,將信息顯示到頁(yè)面中。用戶選擇好座位,點(diǎn)擊結(jié)算按鈕,前臺(tái)首先判斷導(dǎo)航欄中是否含有用戶信息,沒(méi)有不能結(jié)算,有則獲取總價(jià)及所選的位置作為ajax的參數(shù)傳給后臺(tái),后臺(tái)首先確認(rèn)當(dāng)前登錄的賬戶余額是否大于或者等于總價(jià),小于時(shí)不能購(gòu)買,否則購(gòu)買成功,編寫sql語(yǔ)句改變數(shù)據(jù)庫(kù)中賬戶的余額、放映表中的座位信息,是否購(gòu)票成功的結(jié)果通過(guò)ajax的回調(diào)函數(shù)返回,購(gòu)票結(jié)果以彈出框的形式顯示在頁(yè)面中。結(jié)算核心代碼: Doubleprice=Double.valueOf(req.getParameter("pay_price")); Integerm_id=Integer.valueOf(req.getParameter("movieId")); Integerh_id=Integer.valueOf(req.getParameter("hallId")); Integerhm_id=Integer.valueOf(req.getParameter("hm_id")); Useruser=(User)req.getSession().getAttribute("user"); Stringseats=req.getParameter("seats"); intresult=userService.pay(price,m_id,h_id,hm_id,user,seats); JSONObjectobj=newJSONObject(); obj.put("data",result); resp.getWriter().append(obj.toString());5.2.6充值模塊點(diǎn)擊導(dǎo)航欄的充值按鈕或者點(diǎn)擊購(gòu)票時(shí)賬戶余額不足前往充值的友情彈出框中的確認(rèn)按鈕進(jìn)入充值頁(yè)面,頁(yè)面展示如圖5-17所示:圖5-17充值賬戶圖用戶填寫完所有充值條件后點(diǎn)擊確認(rèn)支付按鈕,獲取應(yīng)付金額作為ajax的參數(shù)傳到后臺(tái),后臺(tái)查找到當(dāng)前登錄的賬戶的信息,改變數(shù)據(jù)庫(kù)的用戶表中該賬戶的余額,并且將是否充值成功的結(jié)果封裝成json數(shù)據(jù)通過(guò)ajax的回調(diào)函數(shù)返回給后臺(tái),后臺(tái)通過(guò)彈出框顯示結(jié)果。5.2.7查看訂單模塊已經(jīng)登錄的用戶通過(guò)點(diǎn)擊導(dǎo)航欄的我的訂單按鈕可進(jìn)入到訂單頁(yè)面,頁(yè)面展示如圖5-18所示:圖5-18查看訂單圖用戶在該頁(yè)面中點(diǎn)擊想要評(píng)價(jià)的訂單所在行的立即評(píng)價(jià)按鈕可以對(duì)當(dāng)前訂單中的電影進(jìn)行打分和評(píng)價(jià),由于該頁(yè)面中刪除訂單功能的實(shí)現(xiàn)與影廳管理模塊的刪除影廳功能實(shí)現(xiàn)方式相似,所以這里不再一一進(jìn)行敘述。5.2.8打分評(píng)價(jià)模塊點(diǎn)擊我的訂單頁(yè)面中要進(jìn)行評(píng)價(jià)的訂單所在行的立即評(píng)價(jià)按鈕進(jìn)入評(píng)價(jià)頁(yè)面,用戶點(diǎn)擊打分后的星星即可進(jìn)行評(píng)分,一顆星表示一分,總的為十分頁(yè),面展示如圖5-19所示:圖5-19立即評(píng)價(jià)圖在該頁(yè)面中用戶打分后,前臺(tái)會(huì)獲取到用戶打的分?jǐn)?shù)作為ajax的參數(shù)傳到后臺(tái),后臺(tái)從session中獲取到當(dāng)前登錄的賬戶,判斷打分內(nèi)容是否為空,不為空時(shí)若電影暫無(wú)評(píng)分則使用用戶打的分?jǐn)?shù)作為電影的評(píng)分,若不是則取當(dāng)前評(píng)分以及用戶打的分?jǐn)?shù)兩者的平均值作為電影的評(píng)分。6系統(tǒng)測(cè)試軟件測(cè)試項(xiàng)目開發(fā)中必不可少的一個(gè),通過(guò)不斷的測(cè)試我們可以發(fā)現(xiàn)系統(tǒng)中存在的問(wèn)題,對(duì)現(xiàn)有的問(wèn)題進(jìn)行總結(jié)與思考,然后對(duì)系統(tǒng)不斷進(jìn)行優(yōu)化,從而讓系統(tǒng)更加完善。6.1測(cè)試目的基于JavaWeb的電影售票系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)是用來(lái)進(jìn)行電影的購(gòu)票,假如系統(tǒng)崩潰,則對(duì)用戶帶來(lái)很多問(wèn)題,同時(shí)系統(tǒng)存在著隱私的問(wèn)題,所以我們要需要按照嚴(yán)格且詳細(xì)的步驟去測(cè)試,通過(guò)系統(tǒng)測(cè)試來(lái)為我們的系統(tǒng)保駕護(hù)航,只有多排除程序中可能出現(xiàn)的錯(cuò)誤,才能夠達(dá)到程序運(yùn)行穩(wěn)定、隱私安全的目的,從而使網(wǎng)上購(gòu)票不會(huì)因此受到影響。6.2功能測(cè)試6.2.1影廳管理功能測(cè)試添加影廳功能,測(cè)試用例編寫如下表6-1所示。表6-1添加影廳功能用例表字段名稱描述影廳名7號(hào)廳行數(shù)10列數(shù)10在添加影廳頁(yè)面中,輸入影廳信息,然后點(diǎn)擊立即提交按鈕即可,具體操作頁(yè)面如圖6-1所示。圖6-1添加影廳圖查看數(shù)據(jù)庫(kù)的影廳列表中是否有影廳名為“7號(hào)廳”的記錄,結(jié)果如圖6-2所示:圖6-2添加影廳測(cè)試結(jié)果圖此時(shí)可看到數(shù)據(jù)庫(kù)影廳表中新增了該條數(shù)據(jù),說(shuō)明添加影廳功能正確實(shí)現(xiàn),測(cè)試通過(guò)。6.2.2電影管理功能測(cè)試添加電影功能,測(cè)試用例
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- SolidWorks建立模型導(dǎo)入到maxwell中仿真分析
- 胰腺癌手術(shù)護(hù)理查房
- 培訓(xùn)Excel表的使用與技巧
- 03 科學(xué)技術(shù)-2025年中考英語(yǔ)新熱點(diǎn)時(shí)文閱讀
- 山東省日照市莒縣2024-2025學(xué)年八年級(jí)上學(xué)期期中考試物理試題(含答案)
- 河北省衡水市桃城區(qū)2024-2025學(xué)年高三上學(xué)期10月月考英語(yǔ)試題(含答案無(wú)聽力原文及音頻)
- 第一單元 小數(shù)除法 2024-2025學(xué)年數(shù)學(xué)北師大版五年級(jí)上冊(cè)單元檢測(cè)(含解析)
- 2024-2025學(xué)年江蘇省南京市玄武區(qū)科利華中學(xué)九年級(jí)(上)第一次月考數(shù)學(xué)試卷(含答案)
- T-YNRZ 020-2024 珠芽黃魔芋采收與貯運(yùn)
- T-XYTX 001-2024 地理標(biāo)志農(nóng)產(chǎn)品 新沂水蜜桃
- 培養(yǎng)小學(xué)生文明禮儀的跨學(xué)科教學(xué)策略和資源整合
- 優(yōu)化企業(yè)管理體系
- 火龍罐綜合灸療法
- 2022年GOLD慢阻肺診治指南
- 大學(xué)生畢業(yè)論文寫作教程全套教學(xué)課件
- 第4章-動(dòng)車組列車餐飲服務(wù)操作技能《高速鐵路列車餐飲服務(wù)》
- 安徽省宿州市碭山縣2023-2024學(xué)年九年級(jí)上學(xué)期12月質(zhì)量調(diào)研語(yǔ)文試題(含答案)
- 橢圓及其標(biāo)準(zhǔn)方程導(dǎo)學(xué)案
- 高教社新國(guó)規(guī)中職教材《英語(yǔ)1基礎(chǔ)模塊》英語(yǔ)1-U1-220905改
- 第五章-納濾講解
- 視頻創(chuàng)推員(中級(jí))理論考試題庫(kù)大全(含答案)
評(píng)論
0/150
提交評(píng)論