版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
PAGE論文論文作者姓名:申請學(xué)位專業(yè):申請學(xué)位類別:論文提交日期:摘要隨著Internet的迅速崛起,信息網(wǎng)絡(luò)化成為時代的主題。許多行業(yè)在經(jīng)營管理過程中對計算機技術(shù)的依賴程度不斷增強。對于自行車行業(yè)來說,由于自行車的普及以及自行車工業(yè)的發(fā)展,自行車租賃成為近年興起的一新興行業(yè),其傳統(tǒng)的手工管理方式不但浪費人力、時間,而且管理復(fù)雜多樣、易出差錯,為了減輕工作人員的工作負(fù)擔(dān),我們利用計算機來完成這一工作,使管理工作變得更加準(zhǔn)確、高效、清晰,自行車租賃管理系統(tǒng)有效的解決了紙質(zhì)手工處理業(yè)務(wù)時效率低下和數(shù)據(jù)信息易丟失的問題,使用戶查詢車輛信息更快捷,更便于管理員對車輛和用戶的管理,這樣大大提高了工作效率。本設(shè)計的開發(fā)是基于B/S結(jié)構(gòu),采用JSP程序設(shè)計語言及SQL2005數(shù)據(jù)庫進行開發(fā)自行車租賃行業(yè)管理信息系統(tǒng);論文首先闡述了自行車租賃行業(yè)管理信息系統(tǒng)的開發(fā),并對該系統(tǒng)進行了較詳細的需求分析;然后探討了該系統(tǒng)需要實現(xiàn)的設(shè)計方案,該系統(tǒng)主要包括前臺:用戶管理,角色管理,權(quán)限管理,分店管理,自行車資源類型管理,自行車查詢,租賃,結(jié)算等功能,最后在測試與分析過程中,該系統(tǒng)表現(xiàn)出了運行穩(wěn)定、可靠和實用等特性,具有一定的實用價值。關(guān)鍵詞:管理系統(tǒng);JSP;數(shù)據(jù)庫AbstractWiththerapidriseoftheInternet,informationnetworkhasbecomethemainthemeofthetimes.Manyindustriesintheprocessofmanagementandoperationdependsoncomputertechnologyunceasingenhancement.Fortheautomotiveindustry,becauseofthepopularizationofcarsandthedevelopmentofautomobileindustry,carrentalhasbecomeanewindustryinrecentyears,thetraditionalmanualmanagementisnotonlyawasteofmanpower,time,andmanagecomplex,errorprone,inordertoreducetheworkloadofthestaff,weusecomputertocompletethiswork,makemanagementhasbecomemoreaccurate,efficient,clear,carrentalmanagementsystemisaneffectivesolutiontothepapermanualprocessingbusinessefficiencyanddatainformationiseasilylostproblems,allowinguserstoquerythevehicleinformationmorequickly,moreconvenientfortheadministratorofthevehicleandusermanagement,whichgreatlyimprovestheworkefficiency.DevelopmentofthisdesignisbasedonB/Sstructure,usingJSPprogramminglanguageandSQL2005databasemanagementinformationsystemdevelopmentofcarrentalindustry;thispaperdescribesthedevelopmentofmanagementinformationsystemofthecarrentalindustry,andthesystemisanalyzedindetail;thendiscussesdesignschemeofthesystemneedtobeimplemented,thesystemincludingfrontdesk:usermanagement,rolemanagement,rightsmanagement,branchmanagement,automotiveresourcestypemanagement,carrental,query,andotherfunctions,finally,throughtestingandanalyzing,itshowsthissystemisstable,reliableandpracticalcharacteristics,andhasacertainpracticalvalue.Keywords:website;JSP;database目錄自行車租賃行業(yè)管理信息系統(tǒng)設(shè)計與開發(fā) 01引言 11.1課題背景 11.2本課題研究的意義 11.3國內(nèi)外研究情況 12開發(fā)環(huán)境與相關(guān)技術(shù) 32.1JSP技術(shù) 32.1.1JAVA簡介 32.1.2JSP簡介 32.2Myeclipse介紹 42.3SQL2005數(shù)據(jù)庫 42.4Browser/Server(B/S)結(jié)構(gòu) 43系統(tǒng)需求分析及設(shè)計 63.1需求分析 63.2系統(tǒng)設(shè)計 63.2.1系統(tǒng)功能 63.2.2系統(tǒng)結(jié)構(gòu) 63.3數(shù)據(jù)庫設(shè)計 73.3.1數(shù)據(jù)庫需求分析 73.3.2數(shù)據(jù)庫的邏輯結(jié)構(gòu)分析 73.3.3數(shù)據(jù)庫物理表結(jié)構(gòu)設(shè)計 84系統(tǒng)實現(xiàn) 104.1登入界面 104.2系統(tǒng)用戶管理界面 114.3分店管理界面 134.4自行車類型管理界面 164.5自行車管理界面 194.6自行車添加界面 224.7客戶管理界面 224.8租賃管理界面 235系統(tǒng)測試 255.1添加測試 255.2登入測試 255.3界面測試 255.4測試分析 25結(jié)論 27參考文獻 28致謝 29第25頁共44頁1引言1.1課題背景隨著生活水平的不斷提高,人們對自行車的需求越來越大,也有能力來租車消費。但中國現(xiàn)有自行車保有量難以充分滿足需求,其次,購買私車還不能普及,從個人來說,租車是最好的,買車一次性投入大,購車的手續(xù)多,養(yǎng)車費用高,而私車的利用率一般不高,閑置時間較長;出現(xiàn)交通事故后,處理手續(xù)太煩瑣。而租車則有很大的靈活性,既不會占用大量資金,也不會出現(xiàn)閑置,車況有保證,出差到外地也可以駕駛車輛。而且租賃車車型可選擇,客戶既能承受,又能滿足多樣化的需求。而且,從社會角度看,租賃車輛屬于公共用車的范疇,它既緩解了現(xiàn)階段財政控購與企業(yè)單位用車之間的矛盾,提高了資金利用率,同時也符合社會車輛總量控制原則,可在一定程度上緩解交通擁擠;從發(fā)展角度看,自行車租賃業(yè)的發(fā)展不僅可以帶動中國的新車銷售,同時還可以推動中國二手車的經(jīng)營,為舊車交易注入新的內(nèi)容;自行車租賃的特殊作用,可以帶動多種相關(guān)行業(yè)的發(fā)展,融合產(chǎn)業(yè)間的聯(lián)系,成為第二產(chǎn)業(yè)與第三產(chǎn)業(yè)間的聯(lián)系紐帶。得益于以上三個方面的原因,自行車租賃業(yè)在我國迅速崛起,業(yè)務(wù)量也是越來越多,對信息的處理要求也是越來高,傳統(tǒng)的自行車管理人員已不滿足自行車租賃業(yè)務(wù)的需求發(fā)展。租賃管理就是對車輛信息和客戶信息的管理,主要包括車輛的出租狀態(tài)、車輛的基本信息、定單的管理等。由于這些過程間的關(guān)系復(fù)雜,有一對一的關(guān)系,一對多的關(guān)系,也有多對多的關(guān)系,所有這些工作使管理工作變得量大而又復(fù)雜,以前包括現(xiàn)在還有很多租賃公司采用人工管理,直接導(dǎo)致了錯誤的產(chǎn)生,服務(wù)質(zhì)量的低下。租賃管理系統(tǒng)的開發(fā)使得這一狀況得到了根本的改善。1.2本課題研究的意義我們利用計算的龐大的存儲空間,高性能的處理效率,高度可靠的數(shù)據(jù)安全,清晰的可視化數(shù)據(jù)等,直到達到減少勞動力提高勞動質(zhì)量的目的。通過具有網(wǎng)絡(luò)功能的自行車租賃管理系統(tǒng),客戶可以通過網(wǎng)絡(luò)查閱相關(guān)的自行車租賃情況,企業(yè)的管理人員可以根據(jù)客戶的實情況進行管理,具有很強的實用性,節(jié)省了人力物力,還提高了服務(wù)質(zhì)量和經(jīng)濟效益。
。1.3國內(nèi)外研究情況據(jù)了解,國外自行車租賃行業(yè)經(jīng)過近百年的發(fā)展史,如今已較為成熟和完善,其最大特點便是成為了一個“寡頭”行業(yè),規(guī)?;慕?jīng)營也幫助它們降低了運營管理成本,價格、服務(wù)更具優(yōu)勢。且跨行業(yè)的合作更為廣泛,如自行車租賃業(yè)與金融、保險、航空運輸、旅游、酒店服務(wù)、自行車制造等多行業(yè)的合作更為緊密,通過對客戶需求的全方位服務(wù),實現(xiàn)自行車租賃持續(xù)的發(fā)展動力。回到國內(nèi),雖然中國自行車租賃行業(yè)發(fā)展時間還很短,但近幾年的發(fā)展迅猛,在特點上也呈現(xiàn)向國際接軌的態(tài)勢,如以一嗨租車為首的全國連鎖品牌的出現(xiàn),就改變了過去小微租車企業(yè)占據(jù)市場的現(xiàn)狀,純電子商務(wù)化的管理模式,也使得這個行業(yè)的規(guī)?;l(fā)展成為可能,為它將來的“寡頭化”奠定了基礎(chǔ);同時,隨著國人消費觀念的轉(zhuǎn)變,經(jīng)濟、便捷的租車出行方式將越來越盛行,如同發(fā)達國家那樣成為企業(yè)、個人的\o""用車首選方式之一,租車企業(yè)與\o"汽車"自行車生產(chǎn)商以及上下游相關(guān)產(chǎn)業(yè)的結(jié)合也將更加緊密,創(chuàng)造大量就業(yè)機會,拉動消費,實現(xiàn)產(chǎn)業(yè)鏈的良性循環(huán)。2開發(fā)環(huán)境與相關(guān)技術(shù)本系統(tǒng)是采用JSP編程技術(shù)和SQL2005數(shù)據(jù)庫,在WindowsXP操作系統(tǒng)環(huán)境下,采用Myeclipse開發(fā)工具以及SSH2框架進行設(shè)計與開發(fā)完成的基于B/S結(jié)構(gòu)的學(xué)生意見管理系統(tǒng)。2.1JSP技術(shù)2.1.1JAVA簡介.Java語言誕生于20世紀(jì)90年代的初期,最初是以智能家電的芯片語言出現(xiàn)的。但是很快,人們發(fā)現(xiàn)了它有更廣闊的用武之地,由于它適用于Internet環(huán)境,引起計算機界的廣泛關(guān)注,迅速發(fā)展成計算機網(wǎng)絡(luò)編程語言。Java語言備受推崇,因其確實可稱得上是新一代編程語言,具有眾多優(yōu)點,它簡單、面向?qū)ο?、可移植、與硬件無關(guān)、系統(tǒng)強健安全、具有很高的性能,并提供了分布性、多線程、動態(tài)性的支持。2.1.2JSP簡介JSP(JavaServerPages)是由Sun公司在java語言上開發(fā)出來的一種動態(tài)網(wǎng)頁制作技術(shù),JSP規(guī)范是Web服務(wù)器、應(yīng)用服務(wù)器、交易系統(tǒng)、以及開發(fā)工具供應(yīng)商間廣泛合作的結(jié)果,使您可以將網(wǎng)頁中的動態(tài)部分和靜態(tài)的HTML相分離。⑴將內(nèi)容的生成和顯示進行分離使用JSP技術(shù),Web頁面開發(fā)人員可以使用HTML或者XML標(biāo)識來設(shè)計和格式化最終頁面。使用JSP標(biāo)識或者小腳本來生成頁面上的動態(tài)內(nèi)容。生成內(nèi)容的邏輯被封裝在標(biāo)識和JavaBeans組件中,并且捆綁在小腳本中,所有的腳本在服務(wù)器端運行。⑵強調(diào)可重用的組件絕大多數(shù)JSP頁面信賴于可重用的、跨平臺的組件(JavaBeans或者EnterpriseJavaBeansTM組件)來執(zhí)行應(yīng)用程序所要求的更為復(fù)雜的處理。開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,井使得這些組件為更多的使用者或者客戶團體所使用[6]。⑶采用標(biāo)識簡化頁面開發(fā)Web頁面開發(fā)人員不會都是熟悉腳本語言的編程人員。JSP技術(shù)封裝了許多功能,這些功能是在生成與JSP相關(guān)的XML標(biāo)識的動態(tài)內(nèi)容時所需要的。標(biāo)準(zhǔn)的JSP標(biāo)識能夠訪問和實例化JavaBeans組件、設(shè)置或者檢索組件屬性、下載Applet,以及執(zhí)行用其他方法更難于編碼和耗時的功能。⑷健壯性與安全性由于JSP頁面的內(nèi)置腳本語言是基于Java編程語言的,且都被編譯為JavaServlet,它就具有Java技術(shù)的所有好處,包括健壯的存儲管理和安全性[7]。⑸良好的移植性作為Java平臺的一部分,JSP擁有Java編程語言“一次編寫,各處運行”的特點。隨著越來越多的供應(yīng)商將JSP支持添加到他們的產(chǎn)品中,可以使用自己所選擇的服務(wù)器和工具,而且更改工具或服務(wù)器并不影響當(dāng)前的使用。⑹企業(yè)級的擴展性和性能當(dāng)與Java2平臺,企業(yè)版(J2EE)和EnterpriseJavaBeans技術(shù)整合時,JSP頁面將提供企業(yè)級的擴展性和性能,這對于虛擬企業(yè)中部署基于Web的應(yīng)用是必需的。2.2Myeclipse介紹MyEclipse企業(yè)級工作平臺(MyEclipseEnterpriseWorkbench,簡稱MyEclipse)是對EclipseIDE的擴展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。MyEclipse是一個十分優(yōu)秀的用于開發(fā)Java,J2EE的Eclipse插件集合,MyEclipse的功能非常強大,支持也十分廣泛,尤其是對各種開源產(chǎn)品的支持十分不錯。MyEclipse目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC數(shù)據(jù)庫鏈接工具等多項功能??梢哉fMyEclipse幾乎囊括了目前所有主流開源產(chǎn)品的專屬eclipse開發(fā)工具。2.3mysql數(shù)據(jù)庫利用JSP結(jié)合數(shù)據(jù)庫來開發(fā)網(wǎng)站使得網(wǎng)站更具有交互性,因為沒有數(shù)據(jù)庫支持的靜態(tài)網(wǎng)頁已經(jīng)無法滿足人們對于網(wǎng)絡(luò)的需求了。數(shù)據(jù)庫在各行各業(yè)中是必不可少的,下面就來介紹數(shù)據(jù)庫方面的相關(guān)知識。SQL是英文StructuredQueryLanguage的縮寫,意思為結(jié)構(gòu)化查詢語言。它的主要功能就是同各種數(shù)據(jù)庫建立聯(lián)系,進行溝通。按照ANSI(美國國家標(biāo)準(zhǔn)協(xié)會)的規(guī)定,SQL被作為關(guān)系型數(shù)據(jù)庫管理系統(tǒng)的標(biāo)準(zhǔn)語言。SQL語句可以用來各種各樣的操作,例如更新數(shù)據(jù)庫中的數(shù)據(jù),從數(shù)據(jù)庫中提取數(shù)據(jù)等。MicrosoftSQLServer(基于結(jié)構(gòu)化查詢語言的數(shù)據(jù)庫服務(wù)器)是基于客戶/服務(wù)器結(jié)構(gòu)的數(shù)據(jù)庫管理系統(tǒng)。用戶通過使用客戶系統(tǒng)從服務(wù)器檢索信息并進行本地操作,服務(wù)器關(guān)注數(shù)據(jù)庫進程,而客戶則關(guān)注信息的表示。此數(shù)據(jù)庫管理系統(tǒng)能夠存儲大容量的數(shù)據(jù),能夠保證數(shù)據(jù)的安全性、維護數(shù)據(jù)的完整性,還具有自動高效的機制以及運行分布式處理等。2.4Browser/Server(B/S)結(jié)構(gòu)B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改進的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過WWW瀏覽器來實現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實現(xiàn),形成所謂三層3-tier結(jié)構(gòu)。這樣就大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護與升級的成本和工作量,降低了用戶的總體成本(TCO)。以目前的技術(shù)看,局域網(wǎng)建立B/S結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用,并通過Internet/Intranet模式下數(shù)據(jù)庫應(yīng)用,相對易于把握、成本也是較低的。它是一次性到位的開發(fā),能實現(xiàn)不同的人員,從不同的地點,以不同的接入方式(比如LAN,WAN,Internet等)訪問和操作共同的數(shù)據(jù)庫;它能有效地保護數(shù)據(jù)平臺和管理訪問權(quán)限,服務(wù)器數(shù)據(jù)庫也很安全。特別是在JAVA這樣的跨平臺語言出現(xiàn)之后,B/S架構(gòu)管理軟件更是方便、快捷、高效。3系統(tǒng)需求分析及設(shè)計3.1需求分析一個典型的自行車租賃網(wǎng)站主要功能有:(1)用戶管理功能。管理員可以對系統(tǒng)的用戶進行增刪改查。(2)分店管理的功能。管理員可以對系統(tǒng)的分店進行增刪改查(3)自行車類別管理功能。管理員可以對系統(tǒng)的自行車類別進行增刪改查。(4)車輛管理功能。分店店長可以對車輛進行增刪改查。(5)客戶管理。店員可以對系統(tǒng)的客戶進行增刪改查。(6)車輛查詢??梢詫ο到y(tǒng)所具有的車輛進行查詢(7)租賃功能??梢詾榭蛻暨M行自行車租賃。(7)歸還功能??梢詾榭蛻暨M行自行車歸還,結(jié)算。3.2系統(tǒng)設(shè)計根據(jù)前面章節(jié)需求分析的情況,結(jié)合本系統(tǒng)所要實現(xiàn)的功能,具體設(shè)計方案如下。3.2.1系統(tǒng)功能通過對需求的分析,一個自行車租賃網(wǎng)站應(yīng)包括以下的主要角色:系統(tǒng)管理員,分店店長,店員。每個功能都具有自己相應(yīng)的權(quán)限。完成不同的操作3.2.2系統(tǒng)結(jié)構(gòu)圖3-1系統(tǒng)功能模塊圖3.3數(shù)據(jù)庫設(shè)計3.3.1數(shù)據(jù)庫需求分析(1)游戲數(shù)據(jù)的準(zhǔn)備。首先要搜集上傳的自行車數(shù)據(jù)。這些自行車數(shù)據(jù)可以分為三類:紙面記錄、電子數(shù)據(jù)(XML、Access、Excel等文件)、網(wǎng)上數(shù)據(jù)。無論對于哪一種數(shù)據(jù),都要對其進行檢查,修正有問題的數(shù)據(jù),刪除重復(fù)和過期的記錄。在檢查的同時,還要對這些數(shù)據(jù)進行分析,為制定自行車目錄方案做準(zhǔn)備。(2)自行車數(shù)據(jù)方案的制定。自行車數(shù)據(jù)方案制定的目的在于:①對自行車進行科學(xué)、靈活地分類,方便客戶迅速從少則幾萬,多則幾十萬甚至上百萬種自行車中找出所需自行車。②使系統(tǒng)支持強大、方便、快捷的查詢功能,實現(xiàn)模糊查詢和智能查詢。③高效的自行車數(shù)據(jù)方案能提高數(shù)據(jù)庫性能,提高網(wǎng)頁瀏覽速度。(3)用戶信息表的制定。用戶信息表內(nèi)保存著自行車網(wǎng)站中用戶個人所擁有的個人信息和資料,是自行車網(wǎng)站的后臺管理人員進行自行車數(shù)據(jù)的設(shè)計規(guī)劃和進行決策的依據(jù)和參考。用戶ID則是用戶個人身份證明的依據(jù)。3.3.2數(shù)據(jù)庫的邏輯結(jié)構(gòu)分析對于系統(tǒng)用戶信息數(shù)據(jù)庫,有以下數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu):用戶信息:用戶ID(自動編號)、用戶姓名、電話號碼、登入名,登入密碼,用戶角色。自行車類型信息:ID(自動編號),類型名稱。分店信息:ID(自動編號),分店名稱,分店地址,分店電話。會員信息:ID(自動編號),會員編號,金額,電話,真實姓名。自行車信息:ID(自動編號),所屬類型,車牌號,租賃價格,狀態(tài),描述。租賃信息:ID(自動編號),自行車id,會員id,租賃開始時間,租賃結(jié)束時間,狀態(tài),總金額。3.3.3數(shù)據(jù)庫物理表結(jié)構(gòu)設(shè)計本系統(tǒng)需要建立6個數(shù)據(jù)表(1)admins表:記錄系統(tǒng)用戶基本信息,如表1所示。表1系統(tǒng)用戶表(admins)序號列名數(shù)據(jù)類型長度是否必填1idIntNotnull2Usernamevarchar50Null3passwordvarchar50Null4FidIntNull5Typevarchar50Null6Telvarchar50Null7Realnamevarchar50Null(2)car表:記錄自行車信息,如表2所示。表2自行車表(car)序號列名數(shù)據(jù)類型長度是否必填1IdIntNotnull2Nonvarchar50Null3Descsnvarchar50Null4Moneynvarchar50Null5Statesnvarchar50Null6TidIntNull(3)fd表:記錄分店信息,如表3所示。表3分店表(fd)序號列名數(shù)據(jù)類型長度是否必填1IdIntNotnull2Namesvarchar50Null3Telvarchar50Null4Addressvarchar50Null(4)types表:記錄自行車類別信息,如表4所示。表4自行車類別表(types)序號列名數(shù)據(jù)類型長度是否必填1IdIntNotnull2Namesvarchar50Null(5)members表:記錄客戶信息,如表5所示。表5客戶表(members)序號列名數(shù)據(jù)類型長度是否必填1IdIntNotnull2Novarchar50Null3Moneysvarchar50Null4Realnamevarchar505Telvarchar50(6)zl表:記錄租賃信息,如表1所示。表1租賃信息表(zl)序號列名數(shù)據(jù)類型長度是否必填1idIntNotnull2MidInt50Null3cidInt50Null4Statesvarchar50Null5BtimesDatetimeNull6EtimesDatetimeNull7Totlemoneysvarchar50Null4系統(tǒng)實現(xiàn)4.1登入界面系統(tǒng)的第一個頁面就是登入界面,作為一個系統(tǒng),您必須具有一定的權(quán)限才可以訪問,所以我們想要進入這個自行車租賃系統(tǒng),就必須從登入界面進入,登入見面比較簡單,主要有一個背景圖片,加上兩個輸入框,一個登入按鈕組成,等用戶輸入用戶名和密碼,點擊登入按鈕的時候,程序會調(diào)用相應(yīng)的登入代碼,進行用戶的登入操作。如果用戶存在,則跳轉(zhuǎn)到系統(tǒng)首界面,如果不存在,則提示用戶不存在。圖4-1登入界面主要代碼如下:Stringusername=request.getParameter("username"); Stringpassword=request.getParameter("password"); HttpSessionsession=request.getSession(); Stringsql="select*fromuserswhereusername='"+username +"'andpassword='"+password+"'"; System.out.println(sql); DBUtilutil=newDBUtil(); Connectionconn=util.openConnection(); try{ PreparedStatementpstmt=conn.prepareStatement(sql); ResultSetrs=pstmt.executeQuery(); intindex=0; while(rs.next()){ session.setAttribute("id",rs.getInt("id")); session.setAttribute("username",rs.getString("username")); session.setAttribute("type","用戶"); index++; break; } if(index>0){ response.sendRedirect("index2.jsp"); }else{ response.sendRedirect("login2.jsp"); } }catch(SQLExceptione){ e.printStackTrace(); }finally{ util.closeConn(conn); }4.2系統(tǒng)用戶管理界面點擊左邊功能樹的用戶管理界面,就能進入對系統(tǒng)用戶管理的界面,這主要是對系統(tǒng)用戶的增刪改查工作,這是一個系統(tǒng)運行的基本,因為只有有了用戶,才可以讓用戶登入進行一些系統(tǒng)操作。主要是系統(tǒng)的用戶的用戶名,密碼,姓名,電話,權(quán)限等。輸入相應(yīng)信息,驗證數(shù)據(jù)完整性和數(shù)據(jù)庫中是否存在,如果一切數(shù)據(jù)正常,那添加成功,如果不正常則提示用戶相應(yīng)的信息。點擊刪除按鈕會刪除一個用戶。圖4-2系統(tǒng)用戶管理主要代碼如下:try{ if(mode!=null&&mode.equals("list")){ this.list(n,m,conn,request,response,pageNo); } if(mode!=null&&mode.equals("khlist")){ this.listkh(n,m,conn,request,response,pageNo); } if(mode!=null&&mode.equals("add")){ Stringusername=request.getParameter("username"); Stringpassword=request.getParameter("password"); Stringrealname=request.getParameter("realname"); Stringtype=request.getParameter("type"); Stringtel=request.getParameter("tel"); Stringfid=request.getParameter("fid"); StringsqlAdd="insertintoadmins(username,password,type,realname,tel,fid)values('" +username+"','"+password+"','"+type+"','"+realname+"','"+tel+"',"+fid+")"; Statementstmt=conn.createStatement(); stmt.executeUpdate(sqlAdd); this.list(n,m,conn,request,response,pageNo); } if(mode!=null&&mode.equals("addkh")){ Stringusername=request.getParameter("username"); Stringpassword=request.getParameter("password"); StringsqlAdd="insertintousers(username,password)values('" +username+"','"+password+"')"; Statementstmt=conn.createStatement(); stmt.executeUpdate(sqlAdd); this.listkh(n,m,conn,request,response,pageNo); } if(mode!=null&&mode.equals("modifypwd")){ HttpSessionsession=request.getSession(); Stringid=session.getAttribute("id").toString(); Stringpassword=request.getParameter("password"); Stringsqlmodify="updateuserssetpassword='"+password +"'whereid="+id; Statementstmt=conn.createStatement(); stmt.executeUpdate(sqlmodify); request.getRequestDispatcher("admin/userpwdupdate.jsp") .forward(request,response); } if(mode!=null&&mode.equals("deletes")){ Stringid=request.getParameter("id"); Stringsqldelete="deletefromadminswhereid="+id; Statementstmt=conn.createStatement(); stmt.executeUpdate(sqldelete); this.list(n,m,conn,request,response,pageNo); } }catch(SQLExceptione){ e.printStackTrace(); }finally{ util.closeConn(conn); } }4.3分店管理界面點擊左邊功能樹的分店管理功能,會對系統(tǒng)的所以分店進行管理,我們知道,系統(tǒng)中的分店管理非常重要,這是下面程序進行的基礎(chǔ)。填寫相應(yīng)的分店信息,點擊保存,對分店進行添加,點擊刪除可以刪除一個分店。圖4-3分店管理界面主要代碼如下:request.setCharacterEncoding("UTF-8"); Stringmode=request.getParameter("mode"); StringpageNoStr=request.getParameter("pageNoStr")==null?"1" :request.getParameter("pageNoStr"); intm=0; intn=200;//每頁大小 intpageNo=Integer.parseInt(pageNoStr); if(pageNo==1){//首頁 }else{ m=(pageNo-1)*n; } DBUtilutil=newDBUtil(); Connectionconn=util.openConnection(); try{ if(mode!=null&&mode.equals("list")){ this.list(n,m,conn,request,response,pageNo); } if(mode!=null&&mode.equals("add")){ Stringnames=request.getParameter("names"); Stringaddress=request.getParameter("address"); Stringtel=request.getParameter("tel"); StringsqlAdd="insertintofd(names,address,tel)values('" +names+"','"+address+"','"+tel+"')"; Statementstmt=conn.createStatement(); stmt.executeUpdate(sqlAdd); this.list(n,m,conn,request,response,pageNo); } if(mode!=null&&mode.equals("modifyBefore")){ Stringid=request.getParameter("id"); Stringsql="select*fromfdwhereid="+id; PreparedStatementpstmt=conn.prepareStatement(sql); ResultSetrs=pstmt.executeQuery(); while(rs.next()){ Fdbean=newFd(); bean.setId(rs.getInt("id")); bean.setTel(rs.getString("tel")); bean.setNames(rs.getString("names")); bean.setAddress(rs.getString("address")); request.setAttribute("bean",bean); break; } request.getRequestDispatcher("fdmodify.jsp") .forward(request,response); } if(mode!=null&&mode.equals("modify")){ Stringid=request.getParameter("id"); Stringaddress=request.getParameter("address"); Stringtel=request.getParameter("tel"); Stringsqlmodify="updatefdsettel='"+tel+"',address='"+address+"'whereid="+id; Statementstmt=conn.createStatement(); stmt.executeUpdate(sqlmodify); this.list(n,m,conn,request,response,pageNo); } if(mode!=null&&mode.equals("deletes")){ Stringid=request.getParameter("id"); Stringsqldelete="deletefromfdwhereid="+id; Statementstmt=conn.createStatement(); stmt.executeUpdate(sqldelete); this.list(n,m,conn,request,response,pageNo); } }catch(SQLExceptione){ e.printStackTrace(); }finally{ util.closeConn(conn); } } publicvoidlist(intn,intm,Connectionconn,HttpServletRequestrequest, HttpServletResponseresponse,intpageNo){ Stringsql="SELECTTOP" +n +"*FROM(" +"SELECTROW_NUMBER()OVER(ORDERBYid)ASRowNumber,*FROMfd)A" +"WHERERowNumber>"+m; Stringsql2="selectcount(*)fromfd"; PreparedStatementpstmt1; inttotle=0; ResultSetrs=null; try{ pstmt1=conn.prepareStatement(sql); PreparedStatementpstmt2=conn.prepareStatement(sql2); rs=pstmt1.executeQuery(); ResultSetrs2=pstmt2.executeQuery(); rs2.next(); totle=rs2.getInt(1); inttotlePage=totle/n; inttotlePageY=totle%n; if(totlePageY!=0){ totlePage=totlePage+1; } List<Fd>list=newArrayList<Fd>(); while(rs.next()){ Fdbean=newFd(); bean.setId(rs.getInt("id")); bean.setTel(rs.getString("tel")); bean.setNames(rs.getString("names")); bean.setAddress(rs.getString("address")); list.add(bean); } Pagepage=newPage(); page.setPageNo(pageNo); page.setTotlePage(totlePage); page.setTotle(totle); page.setList(list); request.setAttribute("page",page); request.getRequestDispatcher("fdlist.jsp").forward(request, response); }catch(Exceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } }4.4自行車類型管理界面點擊自行車類型管理界面,可以進入自行車類型管理界面,在這個界面,對系統(tǒng)中所以自行車的類型進行維護。圖4-4自行車類型管理界面主要代碼如下:request.setCharacterEncoding("UTF-8"); Stringmode=request.getParameter("mode"); StringpageNoStr=request.getParameter("pageNoStr")==null?"1" :request.getParameter("pageNoStr"); intm=0; intn=200;//每頁大小 intpageNo=Integer.parseInt(pageNoStr); if(pageNo==1){//首頁 }else{ m=(pageNo-1)*n; } DBUtilutil=newDBUtil(); Connectionconn=util.openConnection(); try{ if(mode!=null&&mode.equals("list")){ this.list(n,m,conn,request,response,pageNo); } if(mode!=null&&mode.equals("add")){ Stringnames=request.getParameter("names"); StringsqlAdd="insertintotypes(names)values('" +names+"')"; Statementstmt=conn.createStatement(); stmt.executeUpdate(sqlAdd); this.list(n,m,conn,request,response,pageNo); } if(mode!=null&&mode.equals("modifyBefore")){ Stringid=request.getParameter("id"); Stringsql="select*fromtypeswhereid="+id; PreparedStatementpstmt=conn.prepareStatement(sql); ResultSetrs=pstmt.executeQuery(); while(rs.next()){ Typesbean=newTypes(); bean.setId(rs.getInt("id")); bean.setNames(rs.getString("names")); request.setAttribute("bean",bean); break; } request.getRequestDispatcher("typesmodify.jsp") .forward(request,response); } if(mode!=null&&mode.equals("deletes")){ Stringid=request.getParameter("id"); Stringsqldelete="deletefromtypeswhereid="+id; Statementstmt=conn.createStatement(); stmt.executeUpdate(sqldelete); this.list(n,m,conn,request,response,pageNo); } }catch(SQLExceptione){ e.printStackTrace(); }finally{ util.closeConn(conn); } } publicvoidlist(intn,intm,Connectionconn,HttpServletRequestrequest, HttpServletResponseresponse,intpageNo){ Stringsql="SELECTTOP" +n +"*FROM(" +"SELECTROW_NUMBER()OVER(ORDERBYid)ASRowNumber,*FROMtypes)A" +"WHERERowNumber>"+m; Stringsql2="selectcount(*)fromtypes"; PreparedStatementpstmt1; inttotle=0; ResultSetrs=null; try{ pstmt1=conn.prepareStatement(sql); PreparedStatementpstmt2=conn.prepareStatement(sql2); rs=pstmt1.executeQuery(); ResultSetrs2=pstmt2.executeQuery(); rs2.next(); totle=rs2.getInt(1); inttotlePage=totle/n; inttotlePageY=totle%n; if(totlePageY!=0){ totlePage=totlePage+1; } List<Types>list=newArrayList<Types>(); while(rs.next()){ Typesbean=newTypes(); bean.setId(rs.getInt("id")); bean.setNames(rs.getString("names")); list.add(bean); } Pagepage=newPage(); page.setPageNo(pageNo); page.setTotlePage(totlePage); page.setTotle(totle); page.setList(list); request.setAttribute("page",page); request.getRequestDispatcher("typeslist.jsp").forward(request, response); }catch(Exceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } }4.5自行車管理界面分店店長登入系統(tǒng)后,店家自行車管理界面,可以對系統(tǒng)的自行車進行管理。這是系統(tǒng)的核心部分,因為是自行車租賃系統(tǒng),所以系統(tǒng)必須有自行車,自行車被添加后默認(rèn)是可被租用的狀態(tài)。圖4-5自行車管理界面主要代碼如下:Stringtid=request.getParameter("tid"); Stringno=request.getParameter("no"); Stringmoneys=request.getParameter("moneys"); Stringdescs=request.getParameter("descs"); StringsqlAdd="insertintocar(tid,no,moneys,states,descs)values(" +tid +",'" +no +"','" +moneys +"','空閑','" +descs +"')"; Statementstmt=conn.createStatement(); stmt.executeUpdate(sqlAdd); this.list(n,m,conn,request,response,pageNo); } if(mode!=null&&mode.equals("zl")){ Stringmid=request.getParameter("mid"); Stringcarid=request.getParameter("carid"); StringsqlAdd="insertintozl(mid,cid,btimes,states)values(" +mid+","+carid+",getdate(),'租賃')"; Statementstmt=conn.createStatement(); stmt.executeUpdate(sqlAdd); Stringsqlupdate="updatecarsetstates='租賃'whereid=" +carid; Statementstmt2=conn.createStatement(); stmt2.executeUpdate(sqlupdate); this.list3(n,m,conn,request,response,pageNo); } if(mode!=null&&mode.equals("js")){ Stringid=request.getParameter("id"); Stringsql="select*fromzlwhereid="+id; PreparedStatementpstmt=conn.prepareStatement(sql); ResultSetrs=pstmt.executeQuery(); intcid=0; Stringmoneys="0"; Datebtimes=newDate(); Dateetimes=newDate(); while(rs.next()){ cid=rs.getInt("cid"); btimes=rs.getDate("btimes"); break; } longDAY=24L*60L*60L*1000L; longdayNumber=(etimes.getTime()-btimes.getTime())/DAY; Stringsql2="select*fromcarwhereid="+cid; PreparedStatementpstmt2=conn.prepareStatement(sql2); ResultSetrs2=pstmt2.executeQuery(); while(rs2.next()){ moneys=rs2.getString("moneys"); break; } Stringtotlemoneys=(Double.parseDouble(moneys)*dayNumber)+""; StringsqlAdd="updatezlsetstates='歸還',etimes=getdate(),totlemoneys='"+totlemoneys+"'whereid=" +id; Statementstmt=conn.createStatement(); stmt.executeUpdate(sqlAdd); Stringsqlupdate="updatecarsetstates='空閑'whereid="+cid; Statementstmt2=conn.createStatement(); stmt2.executeUpdate(sqlupdate); this.list4(n,m,conn,request,response,pageNo); }4.6自行車添加界面在自行車添加界面,填寫完整自行車的信息,可以添加成功一個自行車,如果輸入數(shù)據(jù)有誤,那么添加不成功。圖4-6自行車添加界面主要代碼如下:Stringtid=request.getParameter("tid"); Stringno=request.getParameter("no"); Stringmoneys=request.getParameter("moneys"); Stringdescs=request.getParameter("descs"); StringsqlAdd="insertintocar(tid,no,moneys,states,descs)values(" +tid +",'" +no +"','" +moneys +"','空閑','" +descs +"')"; Statementstmt=conn.createStatement(); stmt.executeUpdate(sqlAdd);4.7客戶管理界面分店店員可以對系統(tǒng)的客戶進行管理,包括客戶的姓名,身份證號,電話等等。圖4-7客戶管理界面主要代碼如下:Stringsql="SELECTTOP" +n +"*FROM(" +"SELECTROW_NUMBER()OVER(ORDERBYid)ASRowNumber,*FROMmembers)A" +"WHERERowNumber>"+m; Stringsql2="selectcount(*)frommembers"; PreparedStatementpstmt1; inttotle=0; ResultSetrs=null; try{ pstmt1=conn.prepareStatement(sql); PreparedStatementpstmt2=conn.prepareStatement(sql2); rs=pstmt1.executeQuery(); ResultSetrs2=pstmt2.executeQuery(); rs2.next(); totle=rs2.getInt(1); inttotlePage=totle/n; inttotlePageY=totle%n; if(totlePageY!=0){ totlePage=totlePage+1; } List<Member>list=newArrayList<Member>(); while(rs.next()){ Memberbean=newMember(); bean.setId(rs.getInt("id")); bean.setNo(rs.getString("no")); bean.setRealname(rs.getString("realname")); bean.setTel(rs.getString("tel")); list.add(bean); } Pagepage=newPage(); page.setPageNo(pageNo); page.setTotlePage(totlePage); page.setTotle(totle); page.setList(list); request.setAttribute("page",page); request.getRequestDispatcher("memberlist.jsp").forward(request, response);4.8租賃管理界面租賃是本系統(tǒng)的核心部分,下面重點闡述下:分店店員進入自行車租賃界面,查詢符合要求的自行車,注意這里只可以查詢到可以被租賃的自行車,已經(jīng)被租賃的自行車不會被查詢到,點擊后會的租賃就會選擇相應(yīng)的客戶進行租賃了,租賃之后會記錄租賃的時間,當(dāng)用戶進行歸還的時候,會記錄歸還時間然后進行結(jié)算,自行車狀態(tài)自動改為可被租賃狀態(tài)。圖4-8租賃管理界面主要代碼如下:Stringmid
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版泥水作業(yè)班組承包協(xié)議書
- 二零二五年度股權(quán)收益權(quán)轉(zhuǎn)讓合同范本與收益分配3篇
- 二零二五年航空航天零部件制造合同協(xié)議模板2025版3篇
- 二零二五年金融產(chǎn)品居間服務(wù)協(xié)議范本3篇
- 二零二五年度智能化設(shè)備技術(shù)入股合作協(xié)議范本3篇
- GRC材質(zhì)2024裝飾構(gòu)件定制合作協(xié)議版B版
- 二零二五版汽車租賃轉(zhuǎn)讓與保險責(zé)任合同2篇
- 2024混凝土施工勞務(wù)分包合同
- 2024年跨區(qū)域生態(tài)環(huán)境保護合作協(xié)議
- 西安工商學(xué)院《MAPLE編程及工程應(yīng)用》2023-2024學(xué)年第一學(xué)期期末試卷
- 2020小升初復(fù)習(xí)-小升初英語總復(fù)習(xí)題型專題訓(xùn)練-完形填空15篇
- 2023年浙江省公務(wù)員考試面試真題解析
- GB/T 5796.3-2022梯形螺紋第3部分:基本尺寸
- GB/T 16407-2006聲學(xué)醫(yī)用體外壓力脈沖碎石機的聲場特性和測量
- 簡潔藍色科技商業(yè)PPT模板
- 錢素云先進事跡學(xué)習(xí)心得體會
- 道路客運車輛安全檢查表
- 宋曉峰辣目洋子小品《來啦老妹兒》劇本臺詞手稿
- 附錄C(資料性)消防安全評估記錄表示例
- 噪音檢測記錄表
- 推薦系統(tǒng)之協(xié)同過濾算法
評論
0/150
提交評論