




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
圖2-5系統(tǒng)功能圖基于JSP的汽車租賃管理系統(tǒng)圖2-5系統(tǒng)功能圖基于JSP的汽車租賃管理系統(tǒng)用戶信息管理新聞信息管理訂單信息管理添加用戶信息查看用戶信息修改用戶信息刪除用戶信息修改新聞信息查看新聞信息添加新聞信息刪除新聞信息管理訂單記錄查看訂單記錄訂單歷史記錄刪除訂單信息留言信息管理車輛信息管理加盟商信息管理回復(fù)留言信息查看留言信息刪除留言信息修改留言信息修改車輛信息添加車輛信息查看車輛信息刪除車輛信息添加加盟商信息查看加盟商信息修改加盟商信息刪除加盟商信息經(jīng)過(guò)結(jié)構(gòu)化分析方法,使用數(shù)據(jù)流圖DFD描述系統(tǒng)中數(shù)據(jù)流程,標(biāo)識(shí)了一個(gè)系統(tǒng)的邏輯輸入和邏輯輸出以及把邏輯轉(zhuǎn)換邏輯輸出所需的加工處理。
(1)頂層數(shù)據(jù)流圖圖2-6汽車租賃管理系統(tǒng)頂層數(shù)據(jù)流圖(2)第一層數(shù)據(jù)流圖圖2-7汽車租賃管理系統(tǒng)
(3)第二層數(shù)據(jù)流圖處理游客請(qǐng)求能夠劃分為瀏覽查詢和注冊(cè)。處理會(huì)員請(qǐng)求能夠細(xì)化為瀏覽查詢,登錄,租賃,留言,添加新聞信息。處理管理員請(qǐng)求能夠細(xì)化為發(fā)布新車輛,車輛更新,訂單管理,新聞管理,加盟商管理和留言回復(fù)。圖2-8處理游客請(qǐng)求細(xì)分
圖2-9處理會(huì)員請(qǐng)求細(xì)分圖2-10處理管理員請(qǐng)求細(xì)分2.2.3數(shù)據(jù)字典(1)外部實(shí)體定義名稱:會(huì)員
輸入數(shù)據(jù)流:查詢信息、發(fā)布新聞、租賃訂單、添加訂單輸出數(shù)據(jù)流:訂單信息、車輛信息、留言信息、新聞信息名稱:游客
輸入數(shù)據(jù)流:查詢信息、注冊(cè)信息輸出數(shù)據(jù)流:車輛信息、留言信息、新聞信息名稱:管理員
輸入數(shù)據(jù)流:車輛更新信息、訂單處理、用戶信息、新聞信息、加盟商信息、留言信息輸出數(shù)據(jù)流:查詢信息(2)處理過(guò)程定義名稱:處理游客請(qǐng)求編號(hào):P1
輸入數(shù)據(jù)流:瀏覽查詢要求、注冊(cè)信息、留言輸出數(shù)據(jù)流:瀏覽查詢結(jié)果名稱:處理會(huì)員請(qǐng)求編號(hào):P2
輸入數(shù)據(jù)流:瀏覽查詢要求、留言、租賃訂單、發(fā)布新聞?shì)敵鰯?shù)據(jù)流:瀏覽查詢結(jié)果、訂單信息、車輛信息名稱:處理管理員請(qǐng)求編號(hào):P3
輸入數(shù)據(jù)流:車輛更新信息、審批申請(qǐng)、報(bào)表查詢要求、留言輸出數(shù)據(jù)流:瀏覽查詢信息、處理訂單結(jié)果、留言回復(fù)(3)數(shù)據(jù)流定義名稱:注冊(cè)信息數(shù)據(jù)流簡(jiǎn)述:注冊(cè)會(huì)員需要填寫的信息數(shù)據(jù)來(lái)源:游客數(shù)據(jù)項(xiàng)組成:[用戶名|密碼|郵箱|性別]名稱:瀏覽查詢要求數(shù)據(jù)流簡(jiǎn)述:查詢車輛信息數(shù)據(jù)來(lái)源:游客、會(huì)員數(shù)據(jù)項(xiàng)組成:[車輛信息]名稱:瀏覽查詢結(jié)果數(shù)據(jù)流簡(jiǎn)述:顯示瀏覽查詢的結(jié)果數(shù)據(jù)去向:會(huì)員數(shù)據(jù)項(xiàng)組成:車輛信息、新聞信息、加盟商信息
名稱:留言數(shù)據(jù)流簡(jiǎn)述:各種留言,用戶對(duì)服務(wù)的評(píng)價(jià)數(shù)據(jù)來(lái)源:游客、會(huì)員數(shù)據(jù)項(xiàng)組成:留言,用戶對(duì)服務(wù)的評(píng)價(jià)名稱:留言回復(fù)數(shù)據(jù)流簡(jiǎn)述:回復(fù)留言,用戶對(duì)服務(wù)的評(píng)價(jià)數(shù)據(jù)去向:會(huì)員數(shù)據(jù)項(xiàng)組成:回復(fù)用戶對(duì)服務(wù)的評(píng)價(jià)名稱:租賃訂單數(shù)據(jù)流簡(jiǎn)述:租賃信息描述數(shù)據(jù)來(lái)源:會(huì)員數(shù)據(jù)項(xiàng)組成:[身份證編號(hào)|還車時(shí)間|押金]名稱:車輛更新信息數(shù)據(jù)流簡(jiǎn)述:新車輛發(fā)布、修改、刪除信息數(shù)據(jù)來(lái)源:管理員數(shù)據(jù)項(xiàng)組成:車輛信息3系統(tǒng)設(shè)計(jì)3.1概要設(shè)計(jì)3.1.1設(shè)計(jì)原則本系統(tǒng)遵循軟件工程規(guī)定的設(shè)計(jì)方法和步驟,對(duì)系統(tǒng)進(jìn)行細(xì)致地分析研究后,確定了以下基本設(shè)計(jì)原則:(1)實(shí)用性:盡量選擇成熟實(shí)用的技術(shù),使得整個(gè)系統(tǒng)有一個(gè)安全、穩(wěn)定的運(yùn)行環(huán)境。(2)安全性:為了保障系統(tǒng)平穩(wěn)正常的運(yùn)行以及數(shù)據(jù)的完整性,整個(gè)系統(tǒng)必須有很好的安全性,必須加強(qiáng)數(shù)據(jù)庫(kù)的安全保密設(shè)計(jì)。(3)開(kāi)放性:該系統(tǒng)在建設(shè)上必須加強(qiáng)標(biāo)準(zhǔn)化及采用統(tǒng)一的技術(shù)規(guī)范,以實(shí)現(xiàn)網(wǎng)絡(luò)互聯(lián)、資源共享、高效運(yùn)行和科學(xué)管理。3.1.2系統(tǒng)結(jié)構(gòu)分析與設(shè)計(jì)系統(tǒng)分析的任務(wù)是明確汽車租賃系統(tǒng)開(kāi)發(fā)的目的、系統(tǒng)應(yīng)用的功能等,主要有以下步驟:(1)軟件結(jié)構(gòu)分析對(duì)于大型系統(tǒng)的設(shè)計(jì),一般分為兩個(gè)階段:結(jié)構(gòu)設(shè)計(jì)和過(guò)程設(shè)計(jì)。結(jié)構(gòu)設(shè)計(jì):確定系統(tǒng)由哪些模塊組成,以及這些模塊之間的相互關(guān)系。過(guò)程設(shè)計(jì):確定每個(gè)模塊的處理過(guò)程。其中,結(jié)構(gòu)設(shè)計(jì)是總體設(shè)計(jì)階段的任務(wù),而過(guò)程設(shè)計(jì)則是詳細(xì)設(shè)計(jì)階段的任務(wù)。這里只是一個(gè)小型的數(shù)據(jù)庫(kù)管理系統(tǒng),只分析構(gòu)成它們最基本的成分以及所有這些成分之間的相互關(guān)系。結(jié)構(gòu)分析就是系統(tǒng)分析人員對(duì)完成任務(wù)的每一個(gè)工序進(jìn)行分析的過(guò)程。系統(tǒng)開(kāi)發(fā)的過(guò)程首先是要確定需要建立的表格以及視圖,即首先完成數(shù)據(jù)庫(kù)的設(shè)計(jì),這個(gè)過(guò)程主要是經(jīng)過(guò)MySQL數(shù)據(jù)庫(kù)來(lái)完成的;其次,就是進(jìn)行界面的設(shè)計(jì),這個(gè)過(guò)程是在MyEclipse中完成的,它是系統(tǒng)開(kāi)發(fā)中比較重要的一步,系統(tǒng)界面在用戶對(duì)軟件的評(píng)價(jià)中占有很大的比重,影響到本系統(tǒng)開(kāi)發(fā)的成功與否。最后就是詳細(xì)代碼的編寫以實(shí)現(xiàn)系統(tǒng)的主要功能。(2)工作量分析對(duì)工作量的分析是以分析傳統(tǒng)汽車租賃管理系統(tǒng)的各種工作量為基礎(chǔ)的。分析包括輸入量分析、顯示分析、文檔結(jié)構(gòu)、程序編制、調(diào)試狀況分析等,一般有問(wèn)題分析與綜合、數(shù)據(jù)庫(kù)組織與結(jié)構(gòu)的分析、文檔結(jié)構(gòu)分析與編制、子系統(tǒng)處理過(guò)程分析、與用戶充分交流的分析、顯示界面的分析、程序編制、調(diào)試狀況分析和軟件測(cè)試對(duì)象的分析等。整個(gè)系統(tǒng)主要由前臺(tái)系統(tǒng)、后臺(tái)管理兩個(gè)部分組成。這個(gè)系統(tǒng)制作的基本目標(biāo)是:結(jié)構(gòu)清晰、內(nèi)容豐富、方便快捷。本著這樣的總體設(shè)計(jì)思想,又將需求分析具體化:=1\*GB3①用戶操作方便,系統(tǒng)的運(yùn)行能夠給用戶帶來(lái)很大的便利。=2\*GB3②系統(tǒng)的運(yùn)行能夠節(jié)省許多資源。=3\*GB3③界面友好、美觀、大方。=4\*GB3④系統(tǒng)的概要設(shè)計(jì)最重要的就是將系統(tǒng)模塊化。模塊化是指在解決一個(gè)復(fù)雜問(wèn)題時(shí)自頂向下逐層把軟件系統(tǒng)劃分成若干個(gè)模塊的過(guò)程。每個(gè)模塊完成一個(gè)特定的功能,所有的模塊按某種方法組織起來(lái)成為一個(gè)整體,完成整個(gè)系統(tǒng)所要求的功能。將系統(tǒng)劃分為多個(gè)模塊是為了降低軟件系統(tǒng)的復(fù)雜性,提高可讀性和可維護(hù)性,同時(shí)系統(tǒng)設(shè)計(jì)的模塊化也為提高系統(tǒng)的可擴(kuò)展性和系統(tǒng)的可移植性提供了方便,但模塊的劃分不能是任意的,應(yīng)盡量保持其獨(dú)立性。也就是說(shuō)每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立子功能,而且與其它模塊的聯(lián)系最少,即盡量做到高內(nèi)聚低耦合,提高模塊的獨(dú)立性,為設(shè)計(jì)高質(zhì)量的軟件結(jié)構(gòu)奠定基礎(chǔ)。3.1.3系統(tǒng)三層模式本系統(tǒng)采用三層架構(gòu)模式:表示層(JSP頁(yè)面),業(yè)務(wù)邏輯層(DAO模式),控制層(SERVLET),程序中業(yè)務(wù)的控制由控制器來(lái)負(fù)責(zé),經(jīng)過(guò)web.xml配置文件能夠由系統(tǒng)負(fù)責(zé)判斷某個(gè)JSP頁(yè)面該調(diào)用哪個(gè)控制類中的哪個(gè)方法來(lái)處理請(qǐng)求,控制器再將請(qǐng)求的相關(guān)參數(shù)傳遞給實(shí)例化好的DAO組件,進(jìn)行頁(yè)面跳轉(zhuǎn)。
(1)數(shù)據(jù)庫(kù)連接DB包下設(shè)計(jì)了一個(gè)DBuser.java類,有g(shù)etConnection()方法用來(lái)與數(shù)據(jù)庫(kù)建立連接,close()方法用來(lái)關(guān)閉與數(shù)據(jù)庫(kù)的連接。(2)表示層表示層主要是系統(tǒng)中的JSP頁(yè)面,整個(gè)系統(tǒng)的實(shí)現(xiàn)經(jīng)過(guò)主要頁(yè)面的跳轉(zhuǎn)實(shí)現(xiàn)。前臺(tái)實(shí)現(xiàn)的功能主要為用戶能夠?yàn)g覽系統(tǒng)提供的新聞信息、租賃車輛信息、供應(yīng)商信息、公司招聘信息、公司的聯(lián)系方式,而且能夠在線預(yù)訂車輛。前臺(tái)主要頁(yè)面有:default.jsp:默認(rèn)首頁(yè);news.jsp:新聞信息頁(yè)面;chexing.jsp:車型報(bào)價(jià)頁(yè)面;order.jsp:在線預(yù)訂頁(yè)面;companys.jsp:聯(lián)盟企業(yè)頁(yè)面;job.jsp:招聘精英頁(yè)面;company.jsp:聯(lián)系我們頁(yè)面;addmessage.jsp:留言頁(yè)面;index.jsp:后臺(tái)管理員登錄頁(yè)面。后臺(tái)實(shí)現(xiàn)的功能為管理用戶信息、新聞信息、車輛信息、加盟商信息、訂單信息、留言信息。根據(jù)用戶權(quán)限的分配有不同的顯示界面。后臺(tái)主要頁(yè)面如下圖所示:圖3-1后臺(tái)主要頁(yè)面圖(3)控制層系統(tǒng)經(jīng)過(guò)CSS文件來(lái)控制整個(gè)系統(tǒng)的布局和整體框架。后臺(tái)控制頁(yè)面updateN.jsp為updateN.java控制,insertC.jsp為insertC.java控制等。這些控制在web.xml中都有配置。(4)業(yè)務(wù)邏輯層業(yè)務(wù)邏輯層是系統(tǒng)架構(gòu)中體現(xiàn)核心價(jià)值的部分。它的關(guān)注點(diǎn)主要集中在業(yè)務(wù)規(guī)則的制定、業(yè)務(wù)流程的實(shí)現(xiàn)等與業(yè)務(wù)需求有關(guān)的系統(tǒng)設(shè)計(jì)。處于數(shù)據(jù)訪問(wèn)層與表示層中間,起到了數(shù)據(jù)交換中承上啟下的作用。3.2數(shù)據(jù)庫(kù)設(shè)計(jì)本系統(tǒng)數(shù)據(jù)庫(kù)選擇MySQL數(shù)據(jù)庫(kù),管理軟件為NavicatforMySQL。數(shù)據(jù)庫(kù)構(gòu)建步驟為建立數(shù)據(jù)庫(kù)連接,創(chuàng)立數(shù)據(jù)庫(kù),構(gòu)建所需的表格,添加數(shù)據(jù)。創(chuàng)立新的數(shù)據(jù)庫(kù),名稱為qczl。圖3-2創(chuàng)立數(shù)據(jù)庫(kù)雙擊打開(kāi)剛才新建的數(shù)據(jù)庫(kù),選擇表,點(diǎn)擊右鍵新建數(shù)據(jù)庫(kù)表,本系統(tǒng)的數(shù)據(jù)庫(kù)中包含6張表,分別為:bus(汽車信息表)、franchisee(供應(yīng)商信息表)、message(留言信息表)、newsinfo(新聞信息表)、orderinfo(訂單信息表)、user(會(huì)員用戶信息表)。
(1)對(duì)應(yīng)的表結(jié)構(gòu)依次是:表3-1bus汽車信息表idint11namevarchar20typevarchar20weishuvarchar11yajinvarchar20offervarchar50miaoshuvarchar1000dailyvarchar100monthvarchar100overtimevarchar100imgvarchar1000remainint20rentint20表3-2franchisee供應(yīng)商信息表idint11namevarchar20provincevarchar20telvarchar50addressvarchar100ingvarchar1000miaoshuvarchar500regtimedate0topint1表3-3message留言信息表idint11sexvarchar4namevarchar20emailvarchar20contentvarchar1000gbdatevarchar20redatevarchar20recontentvarchar1000
表3-4newsinfo新聞信息表newsinfo_idint10newsinfo_uidvarchar10newsinfo_titlevarchar200newsinfo_typevarchar10newsinfo_contentvarchar1000newsinfo_datedate0newsinfo_updatetimedate0圖3-5orderinfo訂單信息表idint11useridint11busidint11orderdatevarchar20returndatevarchar20uservarchar20telvarchar20needsvarchar1000idcardvarchar18stateint1disableint1表3-6user會(huì)員用戶信息表user_idint4user_namevarchar20user_passwordvarchar20user_sexvarchar2user_emailvarchar50user_regtimevarchar0user_typevarchar12
(2)表與表之間的關(guān)系外鍵主鍵主鍵user_iduser_nameuser_passworduser_sexuser_emailuser_regtimeuser_type主鍵iduseridbusiduser…telneedsidcardstatedisableidnametypemiaoshu…totalremainrentstatetopuser用戶orderinfo外鍵主鍵主鍵user_iduser_nameuser_passworduser_sexuser_emailuser_regtimeuser_type主鍵iduseridbusiduser…telneedsidcardstatedisableidnametypemiaoshu…totalremainrentstatetopuser用戶orderinfo訂單bus汽車外鍵franchisee加盟商message留言idsexnameemailcontentgbdateredaterecontenttopnewsinfo_idnewsinfo_uidnewsinfo_titlenewsinfo_typenewsinfo_contentnewsinfo_datenewsinfo_updatetime主鍵外鍵franchisee加盟商message留言idsexnameemailcontentgbdateredaterecontenttopnewsinfo_idnewsinfo_uidnewsinfo_titlenewsinfo_typenewsinfo_contentnewsinfo_datenewsinfo_updatetime主鍵主鍵主鍵idnameprovinceteladdressimgmiaoshuregtimetopnews新聞4系統(tǒng)實(shí)現(xiàn)4.1用戶注冊(cè)用戶注冊(cè)驗(yàn)證成功后,則跳轉(zhuǎn)到登錄頁(yè)面進(jìn)行登錄操作;如果注冊(cè)驗(yàn)證不成功則提示用戶注冊(cè)失敗原因重新填寫注冊(cè)信息。注冊(cè)頁(yè)面流程圖如下圖所示:幫助提示不經(jīng)過(guò)重新填寫個(gè)人資料經(jīng)過(guò)合法用戶資料審核會(huì)員注冊(cè)填寫個(gè)人資料(用戶名、密碼郵箱等)幫助提示不經(jīng)過(guò)重新填寫個(gè)人資料經(jīng)過(guò)合法用戶資料審核會(huì)員注冊(cè)填寫個(gè)人資料(用戶名、密碼郵箱等)圖4-1注冊(cè)頁(yè)面流程圖4.2前臺(tái)功能模塊導(dǎo)航欄里面有7大模塊,分別為:首頁(yè)、新聞中心、車型報(bào)價(jià)、在線訂車、聯(lián)盟企業(yè)、誠(chéng)聘精英、聯(lián)系我們,對(duì)應(yīng)7個(gè)前臺(tái)頁(yè)面。前臺(tái)默認(rèn)首頁(yè)從數(shù)據(jù)庫(kù)里面調(diào)出最新上傳的五款車輛信息,以及最新上傳的前十條新聞?dòng)涗?。新聞中心?yè)面顯示的主要內(nèi)容是從數(shù)據(jù)庫(kù)里面按照時(shí)間倒序調(diào)出的新聞信息。聯(lián)盟企業(yè)頁(yè)面列出所有加盟商的信息,包括供應(yīng)商的名稱、聯(lián)系電話、公司地址、公司的一些介紹、公司商標(biāo)等。招聘精英頁(yè)面則顯示公司的一些招聘信息。聯(lián)系我們頁(yè)面列出公司的一些聯(lián)系方式。下面則主要介紹本系統(tǒng)中主要功能模塊。4.2.1前臺(tái)默認(rèn)界面前臺(tái)默認(rèn)首頁(yè)上面從數(shù)據(jù)庫(kù)里面調(diào)出最新上傳的五款車輛信息以及最新上傳的前十條新聞?dòng)涗浐凸镜囊恍┙榻B圖片。圖4-2前臺(tái)默認(rèn)頁(yè)面核心代碼:<%Listlist=car.CarDao.top5();Iteratorit=list.iterator();while(it.hasNext()){Carinfocarinfo=(Carinfo)it.next();%><divclass="fllist_left"><imgsrc="<%=carinfo.getImg()%>"width="255"height="200"/></div><divclass="fllist_right"> <divclass="list_right_test"><h1><b><%=carinfo.getName()%></b></h1></div> <h2>:<%=carinfo.getOffer()%></h2> <p><%=carinfo.getMiaoshu()%></p> </div><%}%>
4.2.2車型報(bào)價(jià)列出所有的車輛信息,包括車輛的圖片、車名、車位數(shù)、車供應(yīng)商以及車輛的日租、月租、押金、超時(shí)費(fèi)(元/每小時(shí))的具體金額。用戶能夠在此查詢出來(lái)想要租賃的車輛并點(diǎn)擊我要租賃圖片鏈接,經(jīng)具體的車輛信息傳到在線訂車(order.jsp)的頁(yè)面上進(jìn)行在線對(duì)車的核對(duì),并填寫下一步信息進(jìn)行車輛的在線訂購(gòu)。圖4-3車型報(bào)價(jià)頁(yè)面核心代碼:<formmethod="post"action="csearchC.jsp"name="post"> <tablewidth="1800%"border="0"align="center"cellpadding="3"cellspacing="6"> <tr> <td>查詢: <selectname="select"><!-- <option>選擇類型</option> --><optionselected="selected"value="name">名稱</option> <optionvalue="offer">供應(yīng)商</option> </select></td> </tr> <tr> <td>關(guān)鍵字: <INPUTname="keyword"class="autoline02"size=15></td> </tr> <tr><tdalign="center"><inputtype="submit"name="submit"></input></td> </tr> </table></form> 4.2.3在線訂車從上一個(gè)頁(yè)面chexing.jsp接受要預(yù)訂的車輛信息,讓用戶進(jìn)行預(yù)訂前的核對(duì),系統(tǒng)自動(dòng)生成訂單的訂單號(hào),用戶需要記下自己的訂單號(hào),接著填寫預(yù)定該汽車所需要的信息,包括起租時(shí)間、還車時(shí)間、訂單人的姓名、訂單人的聯(lián)系電話、訂單人的身份證號(hào)以及客戶所需要的一些特殊要求,填寫好信息后用戶可點(diǎn)擊“確認(rèn)訂單信息”進(jìn)行預(yù)訂。如果客戶沒(méi)有從車型報(bào)價(jià)頁(yè)面跳轉(zhuǎn)過(guò)來(lái),這樣就沒(méi)有具體的參數(shù)顯示,系統(tǒng)會(huì)默認(rèn)用“***”代替具體的信息值,并提示用戶在車型報(bào)價(jià)頁(yè)面進(jìn)行車輛挑選、預(yù)訂。圖4-4在線訂車頁(yè)面4.3后臺(tái)功能模塊后臺(tái)模塊有管理用戶會(huì)員信息、管理新聞信息、管理車輛信息、管理加盟商信息、管理訂單信息、管理用戶留言信息。根據(jù)用戶權(quán)限的不同,有不同的顯示界面。管理員有最高的權(quán)限,下面介紹后臺(tái)的主要功能模塊。
4.3.1后臺(tái)默認(rèn)界面此界面為系統(tǒng)后臺(tái)登陸后的默認(rèn)界面。圖4-5后臺(tái)默認(rèn)頁(yè)面4.3.2用戶管理此頁(yè)面為系統(tǒng)用戶的管理界面,只有系統(tǒng)管理員才能夠管理用戶,因此只有是系統(tǒng)管理員登陸的時(shí)候才顯示此界面,而普通會(huì)員則不顯示此界面。圖4-6用戶管理頁(yè)面
添加用戶,包括用戶名、性別、登錄密碼、用戶郵箱,確認(rèn)信息后,點(diǎn)擊提交按鈕交給系統(tǒng)進(jìn)行用戶的添加處理。圖4-7添加用戶頁(yè)面4.3.3租車管理此頁(yè)面是管理租賃車輛的管理模塊,列出所有車輛信息,管理員能夠點(diǎn)擊查看按鈕進(jìn)行詳細(xì)查閱,并可進(jìn)行修改;點(diǎn)擊刪除按鈕時(shí)刪除該車輛對(duì)應(yīng)的記錄。圖4-8后臺(tái)租車管理頁(yè)面
添加車輛信息界面,填寫汽車車名、汽車類型、車輛的服務(wù)商、車位、日租金額、月租金額、車輛押金、更新汽車的數(shù)量等信息,用戶填寫完詳細(xì)信息后點(diǎn)擊確定按鈕后由系統(tǒng)進(jìn)行車輛信息的添加操作。圖4-9后臺(tái)添加車輛頁(yè)面4.3.4訂單管理此界面用來(lái)管理訂單信息模塊,列出所有訂單信息,用戶能夠點(diǎn)擊修改按鈕進(jìn)行詳細(xì)查閱,并可進(jìn)行修改;點(diǎn)擊刪除按鈕時(shí)刪除該訂單對(duì)應(yīng)的記錄。圖4-10后臺(tái)訂單管理頁(yè)面核心代碼:<%Connectionconn=null;Statementstmt=null;ResultSetrst=null;StringstrSQL="";intPageSize=15;intPage=1;inttotalPage=1;inttotalrecord=0;try{Class.forName("com.mysql.jdbc.Driver");}catch(ClassNotFoundExceptionce){out.print(ce.getMessage());}try{conn=DriverManager.getConnection("jdbc:mysql://localhost/qczl","root","root");stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);strSQL="SELECT*fromorderinfowheredisable=0orderbyiddesc";rst=stmt.executeQuery(strSQL);if(rst.next()){rst.last();totalrecord=rst.getRow();rst.first();}if(totalrecord%PageSize==0)totalPage=totalrecord/PageSize;elsetotalPage=(int)Math.floor(totalrecord/PageSize)+1;if(totalPage==0)totalPage=1;if(request.getParameter("Page")==null||request.getParameter("Page").equals(""))Page=1;elsetry{Page=Integer.parseInt(request.getParameter("Page"));}catch(NumberFormatExceptione){Page=1;}if(Page<1)Page=1;if(Page>totalPage)Page=totalPage;rst.absolute((1)*PageSize+1);out.print("<tableborder=1>");out.print("<tr><td>Oid</td><td>Uid</td><td>Cid</td><td>orderdate</td><td>returndate</td><td>聯(lián)系人</td><td>電話</td><td>身份證</td><td>需求</td><td>狀態(tài)</td><td>操作</td></tr>");for(intiPage=1;iPage<=PageSize;iPage++) {out.print("<tr><td>"+rst.getInt("id")+"</td>"); out.print("<td>"+rst.getInt("userid")+"</td>"); out.print("<td>"+rst.getInt("busid")+"</td>"); out.print("<td>"+rst.getString("orderdate")+"</td>"); out.print("<td>"+rst.getString("returndate")+"</td>"); out.print("<td>"+rst.getString("user")+"</td>"); out.print("<td>"+rst.getString("tel")+"</td>"); out.print("<td>"+rst.getString("idcard")+"</td>"); out.print("<td>"+rst.getString("needs")+"</td>"); if("1".equals(rst.getString("state"))){out.print("<td>"+"未出庫(kù)"+"</td>");out.print("<td><ahref=updateO0?s="+"c"+rst.getInt("id")+">受理</a></td></tr>"); }elseif("0".equals(rst.getString("state"))){out.print("<td>"+"已出庫(kù)"+"</td>");out.print("<td><ahref=updateO0?s="+"h"+rst.getInt("id")+">還車</a></td></tr>");} if(!rst.next())break; }out.print("</table>");}catch(SQLExceptione){System.out.print(e.getMessage());}finally{if(stmt!=null){stmt.close();} if(conn!=null){conn.close();}}%>在用戶歸還車輛后點(diǎn)擊還車,這位條記錄就不會(huì)在訂單管理里面顯示,自動(dòng)在訂單記錄里面顯示。這樣能夠使管理員方便直觀的管理訂單。圖4-11后臺(tái)訂單記錄頁(yè)面4.3.5留言管理此界面用來(lái)管理留言信息模塊,列出所有留言信息,用戶能夠點(diǎn)擊修改按鈕進(jìn)行詳細(xì)查閱,并可進(jìn)行修改;點(diǎn)擊刪除按鈕時(shí)刪除該留言對(duì)應(yīng)的一條記錄。圖4-12后臺(tái)留言管理頁(yè)面在后臺(tái)留言管理頁(yè)面上點(diǎn)擊回復(fù)后進(jìn)入留言的修改頁(yè)面,在這里能夠?qū)τ脩舻牧粞赃M(jìn)行回復(fù)。圖4-13后臺(tái)回復(fù)用戶留言頁(yè)面核心代碼:<%request.setCharacterEncoding("gbk");response.setContentType("text/html;charset=gbk");Stringmid=request.getParameter("id");Messagemessage=newMessage();message=MessageDao.selectContentByID(Integer.parseInt(mid));%><formaction="updateM"method="post"><divstyle="display:none"><inputtype="text"name="id"value="<%=message.getId()%>"/></div><tablewidth="440"height="235"border="0"align="center"><tr><tdcolspan="2"align="center"><h3>更新留言</h3></td></tr><tr><tdwidth="49">昵稱</td><tdwidth="381"><inputtype="text" name="name"value="<%=message.getName()%>"size="20"/></td></tr><tr><td>性別</td><td><inputtype="text"name="sex" value="<%=message.getSex()%>"size="7"/></td></tr><tr><td>郵件</td><td><inputtype="text"name="email"value="<%=message.getEmail()%>"size="7"/></td></tr><tr><td>留言時(shí)間</td><td><inputtype="text"name="gbdate" value="<%=message.getGbdate()%>"size="7"/></td></tr><tr><tdheight="77">內(nèi)容</td><td><textareaname="content"style="font-size:12px;width:325px; height:80px;border:1pxsolid#009CEC;"><%=message.getContent()%></textarea></td><tr><td>回復(fù)時(shí)間</td><td><inputtype="text"name="redate"value="<%=newjava.text.SimpleDateFormat("yyyy-MM-dd").format(newDate())%>"size="7"/></td></tr></tr><tr><tdheight="77">回復(fù)</td><td><textareaname="recontent"style="font-size:12px;width:325px;height:80px;border:1pxsolid#009CEC;"><%=message.getRecontent()%></textarea></tr><tr><tdcolspan="2"><inputtype="submit"name="sub"value="確定"><inputtype="reset"name="res"value="重置"></td></tr></table></form>
4.4問(wèn)題解決(1)連接數(shù)據(jù)庫(kù)的實(shí)現(xiàn) privatefinalStringDBDRIVER="com.mysql.jdbc.Driver"; privatefinalStringDBURL="jdbc:mysql://localhost/qczl"; privatefinalStringDBUSER="root"; privatefinalStringDBPASSWORD="root"; privateConnectionconn=null; publicDBuser() {try{ Class.forName(DBDRIVER); conn=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD)}catch(Exceptione){} } publicConnectiongetConnection()//取得數(shù)據(jù)庫(kù)連接 {returnconn;} publicvoidclose()//關(guān)閉數(shù)據(jù)庫(kù)連接 { try{ conn.close(); }catch(Exceptione){} }(2)字符串過(guò)濾的實(shí)現(xiàn)注冊(cè)登錄過(guò)程中,輸入登錄名夾雜中文和英文,在數(shù)據(jù)庫(kù)中顯示為亂碼數(shù)字。 request.setCharacterEncoding("GBK"); response.setCharacterEncoding("GBK");(3)上傳圖片的實(shí)現(xiàn)在更新車輛的過(guò)程中,每次都要重新上傳一次圖片。更新頁(yè)面中出現(xiàn)車輛的圖片,當(dāng)需要修改汽車圖片時(shí),再瀏覽上傳圖片即可。上傳圖片用組件,導(dǎo)入commons-fileupload-1.2.1.jar、commons-fileupload.jar、commons-io-1.3.2.jar包。將圖片上傳到系統(tǒng)固定文件夾下面,并將具體圖片路徑存儲(chǔ)到數(shù)據(jù)庫(kù)表中,在頁(yè)面調(diào)用時(shí)將路徑放到img的src里面就能夠?qū)D片調(diào)用出來(lái)。<imgsrc="<%=c.getImg()%>(4)郵件格式問(wèn)題限制的實(shí)現(xiàn)游客注冊(cè)時(shí)填寫的郵件,除了要限制它的長(zhǎng)度外還得限制郵件的格式。functionvalidate(){varstrEmail=document.getElementById("email").value;varreg=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;if(reg.test(strEmail))returntrue;else{alert("郵箱格式不正確");returnfalse;}(5)分頁(yè)問(wèn)題處理的實(shí)現(xiàn)publicvoidsetPageSize(intpageSize){this.pageSize=pageSize;}/***//***初始化分頁(yè)信息*/publicvoidinit(){this.isFirstPage=isFirstPage();this.isLastPage=isLastPage();this.hasPreviousPage=isHasPreviousPage();this.hasNextPage=isHasNextPage();}/***//***以下判斷頁(yè)的信息,只需getter方法(is方法)即可*/publicbooleanisFirstPage(){returncurrentPage==1;}publicbooleanisLastPage(){returncurrentPage==totalPage;}publicbooleanisHasPreviousPage(){returncurrentPage!=1;}publicbooleanisHasNextPage(){returncurrentPage!=totalPage;}/***//***計(jì)算總頁(yè)數(shù),靜態(tài)方法,供外部直接經(jīng)過(guò)類名調(diào)用*@parampageSize每頁(yè)記錄數(shù)*@paramallRow總記錄數(shù)*@return總頁(yè)數(shù)*/publicstaticintcountTotalPage(finalintpageSize,finalintallRow){inttotalPage=allRow%pageSize==0?allRow/pageSize:allRow/pageSize+1;returntotalPage;}/***//***計(jì)算當(dāng)前頁(yè)開(kāi)始記錄@parampageSize每頁(yè)記錄數(shù)*@return當(dāng)前頁(yè)開(kāi)始記錄號(hào)@paramcurrentPage當(dāng)前第幾頁(yè)*/publicstaticintcountOffset(finalintpageSize,finalintcurrentPage){finalintoffset=pageSize*(current1);returnoffset;}/***//***計(jì)算當(dāng)前頁(yè),若為0或者請(qǐng)求的URL中沒(méi)有"?page=",則用1代替*@parampage傳入的參數(shù)(可能為空,即0,則返回1)*@return當(dāng)前頁(yè)*/publicstaticintcountCurrentPage(intpage){finalintcurPage=(page==0?1:page);returncurPage;} 5系統(tǒng)測(cè)試5.1系統(tǒng)測(cè)試系統(tǒng)測(cè)試,顧名思義是對(duì)已經(jīng)完成設(shè)計(jì)的系統(tǒng)進(jìn)行檢測(cè),在系統(tǒng)投入使用之前檢測(cè)出系統(tǒng)中的缺陷、漏洞等。系統(tǒng)測(cè)試是保證系統(tǒng)質(zhì)量,提高系統(tǒng)可靠性的主要的工作之一。系統(tǒng)測(cè)試的目的是以最少的人力、物力和時(shí)間投入,盡可能多地找出系統(tǒng)中潛在的各種錯(cuò)誤和缺陷。系統(tǒng)測(cè)試是軟件系統(tǒng)完成后必須經(jīng)歷的一個(gè)步驟。基于Web的系統(tǒng)測(cè)試與傳統(tǒng)的軟件測(cè)試不同,Web工程作為一門新興的學(xué)科,提倡使用一個(gè)過(guò)程和系統(tǒng)的方法來(lái)開(kāi)發(fā)高質(zhì)量的基于Web的系統(tǒng)。它使用合理的、科學(xué)的工程和管理原則,用嚴(yán)密的和系統(tǒng)的方法來(lái)開(kāi)發(fā)、發(fā)布和維護(hù)基于Web的系統(tǒng)。設(shè)計(jì)測(cè)試用例的方法一般有兩種:黑盒測(cè)試法和白盒測(cè)試法。(1)黑盒測(cè)試。如果已經(jīng)知道產(chǎn)品應(yīng)該具有的功能,能夠經(jīng)過(guò)測(cè)試來(lái)檢驗(yàn)每個(gè)功能是否夠正常使用,這樣的測(cè)試稱為黑盒測(cè)試,也叫做功能測(cè)試。黑盒測(cè)試法是將其看作一個(gè)黑盒子,完全不用考慮程序內(nèi)部結(jié)構(gòu)和處理過(guò)程。也就是說(shuō),黑盒是對(duì)程序接口進(jìn)行的測(cè)試,它只檢查程序功能是否能按照預(yù)期目標(biāo)正常使用,程序是否能正確的接收輸入的數(shù)據(jù)、處理數(shù)據(jù)、輸出數(shù)據(jù),并保證外部信息(如數(shù)據(jù)庫(kù))的完整性。(2)白盒測(cè)試。如果知道了產(chǎn)品內(nèi)部工作過(guò)程,能夠經(jīng)過(guò)測(cè)試來(lái)檢驗(yàn)產(chǎn)品內(nèi)部動(dòng)作是否按照預(yù)期的規(guī)定正常進(jìn)行,這樣的方法稱為白盒測(cè)試,也叫做結(jié)構(gòu)測(cè)試。與黑盒相反,白盒測(cè)試法的前提是把程序看做裝在一個(gè)透明的盒子里,按照程序內(nèi)部的邏輯測(cè)試程序,檢驗(yàn)程序中的每條是否都按預(yù)定的要求正確工作。5.2系統(tǒng)測(cè)試方案本系統(tǒng)采用的測(cè)試用例方法是黑盒測(cè)試法,將系統(tǒng)所有可能的值來(lái)檢查程序的正確性。需要測(cè)試的功能項(xiàng)是:(1)表單格式驗(yàn)證。(2)后臺(tái)頁(yè)面瀏覽權(quán)限。(3)系統(tǒng)中的分頁(yè)。(4)管理員后臺(tái)功能測(cè)試(車輛信息管理)。5.3系統(tǒng)檢測(cè)過(guò)程在Tomcat服務(wù)器上發(fā)布已經(jīng)完成的Web系統(tǒng),設(shè)置該系統(tǒng)的IP地址為服務(wù)器的IP地址(本地:localhost),設(shè)置端口為8080,域名為空。然后,打開(kāi)IE瀏覽器,在地址欄中輸入http://localhost:8080/qczl/,即可轉(zhuǎn)入系統(tǒng)的默認(rèn)首頁(yè)頁(yè)面。經(jīng)由瀏覽器能夠順利打開(kāi)服務(wù)器上系統(tǒng)的默認(rèn)頁(yè)面,說(shuō)明系統(tǒng)已經(jīng)發(fā)布成功。能夠經(jīng)由Web進(jìn)入系統(tǒng)進(jìn)行操作。系統(tǒng)編碼過(guò)程中出現(xiàn)的一些測(cè)試用例如下表所示:圖5-1測(cè)試用例表測(cè)試功能模塊測(cè)試點(diǎn)輸入輸出測(cè)試結(jié)果登錄模塊登錄用戶名:admin密碼:admin正常登錄登錄功能正常用戶名:不存在的密碼:任意提示出錯(cuò)登錄糾錯(cuò)功能正常后臺(tái)頁(yè)面瀏覽權(quán)限進(jìn)入后臺(tái)管理界面不登陸直接在瀏覽器上面輸入后臺(tái)頁(yè)面地址直接跳轉(zhuǎn)到后臺(tái)登陸界面頁(yè)面過(guò)濾功能正常并正常跳轉(zhuǎn)到用戶登錄后在瀏覽器上面輸入后臺(tái)管理頁(yè)面地址頁(yè)面正常跳轉(zhuǎn)到后臺(tái)管理頁(yè)面頁(yè)面過(guò)濾功能正常
續(xù)表5-1測(cè)試功能模塊測(cè)試點(diǎn)輸入輸出測(cè)試結(jié)果系統(tǒng)中的分頁(yè)測(cè)試頁(yè)面分頁(yè)功能在頁(yè)面上輸入-1、0、10000這樣的特殊數(shù)字當(dāng)數(shù)字小于1是跳轉(zhuǎn)到第一頁(yè);大于最大值時(shí)跳轉(zhuǎn)到末頁(yè)在頁(yè)面上溢出值控制功能正常在頁(yè)面上輸入正常數(shù)字,例如:1、2頁(yè)面正常跳轉(zhuǎn)到對(duì)應(yīng)的頁(yè)面頁(yè)面上分頁(yè)功能正常管理員后臺(tái)功能測(cè)試(車輛信息管理)查看功能管理員登錄進(jìn)入系統(tǒng)后臺(tái)后,點(diǎn)擊車輛管理界面上列出了要查看的車輛信息查看功能正常刪除功能管理員登錄進(jìn)入系統(tǒng)后臺(tái)后,點(diǎn)擊車輛管理頁(yè)面的刪除按鈕界面上顯示刪除成功,再次查看,已沒(méi)有該車輛信息刪除功能正常添加功能管理員登錄進(jìn)入系統(tǒng)后臺(tái)后,在添加車輛信息的界面上輸入需要添加的車輛信息,確認(rèn)后點(diǎn)擊確定按鈕界面上顯示添加成功,再次查看已有該車輛信息添加功能正常修改功能管理員登錄進(jìn)入系統(tǒng)后臺(tái)后,選擇需要修改的車輛信息,點(diǎn)擊修改按鈕進(jìn)入車輛修改頁(yè)面在頁(yè)面上顯示需要修改的車輛信息,填寫需要修改的車輛信息,確認(rèn)無(wú)誤后,點(diǎn)擊確認(rèn)按鈕提交信息。修改功能正常6總結(jié)經(jīng)過(guò)三個(gè)多月的設(shè)計(jì)和開(kāi)發(fā),基于JSP的汽車租賃管理系統(tǒng)已經(jīng)開(kāi)發(fā)完畢,其功能符合基本需求:管理員管理會(huì)員信息、管理租賃車輛信息、管理租賃車輛訂單信息、管理用戶的留言信息、管理加盟商信息等。會(huì)員能夠在線瀏覽租賃的車輛信息資源、發(fā)表留言、進(jìn)行分類查詢等基本信息。游客能夠在線查看車輛信息、匿名留言等基本功能。經(jīng)過(guò)對(duì)汽車租賃管理系統(tǒng)的開(kāi)發(fā),使我對(duì)系統(tǒng)開(kāi)發(fā)有了很大的了解。需求分析和系統(tǒng)設(shè)計(jì)的質(zhì)量往往是決定系統(tǒng)成功與否的決定性因素之一。在系統(tǒng)開(kāi)發(fā)過(guò)程中,利用軟件工程的知識(shí)理論開(kāi)發(fā)軟件,按“分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試”的步驟進(jìn)行,避免人為盲目的“想到哪里就做到哪里”。從數(shù)據(jù)庫(kù)的實(shí)現(xiàn)、系統(tǒng)功能的實(shí)現(xiàn)、系統(tǒng)關(guān)鍵技術(shù)的實(shí)現(xiàn)這三個(gè)角度對(duì)系統(tǒng)的部分實(shí)現(xiàn)進(jìn)行分析。在數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)中,合理制定了存儲(chǔ)過(guò)程,更加使系統(tǒng)中的查詢靈活。攔截器的設(shè)置,讓這個(gè)系統(tǒng)更加安全和貼近實(shí)際。在系統(tǒng)測(cè)試部分,從系統(tǒng)測(cè)試方法,系統(tǒng)測(cè)試內(nèi)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 進(jìn)行性肌萎縮的臨床護(hù)理
- 2025員工外派合同范文
- 上思縣高考試卷真題及答案
- 山西2017中考理綜試卷及答案
- 三選一中考試卷及答案
- 2025版關(guān)于個(gè)人借款合同范本
- 2025太陽(yáng)能光伏發(fā)電系統(tǒng)安裝合同范本
- 商業(yè)服務(wù)機(jī)器人的經(jīng)濟(jì)效益分析考核試卷
- 2025物業(yè)服務(wù)合同版范本
- 自動(dòng)售貨機(jī)行業(yè)市場(chǎng)細(xì)分與定位考核試卷
- 鐵碳合金的相圖解讀
- 2023年復(fù)旦大學(xué)博士研究生入學(xué)考試專家推薦信模板
- 中小學(xué)教師資格證面試課件講義
- 全國(guó)初中英語(yǔ)優(yōu)質(zhì)課大賽一等獎(jiǎng)《八年級(jí)Unit 6An old man》說(shuō)課課件
- 云南省飲用水生產(chǎn)企業(yè)名錄534家
- 湖北地區(qū)醫(yī)院詳細(xì)名單一覽表
- 麥肯錫入職培訓(xùn)第一課:讓職場(chǎng)新人一生受用的邏輯思考力新員工培訓(xùn)教材
- 蘇霍姆林斯基教育思想-PPT課件
- 脊髓損傷康復(fù)評(píng)定治療PPT課件
- 金屬壓鑄機(jī)的plc控制
- 進(jìn)制轉(zhuǎn)換(課堂PPT)
評(píng)論
0/150
提交評(píng)論