版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
緒論1.1研究背景近年來電影越來越受到大眾的歡迎,以不可阻擋的速度迅速融入到我們的生活之中,但是一個人觀看電影通常沒有氛圍,而且很多最新的電影在上映之初都只能電影院看到,所以越來越多的人寧愿選擇花錢去影院,去享受那寬銀幕帶來的震撼。因此,去看電影漸漸變成了一種茶余飯后享受生活的必然之選。然而去影院購票是一件很不方便的事情,以往的售票方式都需要自己去影院前臺排隊購票,有時需要等待很長的時間才能買到幾張電影票,這對于我們來說很繁瑣,不僅效率低,而且很不方便。甚至,有時我們可能排了很長的隊但是依舊沒有選到自己中意的座位以及觀看時間。另外,對于影院而言,如果某一段時間內(nèi)購票的人數(shù)過多,影院購票窗口比較少,那么售票人員也會出現(xiàn)手忙腳亂的情況導(dǎo)致輸錯信息,此時就特別需要一種高效率的售票方式來緩解這種情況。如今我們已經(jīng)進(jìn)入了數(shù)字化的時代,互聯(lián)網(wǎng)技術(shù)在不斷地發(fā)展,網(wǎng)絡(luò)也漸漸深入到我們的生活或者工作當(dāng)中。其中網(wǎng)上購物深受大家的歡迎,加上互聯(lián)網(wǎng)技術(shù)越來越穩(wěn)定,網(wǎng)上購物也變得相對安全,所以針對這一現(xiàn)狀,網(wǎng)上購票也是一種不錯的選擇,不僅能節(jié)約購買者的時間,而且方便購買者隨時選擇自己喜歡看的電影。這樣一來就完全擺脫了傳統(tǒng)的繁雜的人工售票的方式,售票方式變得更加多樣化。本論文正是從用戶即影院的角度出發(fā),考慮用戶、影院的需求以及體驗感,開發(fā)了一個基于javaWeb的電影售票系統(tǒng),不僅方便了每一個用戶對于當(dāng)前影院放映的電影的信息以及座位的查看,而且方便了影院對于電影的管理。1.2研究現(xiàn)狀隨著大數(shù)據(jù)時代的發(fā)展,互聯(lián)網(wǎng)成為了我們?nèi)粘I钪械囊徊糠郑缇〇|、淘寶等網(wǎng)站購物越來越流行?;谖覀兩顗毫υ絹碓酱?,看電影可以放松自己的心情,以及為了追求生活質(zhì)量的提高,追求事情的方便,追求生活的舒適,網(wǎng)上購買電影票已經(jīng)成了人們不二之選。因此,這些都為網(wǎng)上購票的推廣提供了動力。模式上,選擇MVC的設(shè)計模式;技術(shù)上,使用JSP技術(shù)、Ajax技術(shù);數(shù)據(jù)的存儲上,對于用戶以及影片等信息使用MySQL數(shù)據(jù)庫進(jìn)行存儲;系統(tǒng)操作上,系統(tǒng)界面簡潔,操作簡單,這些條件都使得網(wǎng)上購買電影票的實現(xiàn)與推廣得到支持。1.3研究目的與意義該論文的目的是利用互聯(lián)網(wǎng)技術(shù)為影院售票、用戶購票帶來方便,讓影院擺脫傳統(tǒng)的人工記錄售票的方式進(jìn)入到互聯(lián)網(wǎng)時代使用電腦錄入數(shù)據(jù),更加方便快捷,減少了人工錄入的繁瑣的步驟。同時也讓用戶擺脫排隊等候的時間,追求更高生活質(zhì)量。1.4主要工作該系統(tǒng)主要用于電影票的購買,根據(jù)使用用戶身份的不同實現(xiàn)不同功能,主要功能分為用戶功能、管理員功能。網(wǎng)站用戶功能主要包括登錄、注冊、個人信息的管理、搜索電影、查看電影信息、影評的管理、查看當(dāng)前售票信息、選座購票、查看個人訂單、實時評價電影,對已購電影打分等。管理員功能主要包括登錄、電影的管理、影廳的管理、電影放映信息的管理。用戶通過本系統(tǒng),可高效率購票。2系統(tǒng)設(shè)計方案及相關(guān)技術(shù)介紹2.1研究方法針對本系統(tǒng),首先實際調(diào)查整個業(yè)務(wù)的流程及具體需要實現(xiàn)的功能,接著從網(wǎng)上搜集相關(guān)業(yè)務(wù)流程資料以及功能需求實現(xiàn)的資料。之后進(jìn)行可行性分析和需求分析,其中可行性分析是從技術(shù)可行性、經(jīng)濟(jì)可行性以及操作可行性三個方面進(jìn)行分析的,需求分析主要從用戶角度分析系統(tǒng)需要實現(xiàn)的功能,接著進(jìn)行結(jié)構(gòu)、數(shù)據(jù)庫的設(shè)計與實現(xiàn),再用代碼實現(xiàn)整個功能。最后對各個模塊功能進(jìn)行測試,看能否正常運行,得到想要結(jié)果,并且無bug出現(xiàn)。整個系統(tǒng)從設(shè)計到實現(xiàn)的重點難點在于,系統(tǒng)具體功能的確定,數(shù)據(jù)庫表與表之間關(guān)系的設(shè)計,業(yè)務(wù)邏輯的實現(xiàn),前后臺大量數(shù)據(jù)交互等,實現(xiàn)系統(tǒng)的同時還要注重用戶的體驗感,對于這些問題,首先針對影響用戶體驗感問題,我們實際調(diào)查,與用戶溝通,確定要實現(xiàn)的功能以及要實現(xiàn)的頁面效果來解決。然后對于系統(tǒng)業(yè)務(wù)以及功能實現(xiàn)的問題通過在網(wǎng)上查找大量的資料解決。2.2系統(tǒng)設(shè)計方案本系統(tǒng)的實現(xiàn)使用java語言實現(xiàn)系統(tǒng)的開發(fā),采用開源免費的MySQL數(shù)據(jù)庫來管理系統(tǒng)中的數(shù)據(jù),開發(fā)系統(tǒng)總體結(jié)構(gòu)則是采用B/S架構(gòu),客戶端可使用IE、chrome、火狐等瀏覽器均可,服務(wù)器端使用tomcat容器實現(xiàn)客戶端應(yīng)用程序的集中管理,通過tomcat處理所有web通信,處理報文、產(chǎn)生請求響應(yīng)對象,客戶端通過url實現(xiàn)各個頁面的跳轉(zhuǎn),開發(fā)工具使用eclipse。2.3相關(guān)技術(shù)介紹JSP簡介JSP全名JavaServerPages,即java服務(wù)器頁面,是在傳統(tǒng)HTML基礎(chǔ)上增加Java程序段和JSP標(biāo)記產(chǎn)生一個.jsp頁面[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簡介Ajax全名AsynchronousJavascriptAndXML,是一種用于提高用戶體驗的技術(shù),其本質(zhì)是瀏覽器中一個特殊對象(XMLHttpRequest)向服務(wù)器發(fā)送異步請求,服務(wù)器返回一部分?jǐn)?shù)據(jù),瀏覽器用這部分?jǐn)?shù)據(jù)對頁面某部分?jǐn)?shù)據(jù)進(jìn)行局部刷新[3]。即不用加載整個頁面對頁面中的某部分內(nèi)容進(jìn)行刷新,這樣減少了等待整個頁面刷新的時間,加快了網(wǎng)頁請求速度與響應(yīng)速度。MySQL數(shù)據(jù)庫MySQL是由MySQLAB公司(瑞典)開發(fā)的跨平臺關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。MySQL是企業(yè)及個人使用比較多的數(shù)據(jù)庫,在中小型web應(yīng)用開發(fā)中占有很重要的地位[2]。與一些大型數(shù)據(jù)庫如Oracle相比它有不足,但是它開放源碼,如果不能理解某樣?xùn)|西是如何起作用,或者對某個算法感到好奇,可將源碼取來,分析源碼。若不喜歡某些東西,也可更改,它體積小、速度快、總擁有成本低,這些特點都成為一些小型網(wǎng)站開發(fā)使用它作為數(shù)據(jù)庫的原因。MVC設(shè)計模式MVC全名ModelViewController即模型視圖控制器,將程序輸入、處理及輸出各個部分分開,它們在各自部分處理著各自任務(wù),互不干擾,最典型的MVC設(shè)計模式是JSP+servlet+javabean模式,本系統(tǒng)使用的就是這種模式。(1)model與數(shù)據(jù)庫相關(guān)操作,對數(shù)據(jù)庫進(jìn)行增刪改查;(2)view用于顯示頁面展示給用戶,用戶通過點擊頁面進(jìn)行操作,將請求的信息返回給后臺然后后臺返回相應(yīng)的數(shù)據(jù)顯示在頁面中;(3)control介于model和view層之間,用來處理用戶的請求,根據(jù)不同的請求返回相應(yīng)的數(shù)據(jù)到頁面中展示給用戶;這三層之間的關(guān)系如圖2-1所示:MODELVIEWMODELVIEWCONTROLLER圖2-1模型、視圖、控制器關(guān)系圖3系統(tǒng)分析3.1可行性分析技術(shù)可行性此系統(tǒng)開發(fā)使用的語言是java語言,該語言簡單易學(xué),數(shù)據(jù)庫使用的是MySQL數(shù)據(jù)庫,網(wǎng)頁則用JSP技術(shù),然后使用Ajax技術(shù)實現(xiàn)頁面的局部刷新,這些所用到的技術(shù)簡易,不懂的也可以通過網(wǎng)絡(luò)以及書籍查找相關(guān)資料,所以技術(shù)上完全能滿足設(shè)計上功能的實現(xiàn)和完善,技術(shù)符合要求。經(jīng)濟(jì)可行性此系統(tǒng)開發(fā)設(shè)備只需一臺電腦,開發(fā)軟件使用的是eclipse,網(wǎng)站部署的服務(wù)器使用的是Tomcat,除了開發(fā)設(shè)備其他的均是開源免費的,系統(tǒng)的開發(fā)和維護(hù)的成本也比較低,所以經(jīng)濟(jì)上沒有任何問題。操作可行性本系統(tǒng)操作頁面簡潔、美觀,沒有任何復(fù)雜的操作,用戶只需點擊頁面中相關(guān)操作按照提示信息操作就可得到結(jié)果。頁面還使用了ajax,讓用戶在頁面中點擊一個事件后不用等待很長時間,同時在請求時還可進(jìn)行其他操作,更增加了用戶體驗。3.2需求分析3.2.1功能需求分析該系統(tǒng)主要用于電影院電影的售票,是為了提高購票的效率,提高營業(yè)額,以及用戶更方便地查看電影信息而設(shè)計的。網(wǎng)站的使用者有網(wǎng)站用戶和系統(tǒng)管理員,根據(jù)不同的用戶又有不同的請求,所以本系統(tǒng)必須要滿足以下功能:管理員功能(1)登錄功能,用戶只有登錄成功才能對網(wǎng)站中的信息進(jìn)行管理;(2)電影管理功能,包括對電影信息的增加、下架、修改、查詢;(3)影廳管理功能,包括對影廳信息的增加、刪除、修改、查詢;(4)放映信息管理功能,包括放映信息的增加、刪除、修改、查詢;(5)退出功能,已登錄的管理員可注銷賬戶,注銷后不能對網(wǎng)站中的信息進(jìn)行管理;用戶功能(1)登錄功能,有些頁面未登錄的用戶不能訪問,例如充值頁面;(2)注冊功能,沒有賬號的用戶必須要注冊一個賬號才能登錄系統(tǒng);(3)電影信息查看功能,包括對電影基本信息、影評的查看;(4)搜索功能,用戶可通過輸入完整電影名或者部分電影名搜索想要查看的電影;(5)影評的查看功能,對于選中的電影可以查看所有相關(guān)的影評;(6)影評增加功能,登錄的用戶可以對網(wǎng)站中的電影進(jìn)行評價。(7)修改個人信息功能,主要對個人賬戶密碼的修改;(8)個人賬戶的充值功能,用戶可以對賬戶余額進(jìn)行充值;(9)在線購票選座功能,用戶點擊頁面中的未被預(yù)定的座位,就可選座;(10)在線購票功能,用戶選好座位之后進(jìn)行結(jié)算,支付相應(yīng)金額;(11)自動生成訂單功能,用戶購票成功后就會自動生成訂單;(12)查看訂單功能,對于成功生成的訂單,用戶可以查看訂單的基本信息,還可以刪除訂單,但是使用這個功能用戶必須登錄系統(tǒng);(13)在線打分功能,已經(jīng)登錄用戶可以對已經(jīng)完成訂單中的電影打分;(14)系統(tǒng)退出的功能,已登錄用戶可注銷當(dāng)前賬戶退出登錄,退出后某些頁面用戶不能進(jìn)行訪問,例如,查看訂單頁面、充值頁面等;用例圖如3-1所示:圖3-1用例圖3.2.2非功能需求本系統(tǒng)不僅實現(xiàn)了購票的基本功能,還實現(xiàn)了一些非功能需求,例如性能需求、界面簡潔美觀設(shè)計等。性能需求本系統(tǒng)對于數(shù)據(jù)的存儲,使用了輕量級、對于數(shù)據(jù)可以進(jìn)行良好處理的MySQL數(shù)據(jù)庫,使用ajax實現(xiàn)頁面局部刷新,減少了用戶等待的時間,網(wǎng)站響應(yīng)返回數(shù)據(jù)的速度這些都是用戶體驗需要考慮的重要指標(biāo)。性能需求對于用戶來說,一個網(wǎng)站的頁面是否美觀操作簡單直接影響著體驗感,影響著用戶是否會使用這個網(wǎng)站,本網(wǎng)站前臺界面充分考慮用戶的體驗感,未添加任何復(fù)雜的操作,讓用戶能在最短時間內(nèi)掌握網(wǎng)站中的操作。
4系統(tǒng)概要設(shè)計4.1系統(tǒng)功能結(jié)構(gòu)設(shè)計通過之前對系統(tǒng)的需求分析,為了能夠更好地滿足使用本系統(tǒng)的用戶的需求,本系統(tǒng)可以分為以下幾個模塊,系統(tǒng)的功能結(jié)構(gòu)圖如圖4-1所示。圖4-1系統(tǒng)功能結(jié)構(gòu)圖(1)用戶管理管理使用本系統(tǒng)的用戶的信息,包括網(wǎng)站用戶的登錄、注冊、修改個人密碼、充值賬戶。(2)訂單管理網(wǎng)站用戶對于自己訂單信息的管理,包括選座購票、生成訂單、查看訂單、刪除訂單。(3)影評管理網(wǎng)站中電影影評信息的管理,包括查看選中電影的影評、發(fā)表影評、查看電影評分。(4)電影管理管理電影的信息,包括電影的查看、增加、下架、修改。(5)影廳管理管理影廳的信息,包括對所有影廳信息的查看、增加、修改、刪除。(6)放映管理放映信息的管理,包括對目前系統(tǒng)中放映信息的查看、增加、修改、刪除。4.2數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫是通過數(shù)據(jù)結(jié)構(gòu)來管理、存儲和組織數(shù)據(jù)的倉庫[4]。以往的文件存儲缺乏對數(shù)據(jù)的整體管理,數(shù)據(jù)修改不方便,不利于數(shù)據(jù)的分析和共享,當(dāng)數(shù)據(jù)量迅速增長時,數(shù)據(jù)不能夠長時間保存在文件當(dāng)中[5]。而數(shù)據(jù)庫很好的解決了這個問題。數(shù)據(jù)庫按一定的格式將數(shù)據(jù)存儲起來,便于查找、修改數(shù)據(jù)的同時修改的數(shù)據(jù)必須滿足給定的格式,一定程度上保證了存儲數(shù)據(jù)的正確性和有效性。由于本系統(tǒng)中,頁面中展示的數(shù)據(jù)都是動態(tài)變化的,頁面中存在著很多的數(shù)據(jù)的交互,對于這些數(shù)據(jù)保存地方的選擇,數(shù)據(jù)庫是個很好的選擇。由于本項目不是很大,MySQL數(shù)據(jù)庫適用多個平臺,運行速度快,尤其它是開源的極大程度上降低了系統(tǒng)的開發(fā)成本,所以本系統(tǒng)選擇使用MySQL數(shù)據(jù)庫來存儲系統(tǒng)中用到的所有數(shù)據(jù)。4.2.1概念模型設(shè)計數(shù)據(jù)庫的概念模型展示了系統(tǒng)各個實體屬性之間的關(guān)系,本在線電影訂票系統(tǒng)的數(shù)據(jù)庫的概念設(shè)計E-R圖如下:管理員管理員實體圖如4-2所示。管理員編號密碼賬號編號密碼賬號圖4-2管理員實體圖用戶用戶實體圖如圖4-3所示。用戶賬號手機(jī)號賬號手機(jī)號照片編號賬號密碼照片編號賬號密碼圖4-3用戶實體圖影廳實體圖如圖4-4所示。影廳影廳影廳號影廳名影廳號影廳名行數(shù)列數(shù)行數(shù)列數(shù)圖4-4影廳實體圖評價實體圖如圖4-5所示。評價評價時間評價號時間評價號內(nèi)容電影號用戶賬戶內(nèi)容電影號用戶賬戶圖4-5評價實體圖價格電影實體圖如圖4-6所示。價格導(dǎo)演編號導(dǎo)演編號語言語言名稱名稱是否下架是否下架電影上映時間電影上映時間時長時長類型類型圖片評分圖片評分演員簡介演員簡介圖4-6電影實體圖訂單實體圖如圖4-7所示。訂單訂單訂單號上映號創(chuàng)建時間座位訂單號上映號創(chuàng)建時間座位賬戶賬戶圖4-7訂單實體圖上映信息實體圖如圖4-8所示。上映信息上映信息上映時間座位情況上映時間座位情況電影號折扣上映號影廳號電影號折扣上映號影廳號圖4-8訂單實體圖總體ER圖如圖4-9所示圖4-9系統(tǒng)總體er圖4.2.2數(shù)據(jù)模型設(shè)計(基本表設(shè)計)根據(jù)以上er圖的分析,本系統(tǒng)的數(shù)據(jù)庫中一共設(shè)計了七個表,分別為用戶表、管理員表、電影表、影廳表、訂單表、評論表和上映信息表,表結(jié)構(gòu)如下:用戶表存放用戶的相關(guān)信息,表的具體結(jié)構(gòu)如表4-1所示:表4-1用戶表(user表)字段屬性長度是否為空主鍵含義u_idint11否是用戶idu_accountvarchar20否否用戶名u_passwordvarchar20否否密碼u_picturevarchar255否頭像u_moneydouble6否余額u_phonevarchar12否電話管理員表存放管理員的相關(guān)信息,表的具體結(jié)構(gòu)如表4-2所示:表4-2管理員表(admin表)字段屬性長度是否為空主鍵含義a_idint11否是用戶ida_accountvarchar20否否用戶名a_passwordvarchar20否否密碼影廳表存放影廳的相關(guān)信息,表的具體結(jié)構(gòu)如表4-3所示:表4-3影廳表(hall表)字段屬性長度是否為空主鍵含義h_idint11否是影廳號h_namevarchar30否否影廳名h_rowint3否否行數(shù)h_columnint3否否列數(shù)電影表存放電影的相關(guān)信息,表的具體結(jié)構(gòu)如表4-4所示表4-4電影表(movie表)字段屬性長度是否為空主鍵含義m_idint11否是電影號m_namevarchar255否否電影名m_actorvarchar255否導(dǎo)演m_actressvarchar255否演員m_playdatevarchar30否否上映時間m_picturevarchar255否圖片m_introvarchar255否簡介m_typevarchar10否類型m_languagevarchar10否語言m_longint5否否時長m_ratingdouble4否評分m_pricedouble6否否價格m_isplayint2否否是否下架上映信息表存放上映信息的相關(guān)信息,表的具體結(jié)構(gòu)如表4-5所示:表4-5上映信息表(hall_movie表)字段屬性長度是否為空主鍵含義hm_idint11否是上映號h_idint11否否影廳號m_idint11否否電影號play_timevarchar30否否播放時間hm_discountdouble3否否播放折扣h_seatvarchar255否否座位信息訂單表存放訂單的相關(guān)信息,表的具體結(jié)構(gòu)如表4-6所示:表4-6訂單表(movie_order表)字段屬性長度是否為空主鍵含義o_idint11否是訂單號hm_idint11否否放映號u_accountvarchar20否否用戶賬戶o_datevarchar30否否創(chuàng)建時間s_messvarchar10否否座位評論表存放評論的相關(guān)信息,表的具體結(jié)構(gòu)如表4-7所示:表4-7評論表(mcomment表)字段屬性長度是否為空主鍵含義c_idint11否是評論號m_idint11否否電影號u_accountvarchar30否否用戶賬戶c_contentvarchar255否評論內(nèi)容c_datevarchar30否否評論時間
5系統(tǒng)詳細(xì)設(shè)計與實現(xiàn)5.1后臺模塊的實現(xiàn)5.1.1管理員登錄模塊此部分用來登錄驗證管理員的基本信息,頁面展示如圖5-1所示:圖5-1管理員登錄圖在該頁面中管理員輸入正確格式的用戶名與密碼,才能點擊立即登錄按鈕,前臺獲取用戶名和密碼作為ajax參數(shù)傳給后臺,后臺判斷輸入的信息是否完全正確,錯誤會給出相應(yīng)提示,不能進(jìn)入登錄后的主操作頁面。完全正確則登錄成功進(jìn)入管理員首頁,在該頁面中管理員可以對系統(tǒng)中影廳、電影、放映信息進(jìn)行管理,頁面展示如圖5-2所示圖5-2管理員登錄成功圖5.1.2影廳管理模塊查詢影廳信息點擊左側(cè)導(dǎo)航欄中的查看影廳列表、刪除影廳、修改影廳信息三個按鈕中的任意一個都可以查看系統(tǒng)中所有的影廳信息,頁面展示如圖5-3所示:圖5-3影廳管理圖進(jìn)入到該頁面時,后臺會獲取每頁顯示的影廳條數(shù)以及頁數(shù),編寫分頁的sql語句在數(shù)據(jù)庫的影廳表中查找要顯示的數(shù)據(jù)通過ajax回調(diào)函數(shù)返回給前臺,最后將查詢到的結(jié)果展示在頁面上。添加影廳信息點擊左側(cè)導(dǎo)航欄的添加影廳按鈕,可以進(jìn)入添加影廳頁面,頁面展示如圖5-4所示:圖5-4添加影廳信息圖在此頁面中,管理員可以向系統(tǒng)中添加影廳信息,但是必須錄入正確格式的數(shù)據(jù)才能點擊提交按鈕,將表單提交到后臺,后臺獲取到表單中的數(shù)據(jù)編寫插入的sql語句將數(shù)據(jù)保存到數(shù)據(jù)庫的影廳表中,并且將是否添加成功的結(jié)果以彈出框的形式顯示在頁面中。添加影廳核心代碼如下: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展示的影廳列表頁面中,點擊想要刪除的影廳所在行的刪除影廳按鈕,可進(jìn)行刪除影廳操作,頁面展示如圖5-5所示:圖5-5刪除影廳信息圖點擊刪除影廳按鈕后會彈出一個確認(rèn)刪除的友情提示,如果確認(rèn)刪除,點擊確定按鈕,觸發(fā)刪除事件,前臺獲取選中的影廳的影廳號封裝成json數(shù)據(jù)作為ajax參數(shù),發(fā)送給后臺,后臺編寫刪除的sql語句刪除數(shù)據(jù)庫的影廳表中影廳號對應(yīng)的影廳,刪除的結(jié)果通過ajax的回調(diào)函數(shù)返回,彈出一個“刪除成功”的提示框,并且在影廳列表中不再顯示該條數(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展示的影廳列表頁面中,點擊想要修改的影廳所在行的修改信息按鈕,可修改選中的影廳基本信息,頁面展示如圖5-6所示:圖5-6修改影廳信息圖點擊進(jìn)入到該頁面,頁面中會顯示選中的影廳的基本信息,點擊想要修改的信息進(jìn)行修改,此時也必須要輸入正確格式的數(shù)據(jù)才能點擊立即提交按鈕,將表單中的所有數(shù)據(jù)提交到后臺,后臺通過影廳號在數(shù)據(jù)庫中的影廳表查找到相應(yīng)的影廳信息,編寫更新的sql語句修改選中影廳的基本信息,通過彈出框顯示是否修改成功的結(jié)果。5.1.3電影管理模塊該模塊主要是電影信息的管理,包括對電影信息的查看、添加、下架和修改。頁面展示如圖5-7所示:圖5-7電影管理圖在圖5-7展示的電影列表頁面中,點擊想要下架的電影所在行的下架電影按鈕,頁面展示如圖5-8所示:圖5-8下架電影圖點擊下架電影按鈕后會彈出一個確認(rèn)下架的友情提示,如果確認(rèn)下架,點擊確定按鈕,獲取選中電影的電影號封裝成json數(shù)據(jù)作為ajax參數(shù),發(fā)送給后臺,后臺編寫更新的sql語句根據(jù)電影號修改數(shù)據(jù)庫中電影表中對應(yīng)電影的m_isplay字段的值,修改的結(jié)果通過ajax的回調(diào)函數(shù)返回,彈出一個“下架成功”提示框,并且在電影列表中不再顯示該條數(shù)據(jù)。由于該模塊的查看電影列表、添加電影、修改電影信息的功能分別于與影廳管理模塊的查看影廳列表、添加影廳、修改影廳信息功能的實現(xiàn)方法類似,所以在這里不再一一進(jìn)行敘述。5.1.4放映信息管理模塊該模塊主要是放映信息的管理,包括對放映信息的查看、添加、刪除和修改。頁面展示如圖5-9所示:圖5-9放映信息管理圖由于該模塊的查看放映列表、添加放映信息、刪除放映信息、修改放映信息功能分別于與影廳管理模塊的查看影廳列表、添加影廳、刪除影廳、修改影廳信息功能的實現(xiàn)方法類似,所以在這里不再一一進(jìn)行敘述。5.2前臺模塊的實現(xiàn)5.2.1用戶注冊模塊網(wǎng)站中沒有賬號的用戶可以通過本頁面進(jìn)行注冊賬號,頁面展示如圖5-10所示:圖5-10用戶注冊圖在該頁面中只有輸入正確格式的數(shù)據(jù),才能點擊立即注冊按鈕,前臺獲取填寫的數(shù)據(jù),封裝成json數(shù)據(jù)作為ajax參數(shù)提交給后臺,后臺編寫插入的sql語句將數(shù)據(jù)保存到數(shù)據(jù)庫的用戶表中,是否注冊成功的結(jié)果通過ajax的回調(diào)函數(shù)返回,結(jié)果以彈出框的形式顯示在頁面中。5.2.2用戶登錄模塊此部分用來登錄驗證用戶的基本信息,頁面展示如圖5-11所示:圖5-11用戶登錄圖該模塊的功能與管理員登錄功能的實現(xiàn)相似,所以不再敘述。用戶登錄成功進(jìn)入系統(tǒng)首頁,在該頁面中用戶可以看到系統(tǒng)中電影的排行榜、搜索想要觀看的電影,還可以進(jìn)行基本操作,例如充值、購票等,頁面展示如圖5-12所示:圖5-12系統(tǒng)首頁圖5.2.3搜索模塊用戶在首頁的輸入框中輸入要搜索的電影的具體名稱或者部分名稱,可以對電影進(jìn)行搜索,頁面展示如圖5-13所示:圖5-13搜索圖用戶在輸入框中搜索條件后,點擊搜索按鈕前臺會獲取輸入的文字,作為ajax參數(shù)發(fā)送給后臺,后臺編寫模糊查詢的sql語句在數(shù)據(jù)庫的電影表中查找電影名包含輸入文字的電影的結(jié)果list,將list封裝成json數(shù)據(jù)通過ajax的回調(diào)函數(shù)返回,遍歷這個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查看電影詳情模塊點擊首頁中的搜索結(jié)果中的電影名、排行榜中的電影名、購票按鈕三者中的任意一個可以進(jìn)入電影詳情頁面,頁面展示圖如圖5-14所示。圖5-14電影詳情圖進(jìn)入該頁面時,系統(tǒng)會自動查找到該電影的基本信息以及影評顯示到頁面中,沒有影評時影評部分會顯示“暫無影評”。在發(fā)表評價的輸入框中輸入評價內(nèi)容,點擊發(fā)送按鈕后,首先判斷用戶是否登錄,沒有則需用戶去登錄,有則獲取輸入的評價內(nèi)容以及影片號作為ajax參數(shù)發(fā)送給后臺,后臺獲取到當(dāng)前登錄賬戶以及時間,如果輸入的評價內(nèi)容不為空則編寫插入的sql語句將數(shù)據(jù)寫入到數(shù)據(jù)庫的影評表中,最后刷新頁面。影評核心代碼: 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購票模塊場次選擇模塊點擊電影詳情頁面中的立即購票按鈕,進(jìn)入場次選擇頁面,頁面展示如圖5-15所示。圖5-15場次選擇圖點擊進(jìn)入該頁面時,系統(tǒng)會獲取傳入的電影號作為ajax的參數(shù)傳給后臺,后臺編寫sql語句到數(shù)據(jù)庫的上映信息表中查找當(dāng)前電影號對應(yīng)的電影目前上映的所有場次,將結(jié)果通過ajax的回調(diào)函數(shù)返回,顯示在頁面中,點擊某一場次可以進(jìn)入到選座購票的頁面。選座購票模塊用戶通過點擊場次選擇頁面中的場次進(jìn)入選座頁面,該頁面中顯示的是當(dāng)前場次的座位的基本信息,在該也難中用戶可以選擇觀看電影的座位,頁面展示如圖5-16所示。圖5-16選座支付圖進(jìn)入頁面時,系統(tǒng)會自動查找到選中的場次的座位信息,將信息顯示到頁面中。用戶選擇好座位,點擊結(jié)算按鈕,前臺首先判斷導(dǎo)航欄中是否含有用戶信息,沒有不能結(jié)算,有則獲取總價及所選的位置作為ajax的參數(shù)傳給后臺,后臺首先確認(rèn)當(dāng)前登錄的賬戶余額是否大于或者等于總價,小于時不能購買,否則購買成功,編寫sql語句改變數(shù)據(jù)庫中賬戶的余額、放映表中的座位信息,是否購票成功的結(jié)果通過ajax的回調(diào)函數(shù)返回,購票結(jié)果以彈出框的形式顯示在頁面中。結(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充值模塊點擊導(dǎo)航欄的充值按鈕或者點擊購票時賬戶余額不足前往充值的友情彈出框中的確認(rèn)按鈕進(jìn)入充值頁面,頁面展示如圖5-17所示:圖5-17充值賬戶圖用戶填寫完所有充值條件后點擊確認(rèn)支付按鈕,獲取應(yīng)付金額作為ajax的參數(shù)傳到后臺,后臺查找到當(dāng)前登錄的賬戶的信息,改變數(shù)據(jù)庫的用戶表中該賬戶的余額,并且將是否充值成功的結(jié)果封裝成json數(shù)據(jù)通過ajax的回調(diào)函數(shù)返回給后臺,后臺通過彈出框顯示結(jié)果。5.2.7查看訂單模塊已經(jīng)登錄的用戶通過點擊導(dǎo)航欄的我的訂單按鈕可進(jìn)入到訂單頁面,頁面展示如圖5-18所示:圖5-18查看訂單圖用戶在該頁面中點擊想要評價的訂單所在行的立即評價按鈕可以對當(dāng)前訂單中的電影進(jìn)行打分和評價,由于該頁面中刪除訂單功能的實現(xiàn)與影廳管理模塊的刪除影廳功能實現(xiàn)方式相似,所以這里不再一一進(jìn)行敘述。5.2.8打分評價模塊點擊我的訂單頁面中要進(jìn)行評價的訂單所在行的立即評價按鈕進(jìn)入評價頁面,用戶點擊打分后的星星即可進(jìn)行評分,一顆星表示一分,總的為十分頁,面展示如圖5-19所示:圖5-19立即評價圖在該頁面中用戶打分后,前臺會獲取到用戶打的分?jǐn)?shù)作為ajax的參數(shù)傳到后臺,后臺從session中獲取到當(dāng)前登錄的賬戶,判斷打分內(nèi)容是否為空,不為空時若電影暫無評分則使用用戶打的分?jǐn)?shù)作為電影的評分,若不是則取當(dāng)前評分以及用戶打的分?jǐn)?shù)兩者的平均值作為電影的評分。6系統(tǒng)測試軟件測試項目開發(fā)中必不可少的一個,通過不斷的測試我們可以發(fā)現(xiàn)系統(tǒng)中存在的問題,對現(xiàn)有的問題進(jìn)行總結(jié)與思考,然后對系統(tǒng)不斷進(jìn)行優(yōu)化,從而讓系統(tǒng)更加完善。6.1測試目的基于JavaWeb的電影售票系統(tǒng)的設(shè)計與實現(xiàn)是用來進(jìn)行電影的購票,假如系統(tǒng)崩潰,則對用戶帶來很多問題,同時系統(tǒng)存在著隱私的問題,所以我們要需要按照嚴(yán)格且詳細(xì)的步驟去測試,通過系統(tǒng)測試來為我們的系統(tǒng)保駕護(hù)航,只有多排除程序中可能出現(xiàn)的錯誤,才能夠達(dá)到程序運行穩(wěn)定、隱私安全的目的,從而使網(wǎng)上購票不會因此受到影響。6.2功能測試6.2.1影廳管理功能測試添加影廳功能,測試用例編寫如下表6-1所示。表6-1添加影廳功能用例表字段名稱描述影廳名7號廳行數(shù)10列數(shù)10在添加影廳頁面中,輸入影廳信息,然后點擊立即提交按鈕即可,具體操作頁面如圖6-1所示。圖6-1添加影廳圖查看數(shù)據(jù)庫的影廳列表中是否有影廳名為“7號廳”的記錄,結(jié)果如圖6-2所示:圖6-2添加影廳測試結(jié)果圖此時可看到數(shù)據(jù)庫影廳表中新增了該條數(shù)據(jù),說明添加影廳功能正確實現(xiàn),測試通過。6.2.2電影管理功能測試添加電影功能,測試用例
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 44929-2024空間高能天文科學(xué)觀測提案評估規(guī)范
- 2024政工程合同協(xié)議書:新能源項目合作協(xié)議3篇
- 2024建筑水電安裝系統(tǒng)檢測與維護(hù)合同
- 2024消防工程維保與消防系統(tǒng)智能化改造服務(wù)協(xié)議3篇
- 專業(yè)消防站施工建設(shè)協(xié)議樣本版A版
- 2024版專業(yè)土方外運工程承包合同范本版B版
- 2024氣象站氣象儀器設(shè)備采購與維護(hù)服務(wù)協(xié)議3篇
- 2024靈活就業(yè)人員的勞動合同
- 專業(yè)液體化工品運輸協(xié)議2024定制版版B版
- 個人房產(chǎn)轉(zhuǎn)讓協(xié)議范本2024版版B版
- 河南省鄭州外國語高中-【高二】【上期中】【把握現(xiàn)在 蓄力高三】家長會【課件】
- 2025年中煤電力有限公司招聘筆試參考題庫含答案解析
- 2024-2025學(xué)年烏魯木齊市數(shù)學(xué)三上期末檢測試題含解析
- 企業(yè)內(nèi)部控制與財務(wù)風(fēng)險防范
- 2025年初級經(jīng)濟(jì)師之初級經(jīng)濟(jì)師基礎(chǔ)知識考試題庫及完整答案【全優(yōu)】
- 建設(shè)項目施工現(xiàn)場春節(jié)放假期間的安全管理方案
- 胃潴留護(hù)理查房
- 污水處理廠運營方案計劃
- 眼科慢病管理新思路
- 劉先生家庭投資理財規(guī)劃方案設(shè)計
- 寵物養(yǎng)護(hù)與經(jīng)營-大學(xué)專業(yè)介紹
評論
0/150
提交評論