版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
多功能會員管理系統(tǒng)的設(shè)計(jì)摘要本文針對商業(yè)運(yùn)營中經(jīng)常采用的會員模式設(shè)計(jì)了會員信息管理系統(tǒng),論文介紹設(shè)計(jì)了開發(fā)該系統(tǒng)用到的關(guān)鍵技術(shù),如采用B/S結(jié)構(gòu),使用JSP編程、運(yùn)用MySQL建立數(shù)據(jù)庫、采用HTML,JavaScript等編程技術(shù)。本設(shè)計(jì)是采用B/S模式進(jìn)行開發(fā),對會員管理系統(tǒng)的功能模塊分為會員登錄、會員注冊、會員查詢、會員記錄、信息修改等;對功能實(shí)現(xiàn)的流程進(jìn)行分析,設(shè)計(jì)了數(shù)據(jù)表并編寫了相應(yīng)的控制程序。最終,在Windowsxp系統(tǒng)下采用Tomcat5.5配置Web服務(wù)器,使用JDBC方式連接MySQL5.1版數(shù)據(jù)庫,通過JSP程序,實(shí)現(xiàn)了最初設(shè)計(jì)的會員管理系統(tǒng)的各項(xiàng)功能。關(guān)鍵詞:B/S結(jié)構(gòu);JDBC鏈接;會員管理系統(tǒng)
MemberInformationManagementSystemAbstractThispaperintroducesthemembersofthemaintasksofinformationmanagementsystems,describedthesystemusedtodevelopthekeytechnologies,suchastheuseofB/Sstructure,usingJSPprogramming,usingMysoldatabases,usingHTML,JavaScriptandotherprogramming.ThissystemusestheB/Smodeofdevelopment,membershipmanagementsystemmodulesaredividedintomemberslogin,membershipregistration,membershipinquiries,membershipstatistics,informationchangesandotherfunctions;thesystemimplementationprocess,includingthemaindatatabledesign,implementation,flowanalysisandprogrampreparation.Afteranalysis,IhaveWindowsxpsystemswithTomcat5.5configuredWebserver,connectusingtheJDBCversionofMysol5.1databaseprogramdesignedandimplementedbywritingJSPMemberManagementSystem.Keywords:B/S;JDBC;MemberManagementSyste第一章緒論1.1選題的背景和意義會員管理系統(tǒng)是一個(gè)商業(yè)機(jī)構(gòu)管理睬員不可缺少的部分,它的內(nèi)容對于商業(yè)機(jī)構(gòu)的管理者來說是至關(guān)重要的,所以會員管理系統(tǒng)應(yīng)當(dāng)可認(rèn)為商業(yè)機(jī)構(gòu)的管理者提供充足的信息和快捷的查詢手段。一直以來人們使用傳統(tǒng)人工的方式管理睬員的基本檔案,這種管理方式存在著許多缺陷:效率低、保密性差,此外時(shí)間一長,將產(chǎn)生大量的文獻(xiàn)和數(shù)據(jù),對于查找、更新和維護(hù)都帶來了不少的困難。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻結(jié)識,它已進(jìn)入人類社會的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對會員進(jìn)行管理,具有著手工管理所無法比擬的優(yōu)點(diǎn)。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點(diǎn)可以極大地提高會員管理的效率,也是商業(yè)機(jī)構(gòu)的科學(xué)化、正規(guī)化管理,與先進(jìn)科學(xué)技術(shù)接軌的重要條件。因此,開發(fā)這樣一套管理軟件成為很有必要的事情,對于我們即將電子信息工程專業(yè)畢業(yè)的學(xué)員來說也是一件故意義的實(shí)踐活動。計(jì)算機(jī)已經(jīng)成為我們學(xué)習(xí)和工作的得力助手,使用其管理睬員有助于提高工作效率今天,計(jì)算機(jī)的價(jià)格已經(jīng)十分低廉,性能卻有了長足的進(jìn)步。它已經(jīng)被應(yīng)用于許多領(lǐng)域?,F(xiàn)在我國的中小商業(yè)機(jī)構(gòu)中會員的管理水平還停留在紙介質(zhì)的基礎(chǔ)上,這樣的機(jī)制已經(jīng)不能適應(yīng)時(shí)代的發(fā)展,由于它浪費(fèi)了許多人力和物力,在信息時(shí)代這種傳統(tǒng)的管理方法必然被計(jì)算機(jī)為基礎(chǔ)的信息管理所取代。我作為一個(gè)電子信息工程專業(yè)的畢業(yè)生,希望可以在這方面有所奉獻(xiàn)。改革的總設(shè)計(jì)師鄧小平同志說過“科學(xué)技術(shù)是第一生產(chǎn)力”,我希望能用我所學(xué)的知識編制出一個(gè)實(shí)用的程序來幫助商業(yè)機(jī)構(gòu)進(jìn)行更有效的會員管理。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻結(jié)識,它已進(jìn)入人類社會的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對會員信息進(jìn)行管理,具有手工管理所無法比擬的優(yōu)點(diǎn)。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點(diǎn)可以極大地提高會員管理的效率,也是進(jìn)行科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。隨著進(jìn)入二十一世紀(jì),計(jì)算機(jī)技術(shù)迅速向著網(wǎng)絡(luò)化、集成化方向發(fā)展。傳統(tǒng)的單機(jī)版應(yīng)用軟件正在逐漸退出舞臺,取而代之的是支持網(wǎng)絡(luò)、支持多種數(shù)據(jù)信息(多媒體)的新一代網(wǎng)絡(luò)版應(yīng)用軟件,而目前網(wǎng)絡(luò)版軟件中似乎存在著兩種不同的趨勢,一種是稱為客戶端——服務(wù)器的C/S結(jié)構(gòu)應(yīng)用系統(tǒng),另一種是稱為瀏覽器——服務(wù)器的B/S結(jié)構(gòu)應(yīng)用系統(tǒng)。而后者的特點(diǎn)是在客戶端直接采用了功能強(qiáng)大的瀏覽器軟件作為界面,其優(yōu)點(diǎn)在于軟件開發(fā)效率高,客戶端不受操作平臺的限制、也不受地區(qū)的限制,網(wǎng)絡(luò)傳輸量少,即合用于局域網(wǎng),更合用于Internet,并且投資小、見效快,用戶可以不必進(jìn)行服務(wù)器方面的投資,而是去租用,甚至是免費(fèi)使用ISP的服務(wù)器資源,因而受到越來越多中小型單位的青睞。因此,開發(fā)一套采用B/S結(jié)構(gòu)的會員信息管理系統(tǒng)就成為必要的事情。本系統(tǒng)正是采用B/S結(jié)構(gòu)開發(fā)的,該系統(tǒng)重要由會員注冊、會員查詢、消費(fèi)記錄、會員記錄分析、信息修改以及后臺管理等功能模塊組成,實(shí)現(xiàn)會員基本信息管理、消費(fèi)記錄記錄管理以及會員查詢管理等。本設(shè)計(jì)將在后面一一加以具體闡述。1.2國內(nèi)外研究現(xiàn)狀及發(fā)展趨勢【參考文獻(xiàn)1】管理信息系統(tǒng)(MIS)是進(jìn)行信息的采集、存儲、加工、維護(hù)和使用的系統(tǒng)。它是隨著管理科學(xué)和技術(shù)科學(xué)的發(fā)展而形成的。MIS的發(fā)展與計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展是緊密相關(guān)的,隨著Internet/Intranet技術(shù)的廣泛應(yīng)用,MIS的體系結(jié)構(gòu)也發(fā)生很大的變化,從以往基于C/S結(jié)構(gòu)的數(shù)據(jù)訪問及安全體系發(fā)展到當(dāng)前的基于B/S結(jié)構(gòu)體系。學(xué)生信息管理系統(tǒng)是典型的管理信息系統(tǒng)(MIS),其系統(tǒng)開發(fā)重要涉及數(shù)據(jù)庫的規(guī)劃設(shè)計(jì)與維護(hù)和客戶端應(yīng)用程序的開發(fā)兩個(gè)方面。對于前者規(guī)定建立起的數(shù)據(jù)庫具有完整性和一致性,且具有一定的數(shù)據(jù)安全性,而對于后者則規(guī)定程序界面和諧、功能完備,容易使用,具有流行軟件的操作習(xí)慣等特點(diǎn)。隨著學(xué)校的規(guī)模不斷擴(kuò)大,學(xué)生數(shù)量急劇增長,有關(guān)學(xué)生的各種信息也成倍增長。面對龐大的信息量,有必要開發(fā)會員信息管理系統(tǒng)來提高一個(gè)商業(yè)機(jī)構(gòu)的會員管理工作的效率。通過這樣的系統(tǒng),可以做到信息的規(guī)范管理、科學(xué)記錄和快速查詢,從而減少管理方面的工作量。鑒于上述管理信息系統(tǒng)的日趨成熟和收集信息的情況,該會員信息管理系統(tǒng)充足運(yùn)用MIS的總體思想,綜合應(yīng)用了B/S模式、MySQL5.1、JSP、JavaBean等技術(shù),較好地滿足了商業(yè)機(jī)構(gòu)的應(yīng)用需求。1.3本課題研究內(nèi)容本課題研究內(nèi)容為會員信息管理系統(tǒng),會員信息管理系統(tǒng)提供了會員相關(guān)管理功能,方便管理員對會員信息的添加、修改、刪除、查詢等操作。本系統(tǒng)開發(fā)的總體任務(wù)是實(shí)現(xiàn)一個(gè)理發(fā)店對其會員信息管理的系統(tǒng)化、規(guī)范化、自動化、達(dá)成提高會員管理效率的目的。重要內(nèi)容包過:(1)會員信息注冊模塊:1.管理員可以對會員進(jìn)行添加、刪除。2.會員可以查看自己的基本信息,添加、修改具體個(gè)人信息。(2)消費(fèi)記錄模塊管理員可以對會員的消費(fèi)記錄進(jìn)行查看、記錄、刪除。(3)會員信息修改模塊管理員可以對會員的注冊資料具體信息進(jìn)行修改。會員信息管理系統(tǒng)重要提供方便高效的管理功能以及網(wǎng)上的信息查閱平臺,管理員可以管理所有信息。該系統(tǒng)使用JSP編程語言,MySQL5.1數(shù)據(jù)庫以及ApacheTomcat作為開發(fā)平臺,運(yùn)用軟件工程思想方法,對系統(tǒng)進(jìn)行快速有效開發(fā),系統(tǒng)分為以下幾個(gè)方向:(1)產(chǎn)品展示。展示本店面提供的服務(wù)一覽。(2)數(shù)據(jù)庫連接。使程序能訪問數(shù)據(jù)庫,并能對其中的數(shù)據(jù)進(jìn)行操作。(3)數(shù)據(jù)錄入。通過程序能實(shí)現(xiàn)往數(shù)據(jù)庫中增長記錄。(4)數(shù)據(jù)查詢。通過各種查詢組合實(shí)現(xiàn)對數(shù)據(jù)的精確選取。(5)數(shù)據(jù)維護(hù)。涉及對數(shù)據(jù)的修改及刪除操作。(6)實(shí)時(shí)驗(yàn)證注冊信息的有效性,通過AJAX技術(shù)實(shí)現(xiàn)頁面動態(tài)無刷新訪問。系統(tǒng)依據(jù)ApacheTomcat構(gòu)架的運(yùn)營平臺,運(yùn)用Eclipse進(jìn)行整體框架的設(shè)計(jì),連接數(shù)據(jù)庫,最后進(jìn)行全面的系統(tǒng)調(diào)試而完畢。1.4本課題研究的目的及重要特色一、研究目的:建立一個(gè)B/S架構(gòu)的會員信息管理系統(tǒng),實(shí)現(xiàn)管理員對會員信息的獲取、記錄等各環(huán)節(jié)的計(jì)算機(jī)管理。二、重要特點(diǎn):1、實(shí)現(xiàn)會員信息管理的基本規(guī)定。2、界面和諧,簡樸易用。3、系統(tǒng)操作簡樸,性能強(qiáng)大,易于維護(hù)。4、系統(tǒng)支持多平臺,在Windows、Linux下均可以正常運(yùn)營。
第二章會員管理系統(tǒng)分析2.1系統(tǒng)需求設(shè)計(jì)2.1.1環(huán)境需求設(shè)計(jì)1)硬件設(shè)備可登陸互聯(lián)網(wǎng)的計(jì)算機(jī),基本配置為CPU為IntelP42.0GHz以上,內(nèi)存1G以上,可以正常運(yùn)營Tomcat5.5服務(wù)器和MySQL數(shù)據(jù)庫。2)軟件設(shè)備支持Windows2023、WindowsXP、WindowsServer2023、WindowsVista,各種版本的Linux/Unix/Solaris,以及其他操作系統(tǒng);支持中文顯示的internet瀏覽器系統(tǒng),涉及InternetExplorer6.0及以上,Netscape,Firefox等;Tomcat5.5以及MySQL數(shù)據(jù)庫。2.1.2技術(shù)需求設(shè)計(jì)使用Eclipse3.4開發(fā)前臺JSP網(wǎng)頁,顯示結(jié)果。運(yùn)用CSS美觀界面,運(yùn)用JavaScript實(shí)現(xiàn)頁面驗(yàn)證部分功能。用MySQL5.1數(shù)據(jù)庫管理系統(tǒng)存儲整個(gè)系統(tǒng)的數(shù)據(jù)。采用java語言編寫業(yè)務(wù)邏輯解決代碼,采用jdbc技術(shù)連接數(shù)據(jù)庫,使用SQL語句操作來管理和維護(hù)數(shù)據(jù)庫。 運(yùn)用AJAX技術(shù)實(shí)時(shí)檢測注冊用戶信息是否已經(jīng)存在,提高用戶體驗(yàn)。架構(gòu)設(shè)計(jì)圖如下圖2.1視圖視圖Jsp/html頁面jsp頁面相應(yīng)的解決代碼模型層重要業(yè)務(wù)解決邏輯Java代碼MySQL數(shù)據(jù)庫JDBC圖2.1架構(gòu)設(shè)計(jì)圖2.2功能模塊劃分2.2.1會員功能模塊分析本系統(tǒng)劃分為6大功能模塊:會員注冊、會員查詢、消費(fèi)記錄、會員記錄、信息修改、和客戶留言。會員管理系統(tǒng)中會員所實(shí)現(xiàn)的功能模塊如圖2.2所示。
會員管理系統(tǒng)會員管理系統(tǒng)會員注冊會員查詢消費(fèi)記錄會員記錄信息修改客戶留言圖各個(gè)功能模塊分析會員注冊模塊管理員登錄系統(tǒng)后,可以新增一個(gè)會員信息。會員信息涉及如下7個(gè)方面:卡號姓名生日證件號聯(lián)系方式本次消費(fèi)消費(fèi)積分設(shè)立會員注冊提交后,會在界面上顯示出該會員的具體信息。并且界面上提供一個(gè)修改會員信息的鏈接。會員查詢模塊系統(tǒng)提供了會員查詢功能??梢暂斎肟ㄌ柣蛐彰蜃詴r(shí)間進(jìn)行查詢。查詢采用的是模糊匹配技術(shù)。查詢結(jié)果顯示在界面上,在查詢結(jié)果頁面上,還可以追加本次消費(fèi)金額以及為本次消費(fèi)設(shè)立積分功能。消費(fèi)記錄模塊在該界面上,提供了查詢系統(tǒng)中所有會員消費(fèi)記錄的功能。查詢結(jié)果以表格形式顯示出來。在各條記錄的末尾,提供刪除按鈕。單擊該刪除按鈕,可以將本條記錄刪除。查詢結(jié)果涉及如下幾個(gè)方面:卡號姓名生日證件號碼聯(lián)系方式消費(fèi)時(shí)間消費(fèi)金額單次積分會員記錄模塊在本模塊中,管理員可以查看系統(tǒng)中所有注冊會員的具體一覽信息。信息涉及如下幾個(gè)方面:卡號姓名生日證件號碼聯(lián)系方式消費(fèi)時(shí)間消費(fèi)金額總積分信息修改模塊本頁面中,提供了管理員用戶名密碼修改的功能。客戶留言模塊本頁面中,提供客戶反饋意見的功能。在該界面上,客戶可以輸入如下幾點(diǎn):個(gè)人姓名、電子郵箱、聯(lián)系電話、留言內(nèi)容。2.2.3.系統(tǒng)運(yùn)營流程根據(jù)會員管理系統(tǒng)的功能分析,系統(tǒng)的實(shí)現(xiàn)流程圖如圖3-2-3在些輸入管理員用戶名和密碼才干進(jìn)入系統(tǒng)進(jìn)行操作,超級管理員用戶名和密碼分別都為:admin。系統(tǒng)登錄會員增長會員修改信息編輯會員記錄
系統(tǒng)登錄會員增長會員修改信息編輯會員記錄
是否通過身份驗(yàn)證是否通過身份驗(yàn)證未通過
圖2.3
第三章系統(tǒng)設(shè)計(jì)使用技術(shù)介紹3.1JSP(JavaServerPages)和JavaBean技術(shù)介紹3.1.1JSP概述JSP(JavaServerPages)是由SunMicrosystems公司提倡、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點(diǎn)類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁HTML文獻(xiàn)(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文獻(xiàn)(*.jsp)。3.1.2JSP工作原理JSP文獻(xiàn)第一次被請求時(shí),JSP引擎把該JSP文獻(xiàn)轉(zhuǎn)換成為一個(gè)servlet。而這個(gè)引擎自身也是一個(gè)servlet,在JSWDK(java服務(wù)器網(wǎng)絡(luò)開發(fā)包)中,它就是JspServlet。JSP引擎先把該JSP文獻(xiàn)轉(zhuǎn)換成一個(gè)Java源文獻(xiàn),在轉(zhuǎn)換時(shí)假如發(fā)現(xiàn)jsp文獻(xiàn)有任何語法錯(cuò)誤,轉(zhuǎn)換過程將中斷,并向服務(wù)端和客戶端輸出犯錯(cuò)信息;假如轉(zhuǎn)換成功,JSP引擎用javac把該Java源文獻(xiàn)編譯成相應(yīng)的class文獻(xiàn)。然后創(chuàng)建一個(gè)該SERVLET的實(shí)例,該SERVLET中的jspInit()方法被執(zhí)行,jspInit()方法在servlet的生命周期中只被執(zhí)行一次。然后jspService()方法被調(diào)用來解決客戶端的請求。對每一個(gè)請求,JSP引擎創(chuàng)建一個(gè)新的線程來解決該請求。假如有多個(gè)客戶端同時(shí)請求該JSP文獻(xiàn),則JSP引擎會創(chuàng)建多個(gè)線程。每個(gè)客戶端請求相應(yīng)一個(gè)線程。以多線程方式執(zhí)行可大大減少對系統(tǒng)的資源需求,提高系統(tǒng)的并發(fā)量及響應(yīng)時(shí)間.但應(yīng)當(dāng)注意多線程的編程限制,由于該servlet始終駐于內(nèi)存,所以響應(yīng)是非??斓?。假如.jsp文獻(xiàn)被修改了,服務(wù)器將根據(jù)設(shè)立決定是否對該文獻(xiàn)重新編譯,假如需要重新編譯,則將編譯結(jié)果取代內(nèi)存中的servlet,并繼續(xù)上述解決過程。雖然JSP效率很高,但在第一次調(diào)用時(shí)由于需要轉(zhuǎn)換和編譯而有一些輕微的延遲。此外,假如在任何時(shí)候假如由于系統(tǒng)資源局限性的因素,JSP引擎將以某種不擬定的方式將servlet從內(nèi)存中移去。當(dāng)這種情況發(fā)生時(shí)jspDestroy()方法一方面被調(diào)用,然后servlet實(shí)例便被標(biāo)記加入"垃圾收集"解決。jspInit()及jspDestory()格式如下:可在jspInit()中進(jìn)行一些初始化工作,如建立與數(shù)據(jù)庫的連接,或建立網(wǎng)絡(luò)連接,從配置文獻(xiàn)中取一些參數(shù)等,在jspDestory()中釋放相應(yīng)的資源。3.1.3JavaBean技術(shù)介紹JavaBean是一種軟件組件模型,它與其他軟件對象互相作用,決定如何建立和重用軟件組件,這些可重用軟件組件被稱為Bean。Bean使用現(xiàn)有的Bean幫助開發(fā)新的計(jì)劃,進(jìn)而建立它們之間的關(guān)系。JavaBean是基于Sun公司的JavaBean規(guī)范的,可在編程工具中被可視化解決的可復(fù)用的軟件組件。因此JavaBean具有4個(gè)基本特性:獨(dú)立性;可重用性;在可視化開發(fā)工具中使用用戶可以使用JavaBean將功能、解決、值、數(shù)據(jù)庫訪問和其他任何可以用java代碼發(fā)明的對象進(jìn)行打包,并且其他的開發(fā)者可以通過內(nèi)部的JSP頁面、Servlet、其他JavaBean、applet程序或者應(yīng)用來使用這些對象。這樣JavaBean就變成了一個(gè)組件了,達(dá)成代碼的重用性和隔離性,在調(diào)用JavaBean的時(shí)候,不用關(guān)心JavaBean的實(shí)現(xiàn)過程,只要知道方法的功能、輸入?yún)?shù)和輸出參數(shù)就可以了。3.2B/S體系結(jié)構(gòu)介紹在B/S體系結(jié)構(gòu)系統(tǒng)中,用戶通過瀏覽器向分布在網(wǎng)絡(luò)上的許多服務(wù)器發(fā)出請求,服務(wù)器對瀏覽器的請求進(jìn)行解決,將用戶所需信息返回到瀏覽器。B/S結(jié)構(gòu)簡化了客戶機(jī)的工作,客戶機(jī)上只需配置少量的客戶端軟件。服務(wù)器將擔(dān)負(fù)更多的工作,對數(shù)據(jù)庫的訪問和應(yīng)用程序的執(zhí)行將在服務(wù)器上完畢。瀏覽器發(fā)出請求,而其余如數(shù)據(jù)請求、加工、結(jié)果返回以及動態(tài)網(wǎng)頁生成等工作所有由WebServer完畢。事實(shí)上B/S體系結(jié)構(gòu)是把二層C/S結(jié)構(gòu)的事務(wù)解決邏輯模塊從客戶機(jī)的任務(wù)中分離出來,由Web服務(wù)器單獨(dú)組成一層來承擔(dān)其任務(wù),這樣客戶機(jī)的壓力減輕了,把負(fù)荷分派給了Web服務(wù)器。這種三層體系結(jié)構(gòu)如圖1所示。數(shù)據(jù)庫數(shù)據(jù)庫BrowseWeb服務(wù)器圖3..1采用該結(jié)構(gòu)軟件的優(yōu)勢在于:(1)無須開發(fā)客戶端軟件,維護(hù)和升級方便;(2)可跨平臺操作,任何一臺機(jī)器只要裝有WWW瀏覽器軟件,均可作為客戶機(jī)來訪問系統(tǒng);(3)具有良好的開放性和可擴(kuò)充性;(4)可采用防火墻技術(shù)來保證系統(tǒng)的安全性,有效地適應(yīng)了當(dāng)前用戶對管理信息系統(tǒng)的新需求。這種三層結(jié)構(gòu)層與層之間互相獨(dú)立,任何一層的改變不影響其他層的功能。三層B/S結(jié)構(gòu)將應(yīng)用的三個(gè)部分明確的分開:表達(dá)部分、應(yīng)用邏輯部分、數(shù)據(jù)訪問部分。這三個(gè)部分在邏輯上獨(dú)立的分開,分別加以實(shí)現(xiàn),稱之為:客戶端、應(yīng)用服務(wù)器、數(shù)據(jù)庫服務(wù)器。而在客戶端和應(yīng)用服務(wù)器之間加入一個(gè)WEB服務(wù)器,就形成了一種特殊的B/S結(jié)構(gòu):Browser/Server,只在客戶端安裝瀏覽器軟件即可??蛻舳耸褂肐nternetExplore時(shí),就可以讓InternetExplore變成為可以解決數(shù)據(jù)的應(yīng)用系統(tǒng)。由于這種模式是提供一個(gè)跨平臺的、簡樸一致的應(yīng)用環(huán)境,實(shí)現(xiàn)了開發(fā)系統(tǒng)與應(yīng)用系統(tǒng)的分離,因此避免了為多重不同的操作系統(tǒng)開發(fā)同一應(yīng)用系統(tǒng)的反復(fù)操作,便于用戶群的擴(kuò)展、變化以及應(yīng)用系統(tǒng)的管理。因此該結(jié)構(gòu)在管理信息系統(tǒng)開發(fā)領(lǐng)域中獲得飛速發(fā)展,成為應(yīng)用軟件開發(fā)中一種流行的體系結(jié)構(gòu).所以在開發(fā)本系統(tǒng)時(shí)采用這種模式。23.3AjaxAJAX全稱為“AsynchronousJavaScriptandXML”(異步JavaScript和XML),是一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的網(wǎng)頁開發(fā)技術(shù)。根據(jù)Ajax提出者JesseJamesGarrett建議,它:使用XHTML+CSS來表達(dá)信息;使用JavaScript操作DOM(DocumentObjectModel)進(jìn)行動態(tài)顯示及交互;使用XML和XSLT進(jìn)行數(shù)據(jù)互換及相關(guān)操作;使用XMLHttpRequest對象與Web服務(wù)器進(jìn)行異步數(shù)據(jù)互換;使用JavaScript將所有的東西綁定在一起。使用SOAP以XML的格式來傳送方法名和方法參數(shù)。類似于DHTML或LAMP,AJAX不是指一種單一的技術(shù),而是有機(jī)地運(yùn)用了一系列相關(guān)的技術(shù)。事實(shí)上,一些基于AJAX的“派生/合成”式(derivative/composite)的技術(shù)正在出現(xiàn),如“AFLAX”。AJAX的應(yīng)用使用支持以上技術(shù)的Web瀏覽器作為運(yùn)營平臺。這些瀏覽器目前涉及:InternetExplorer、Mozilla、Firefox、Opera、Konqueror及MacOS的Safari。但是Opera不支持XSL格式對象,也不支持XSLT。傳統(tǒng)的Web應(yīng)用允許用戶端填寫表單(form),當(dāng)送出表單時(shí)就向Web服務(wù)器發(fā)送一個(gè)請求。服務(wù)器接受并解決傳來的表單,然后送回一個(gè)新的網(wǎng)頁,但這個(gè)做法浪費(fèi)了許多頻寬,由于在前后兩個(gè)頁面中的大部分HTML碼往往是相同的。由于每次應(yīng)用的溝通都需要向服務(wù)器發(fā)送請求,應(yīng)用的回應(yīng)時(shí)間就依賴于服務(wù)器的回應(yīng)時(shí)間。這導(dǎo)致了用戶界面的回應(yīng)比本機(jī)應(yīng)用慢得多。與此不同,AJAX應(yīng)用可以僅向服務(wù)器發(fā)送并取回必需的數(shù)據(jù),它使用SOAP或其它一些基于XML的頁面服務(wù)接口(界面),并在客戶端采用JavaScript解決來自服務(wù)器的回應(yīng)。由于在服務(wù)器和瀏覽器之間互換的數(shù)據(jù)大量減少(大約只有本來的5%),結(jié)果我們就能看到回應(yīng)(服務(wù)器回應(yīng))更快的應(yīng)用(結(jié)果)。同時(shí)很多的解決工作可以在發(fā)出請求的客戶端機(jī)器上完畢,所以Web服務(wù)器的解決時(shí)間也減少了。傳統(tǒng)經(jīng)典的WEB程序架構(gòu)和AJAX架構(gòu)的web應(yīng)用程序的重要區(qū)別是Ajax模式在瀏覽器客戶端與服務(wù)器端之間增長了一個(gè)Ajax引擎,它負(fù)責(zé)發(fā)送和接受HTTP請求并執(zhí)行Ajax功能。傳統(tǒng)Web模式與Ajax模式的工作原理比較如圖3.2所示:圖3.2傳統(tǒng)Web模式與Ajax模式的工作原理圖23.4JavaScript技術(shù)介紹JavaScript是一種基于對象(object)和事件驅(qū)動(eventdriven)并具有安全性能的腳本語言。它的目的是與html超文本標(biāo)記語言、java腳本語言(java小程序)一起實(shí)現(xiàn)在一個(gè)web頁面中鏈接多個(gè)對象,與web客戶交互作用。它被嵌入HTML的文獻(xiàn)之中。通過JavaScript可以做到響應(yīng)用戶的需求事件(如表單的輸入),這樣當(dāng)一位使用者輸入一項(xiàng)信息時(shí),它不需要通過網(wǎng)絡(luò)傳送到服務(wù)器端進(jìn)行解決再傳回來的過程,而可以直接在客戶端進(jìn)行事件的解決。它的出現(xiàn)填補(bǔ)了html語言的缺陷。JavaScript是一種腳本語言,它采用小程序段的方式實(shí)現(xiàn)編程。像其它腳本語言同樣,JavaScript同樣已是一種解釋性語言,它提供了一個(gè)易的開發(fā)過程。
它的基本結(jié)構(gòu)形式與C、C++、VB、Delphi十分類似。但它不像這些語言同樣,需要先編譯,而是在程序運(yùn)營過程中被逐行地解釋。它與HTML標(biāo)記結(jié)合在一起,從而方便用戶的使用操作。3.5MySQL數(shù)據(jù)庫3.5.1數(shù)據(jù)庫介紹MySQL是瑞典的MySQLAB公司開發(fā)的一個(gè)可用于各種流行操作系統(tǒng)平臺的關(guān)系數(shù)據(jù)庫系統(tǒng),它具有客戶機(jī)/服務(wù)器體系結(jié)構(gòu)的分布式數(shù)據(jù)庫管理系統(tǒng)。MySQL完全合用于網(wǎng)絡(luò),用其建造的數(shù)據(jù)庫可在因特網(wǎng)上的任何地方訪問,因此,可以和網(wǎng)絡(luò)上任何地方的任何人共享數(shù)據(jù)庫。MySQL具有功能強(qiáng)、使用簡樸、管理方便、運(yùn)營速度快、可靠性高、安全保密性強(qiáng)等優(yōu)點(diǎn)。MySQL用C和C++編寫,它可以工作在許多平臺(Unix,Linux,Windows)上,提供了針對不同編程語言(C,C++,JAVA等)的API函數(shù);使用核心線程實(shí)現(xiàn)多線程,可以很好的支持多CPU;提供事務(wù)和非事務(wù)的存儲機(jī)制;快速的基于線程的內(nèi)存分派系統(tǒng);MySQL采用雙重許可,用戶可以在GNU許可條款下以免費(fèi)軟件或開放源碼軟件的方式使用MySQL軟件,也可以從MySQLAB公司獲得正式的商業(yè)許可。除了以上特點(diǎn),MySQL尚有一個(gè)最大的特點(diǎn),那就是在諸如UNIX這樣的操作系統(tǒng)上,它是免費(fèi)的,可從因特網(wǎng)上下載其服務(wù)器和客戶機(jī)軟件。并且還能從因特網(wǎng)上得到許多與其相配的第三方軟件或工具。而在Windows系統(tǒng)上,其客戶機(jī)程序和客戶機(jī)程序庫是免費(fèi)的。假如您正在尋找一種免費(fèi)的或不昂貴的數(shù)據(jù)庫管理系統(tǒng),可以有幾個(gè)選擇,如,MySQL、mSQL、Postgres(一種免費(fèi)的但不支持來自商業(yè)供應(yīng)商引擎的系統(tǒng))等。在將MySQL與其他數(shù)據(jù)庫系統(tǒng)進(jìn)行比較時(shí),所要考慮的最重要的因素是性能、支持、特性(與SQL的一致性、擴(kuò)展等等)、認(rèn)證條件和約束條件、價(jià)格等。相比之下,MySQL具有許多吸引人之處:速度快MySQL運(yùn)營速度不久。開發(fā)者聲稱MySQL也許是目前能得到的最快的數(shù)據(jù)庫。可訪問(MySQLWeb站點(diǎn)上的性能比較頁),調(diào)查一下這個(gè)性能。容易使用MySQL是一個(gè)高性能且相對簡樸的數(shù)據(jù)庫系統(tǒng),與一些更大系統(tǒng)的設(shè)立和管理相比,其復(fù)雜限度較低。價(jià)格低廉MySQL對多數(shù)個(gè)人用戶來說是免費(fèi)的。小巧MySQL數(shù)據(jù)庫體積小,占用硬盤空間不大。完全支持結(jié)構(gòu)化查詢語言MySQL可以運(yùn)用SQL(結(jié)構(gòu)化查詢語言),SQL是一種所有現(xiàn)代數(shù)據(jù)庫系統(tǒng)都選用的語言。也可以運(yùn)用支持ODBC(開放式數(shù)據(jù)庫連接)的應(yīng)用程序,ODBC是Microsoft開發(fā)的一種數(shù)據(jù)庫通信協(xié)議。高性能許多客戶機(jī)可同時(shí)連接到服務(wù)器。MySQL數(shù)據(jù)庫沒有用戶數(shù)的限制,多個(gè)客戶機(jī)可同時(shí)使用同一個(gè)數(shù)據(jù)庫??蛇\(yùn)用幾個(gè)輸入查詢并查看結(jié)果的界面來交互式地訪問MySQL。這些界面為:命令行客戶機(jī)程序、Web瀏覽器或XWindowSystem客戶機(jī)程序。此外,尚有由各種語言(如C,C++,Eiffel,Java,Perl,PHP,Python,Ruby,andTcl)編寫的界面。因此,可以選擇使用已編好的客戶機(jī)程序或編寫自己的客戶機(jī)應(yīng)用程序。連接性和安全性MySQL是完全網(wǎng)絡(luò)化的,其數(shù)據(jù)庫可在因特網(wǎng)上的任何地方訪問,因此,可以和任何地方的任何人共享數(shù)據(jù)庫。并且MySQL還能進(jìn)行訪問控制,可以控制哪些人不能看到您的數(shù)據(jù)??梢浦残訫ySQL可運(yùn)營在各種版本的UNIX以及其他非UNIX的系統(tǒng)(如Windows和OS/2)上。MySQL可運(yùn)營在從家用PC到高級的服務(wù)器上。開放式的分發(fā)MySQL容易獲得;只要使用Web瀏覽器即可。假如不能理解某樣?xùn)|西是如何起作用的,或者對某個(gè)算法感到好奇,可以將其源代碼取來,對源代碼進(jìn)行分析。假如不喜歡某些東西,則可以更改它。3.5.2結(jié)構(gòu)化查詢語言SQL介紹SQL(StructuredQueryLanguage,結(jié)構(gòu)查詢語言)是一個(gè)功能非常強(qiáng)大的數(shù)據(jù)庫語言,可以用在一些大型數(shù)據(jù)庫的建立。SQL語句通常用于完畢一些數(shù)據(jù)庫的操作任務(wù),比如在數(shù)據(jù)庫中插入數(shù)據(jù)、更新數(shù)據(jù)、刪除數(shù)據(jù),或者從數(shù)據(jù)庫中檢索數(shù)據(jù)。使用SQL的常見關(guān)系數(shù)據(jù)庫管理系統(tǒng)有:Oracle、Sybase、DB2、MySQL、MicrosoftSQLServer、Access等。絕大多數(shù)SQL結(jié)構(gòu)化查詢語言都可以在數(shù)據(jù)庫之間通用,雖然不同的數(shù)據(jù)庫在SQL語言上有些差異。但是,標(biāo)準(zhǔn)的SQL命令如"Select"、"Insert"、"Update"、"Delete"、"Create"和"Drop"用于完畢絕大多數(shù)數(shù)據(jù)庫的操作,在不同數(shù)據(jù)庫之間幾乎沒有差異。SQL功能強(qiáng)大,但是概括起來,它可以提成以下幾部分:DML(DataManipulationLanguage數(shù)據(jù)操作語言)用于檢索或者修改數(shù)據(jù);DDL(DataDefinitionLanguage數(shù)據(jù)定義語言)用于定義數(shù)據(jù)的結(jié)構(gòu),如創(chuàng)建、修改、刪除等命令;DCL(DataControlLanguage數(shù)據(jù)控制語言)用于賦予或取消用戶的權(quán)限。3.5.3JDBC數(shù)據(jù)訪問接口為支持Java程序的數(shù)據(jù)庫操作功能,Java語言采用了專門的Java數(shù)據(jù)庫編程接口(JavaDataBaseConnecivity,JDBC),用于在Java程序中實(shí)現(xiàn)數(shù)據(jù)庫操作功能并簡化操作過程。JDBC支持基本SQL語句,提供多樣化的數(shù)據(jù)庫連接方式,為各種不同的數(shù)據(jù)庫提供統(tǒng)一的操作界面。JDBC工作原理如圖3.3所示。應(yīng)應(yīng)用程序JDBC驅(qū)動程序管理器JDBC驅(qū)動程序forOracleSQLserver驅(qū)動程序forDB2JDBC-ODBC橋驅(qū)動程序JDBC網(wǎng)絡(luò)驅(qū)動程序OrcaleDB2……ODBC連接的數(shù)據(jù)庫圖3.3JDBC工作原理第四章數(shù)據(jù)庫設(shè)計(jì)4.1數(shù)據(jù)庫設(shè)計(jì)網(wǎng)站的數(shù)據(jù)庫建設(shè)在整個(gè)網(wǎng)站的設(shè)計(jì)過程中占具最重要的位置,它設(shè)計(jì)的好與壞直接關(guān)系到整個(gè)網(wǎng)站的成敗。以下為后臺數(shù)據(jù)庫的各表的結(jié)構(gòu)和字段的分析。會員信息表,此表重要存儲的是系統(tǒng)中會員的基本信息。(表4.1)列名數(shù)據(jù)類型備注uidintPrimarykey自動增長ucardvarchar(100)卡號unamevarchar(100)用戶名ubirthdayvarchar(100)生日uidentityvarchar(100)密碼uphonevarchar(100)電話utimeDatetime注冊時(shí)間UexpenceDouble消費(fèi)總額uintegalInt積分消費(fèi)明細(xì)表,此表重要存儲的是會員消費(fèi)信息的一覽。(表4.2)列名數(shù)據(jù)類型備注ucardvarchar(100)卡號unamevarchar(100)用戶名utimeDatetime消費(fèi)時(shí)間UexpenceDouble消費(fèi)金額uintegalInt贈送積分管理員信息表,此表重要存儲的是系統(tǒng)管理員的用戶名和密碼。(表4.3)列名數(shù)據(jù)類型備注idintPrimarykey自動增長namevarchar(100)用戶名Pwdvarchar(100)密碼留言表,此表重要存儲用戶留言信息,如留言日期,留言姓名等。(表4.4)列名數(shù)據(jù)類型備注idintPrimarykey自動增長namevarchar(100)用戶名telvarchar(100)聯(lián)系電話Contentvarchar(1000)留言內(nèi)容4.2網(wǎng)站數(shù)據(jù)安全一方面,將MySQL數(shù)據(jù)庫的密碼設(shè)立為復(fù)雜密碼,防止數(shù)據(jù)泄漏。在我的這個(gè)會員管理網(wǎng)站的數(shù)據(jù)庫中,我將會員信息特別是用戶名密碼信息進(jìn)行了簡樸加密,用以保護(hù)自己的數(shù)據(jù)庫安全,這樣,即使我的數(shù)據(jù)庫被人惡意存取,他仍然破解不了我的用戶的密碼。
第五章系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)5.1系統(tǒng)登錄身份驗(yàn)證實(shí)現(xiàn)為了防止非法用戶訪問系統(tǒng),要對進(jìn)入系統(tǒng)的用戶進(jìn)行身份驗(yàn)證,身份驗(yàn)證的流程如圖5.1所示。
訪問者登錄,提供登錄用戶名和密碼。驗(yàn)證登錄者的身份是否合法訪問者登錄,提供登錄用戶名和密碼。驗(yàn)證登錄者的身份是否合法
非法用戶
合法用戶
將登錄用戶名信息寫入Session將登錄用戶名信息寫入Session變量進(jìn)入各功能模塊進(jìn)入各功能模塊圖5.1當(dāng)會員輸入對的的用戶名和密碼時(shí)進(jìn)入主界面。在主界面的超級管理員操作界面上,管理員可以對會員進(jìn)行添加,刪除,修改,查詢、消費(fèi)記錄增長、積分設(shè)立和記錄操作。5.2會員注冊以管理員身份進(jìn)入系統(tǒng)進(jìn)行管理時(shí)可以實(shí)現(xiàn)會員信息增長,其界面如下所示:在該界面中,對輸入的卡號通過ajax方式進(jìn)行實(shí)時(shí)驗(yàn)證。假如可用則給出和諧的提醒信息,否則提醒不可用。需要重新輸入一個(gè)可用的卡號。圖5.2其中,AJAX關(guān)鍵代碼如下: <scripttype="text/javascript"> varreq; functionvalidate(){ varidField=document.getElementById("Cards"); varurl="Validate.jsp?id="+escape(idField.value); if(window.XMLHttpRequest){ req=newXMLHttpRequest(); }elseif(window.ActiveXObject){ req=newActiveXObject("Microsoft.XMLHTTP"); } req.open("GET",url,true); req.onreadystatechange=callback; req.send(null); } functioncallback(){ if(req.readyState==4){ if(req.status==200){ varmsg=req.responseXML.getElementsByTagName("msg")[0]; setMsg(msg.childNodes[0].nodeValue); } } } functionsetMsg(msg){ mdiv=document.getElementById("usermsg"); if(msg=="invalid"){ mdiv.innerHTML=
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 狼獲獎(jiǎng)?wù)n件教學(xué)課件
- 統(tǒng)計(jì)分析軟件模擬試題三及答案
- 飛向太空的航程說課稿
- 隊(duì)列口令說課稿
- 適合小班課件教學(xué)課件
- 怎樣評價(jià)課件教學(xué)課件
- 南京工業(yè)大學(xué)浦江學(xué)院《公益營銷》2021-2022學(xué)年第一學(xué)期期末試卷
- 南京工業(yè)大學(xué)浦江學(xué)院《籌資原理和技巧》2022-2023學(xué)年第一學(xué)期期末試卷
- 秸稈打捆協(xié)議書(2篇)
- 南京工業(yè)大學(xué)《應(yīng)用統(tǒng)計(jì)學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025數(shù)學(xué)步步高大一輪復(fù)習(xí)講義人教A版復(fù)習(xí)講義含答案
- 車站調(diào)度員技能大賽理論考試題庫(單選、多選題)
- 2024-2030年樺樹汁行業(yè)市場現(xiàn)狀供需分析及重點(diǎn)企業(yè)投資評估規(guī)劃分析研究報(bào)告
- 創(chuàng)新創(chuàng)業(yè)心智模式探索智慧樹知到期末考試答案章節(jié)答案2024年天津農(nóng)學(xué)院
- 2024年九年級化學(xué)上冊 第6單元 碳和碳的氧化物教案 (新版)新人教版
- 2024詳解新版《公司法》課件
- 醫(yī)院法律、法規(guī)培訓(xùn)課件
- 2024年高考作文真題解讀(立意+提綱+范文+總評)
- 美沙酮門診管理新規(guī)制度
- 2024年河南省信陽市新縣中考一模數(shù)學(xué)試題 【含答案解析】
- 正常與心梗心電圖
評論
0/150
提交評論