版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
PAGEII川師范大學(xué)本科畢業(yè)論文在線投票系統(tǒng)的設(shè)計與實現(xiàn)——管理子系統(tǒng)PAGEIIPAGEII四川師范大學(xué)本科畢業(yè)設(shè)計在線投票系統(tǒng)的設(shè)計和實現(xiàn)——系統(tǒng)管理子系統(tǒng)作者楊富淋院系電子信息工程學(xué)院專業(yè)通信工程年級2002級學(xué)號200239016001指導(dǎo)教師黃進答辯日期四川師范大學(xué)電子信息工程學(xué)院教務(wù)處制在線投票系統(tǒng)的設(shè)計和實現(xiàn)——系統(tǒng)管理子系統(tǒng)學(xué)生:楊富淋指導(dǎo)教師:黃進內(nèi)容摘要:在線投票系統(tǒng)是典型的信息管理系統(tǒng)(MIS),它克服了以往的通過實地調(diào)查并手工填表的調(diào)查方式時所帶來的人力、物力以及時間上的浪費,同時也保證了調(diào)查評估過程的科學(xué)化、高效化,使調(diào)查評估得出的結(jié)論更準確、更快捷、更具說服力。本文全面介紹了利用JSP和SQLServer2000技術(shù)實現(xiàn)在線投票系統(tǒng)——系統(tǒng)管理子系統(tǒng)。該系統(tǒng)是一個基于B/S模式,Html和JSP與Tomcat服務(wù)器交互來實現(xiàn)信息收集和處理、網(wǎng)上評估、結(jié)果查詢?yōu)橐惑w的在線投票系統(tǒng),其設(shè)計和實現(xiàn)方法可以應(yīng)用于其他子系統(tǒng)。關(guān)鍵詞:Tomcat、Html、SQL語言,MSSQLServer,JSP,數(shù)據(jù)庫,在線投票系統(tǒng)Thedesignandtherealizationoftheon-linevotesystem——Thesystemmanagementsub-systemAbstract:Theon-linevotesystemisthetypicalinformationmanagementsystem(MIS),itovercametopasstheon-siteinspectiontocombinethehouroftheinquisitionmethodthathandicraftfillintheformbeforethemanpower,materialresourcesandthewasteontimesbrings,alsoguaranteeingtoinvestigatetoevaluatetheprocessscientificandturningefficiently,makeinvestigatethevaluationtheconclusionofismoreaccurate,fasterandevenhastheconviction.ThistextintroducestomakeuseoftheJSPandthetechniqueofSQLServer2000tocarryouttheon-linevotesystem-systemmanagementsub-systemcompletely.ThatsystemisanaccordingtothemodeofB/S,theHtmlandJSPsandserverofTomcatshandovertocarryouttheinformationcollectionsandprocessing,on-linevaluations,resultssearchastheon-linevotesystemoftheintegralwholewitheachother,itdesignandcarryoutthemethodandcanbeapplyinothersub-systems.Keyword:Tomcat,Html,languageofSQL,theMSSQLServer,JSP,database,on-linevotesystem目錄TOC\o"1-4"\h\z\u緒論 1一、JSP技術(shù)概述 2(一)常見動態(tài)網(wǎng)頁技術(shù) 21、CGI、ASP、PHP、JSP介紹 22.JSP技術(shù)特點及其優(yōu)勢 3(二)發(fā)展趨勢與前景分析 4二、MSSQLServer概述 4(一)MSSQLServer介紹 4(二)SQL語句介紹 5(三)SQL的優(yōu)點 5三、在線投票系統(tǒng)的整體設(shè)計原理及思路 6(一)基于B/S的三層結(jié)構(gòu) 6(二)在線投票系統(tǒng)的組成 6(三)在線投票系統(tǒng)的頁面功能分析及設(shè)計 6四、在線投票系統(tǒng)的詳細設(shè)計 8(一)搭建開發(fā)環(huán)境 81、該系統(tǒng)運行環(huán)境 82、安裝和配置JDK 83、安裝和配置Tomcat 94、測試是否安裝配置成功 105、安裝和設(shè)置SQLServer2000 11(二)數(shù)據(jù)庫的設(shè)計與實現(xiàn) 112、設(shè)計數(shù)據(jù)庫表 113、數(shù)據(jù)庫的連接 13(三)系統(tǒng)模塊設(shè)計 131、用戶注冊模塊 132、用戶信息查詢模塊 143、用戶信息修改模塊 154、用戶注冊刪除模塊 16五、在線投票系統(tǒng)使用說明 16六、各個系統(tǒng)文件簡單介紹 17結(jié)束語 19致謝 20附錄 21參考文獻 32-PAGE32-緒論該系統(tǒng)是一個主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性、數(shù)據(jù)安全性好的庫,而對于后者則要求應(yīng)用程序功能完備,易使用等特點。本系統(tǒng)采用MSSQLServer2000數(shù)據(jù)庫管理系統(tǒng)與JSP應(yīng)用程序,主要完成對在線投票系統(tǒng)的需求分析、功能模塊劃分、數(shù)據(jù)庫模式分析,并由此設(shè)計了數(shù)據(jù)庫結(jié)構(gòu)和應(yīng)用程序。系統(tǒng)運行結(jié)果證明,本文所設(shè)計的在線投票系統(tǒng)可以滿足投票者、發(fā)表話題的用戶和維護系統(tǒng)的高級管理員三方面的需要。該系統(tǒng)具體劃分了三類用戶的操作權(quán)限,設(shè)計了了三個操作界面。實現(xiàn)了數(shù)據(jù)庫表的瀏覽,記錄的添加、刪除和修改,報表的生成,實現(xiàn)了多數(shù)據(jù)庫表的連接操作,實現(xiàn)了多條件查詢和模糊查詢,并靈活實現(xiàn)了對不可更新查詢結(jié)果集的更新操作,實現(xiàn)了主從表操作,實現(xiàn)了密碼維護功能,最后,系統(tǒng)還可以導(dǎo)入數(shù)據(jù)庫以對任意同結(jié)構(gòu)的數(shù)據(jù)庫進行操作該系統(tǒng)應(yīng)用程序包含兩部分內(nèi)容,即前臺開發(fā)工具和后臺數(shù)據(jù)庫。服務(wù)器端的最關(guān)鍵的開發(fā)技術(shù)在于與數(shù)據(jù)庫服務(wù)器的交互,我們采用DreamweaverMX來開發(fā)后臺活動服務(wù)器頁JSP文件;后臺數(shù)據(jù)庫選用了SQLServer2000,系統(tǒng)庫體系結(jié)構(gòu)采用的是較之于傳統(tǒng)C/S模式優(yōu)點更多的B/S模式三層結(jié)構(gòu)。在下面的各章節(jié)中,我們將對該系統(tǒng)的設(shè)計與實現(xiàn)進行詳細說明。由于這是我初次進行JSP網(wǎng)頁設(shè)計與數(shù)據(jù)庫系統(tǒng)的開發(fā),本系統(tǒng)在許多方面都還存在著不足,希望今后能進一步完善本系統(tǒng)。在線投票系統(tǒng)的設(shè)計和實現(xiàn)——系統(tǒng)管理子系統(tǒng)一、JSP技術(shù)概述(一)常見動態(tài)網(wǎng)頁技術(shù)1、CGI、ASP、PHP、JSP介紹(1)CGICGI(CommomGatewayInterface,即通用網(wǎng)關(guān)接口)是早期用來建立動態(tài)網(wǎng)頁的技術(shù)。當客戶端向Web服務(wù)器上指定的CGI程序發(fā)出請求時,Web服務(wù)器會啟動一個新的進程(pro-cess)執(zhí)行GGI程序,程序執(zhí)行后將結(jié)果以網(wǎng)頁的形式發(fā)送給客戶端。CGI的優(yōu)點是它可以用很多的語言編寫,比如C、C++、VB和Perl語言,在選擇上有很大的靈活性。目前大多使用Perl編寫CGI。CGI主要缺點是維護復(fù)雜,運行效率底下,主要表現(xiàn)在以下幾個方面:CGI程序是以獨立的進程方式運行的,這樣,當用戶訪問數(shù)量增大時,會嚴重地損耗系統(tǒng)資源,大幅度的降低系統(tǒng)性能。CGI程序不是常駐內(nèi)存的,因此,當用戶頻率訪問CGI程序時,會導(dǎo)致大量的磁盤操作,從而造成系統(tǒng)性能的下降。訪問數(shù)據(jù)庫的程序不容易編寫。(2)ASPASP(ActiveServerPages)是微軟平臺下的動態(tài)網(wǎng)頁技術(shù)。是一個WEB服務(wù)器端的開發(fā)環(huán)境,利用它可以產(chǎn)生和運行動態(tài)的、交互的、高性能的WEB服務(wù)應(yīng)用程序。它采用了三層計算結(jié)構(gòu),將WEB服務(wù)器(邏輯層)、客戶端瀏覽器(表示層)以及數(shù)據(jù)庫服務(wù)器(數(shù)據(jù)層)分開,具有良好的擴充性。ASP采用腳本語言VBScript(Javascript)作為自己的開發(fā)語言。ASP有以下優(yōu)點:簡單易學(xué),降低WEB應(yīng)用程序的編寫難度。實現(xiàn)了動態(tài)訪問數(shù)據(jù)庫的技術(shù)。安全性好。通過COM來擴充復(fù)雜的功能,使得如文件上傳、e_mail發(fā)送以復(fù)雜的業(yè)務(wù)處理分離成為可重復(fù)使用的模塊。(3)PHPPHP(PersonalHomePage)是一種服務(wù)器端的嵌入HTML的腳本語言。它大量地借用C、Java和Perl語言的語法,并耦合PHP自己的特性,使WEB開發(fā)者能夠快速地寫出動態(tài)生成頁面,它支持目前絕大多數(shù)數(shù)據(jù)庫。而且你可以不受限制地獲得源碼,甚至可以從中加進你自己需要的特色。但是PHP沒有象JSP、ASP那樣對數(shù)據(jù)組件的支持,擴展性較差,顧只能適應(yīng)小流量的網(wǎng)站。(4)JSPJSP(JavaServerPage)它是SUN公司推出的新一代站點開發(fā)語言,他完全解決了目前ASP、PHP的一個通?。_本級執(zhí)行(據(jù)說PHP4也已經(jīng)在Zend的支持下,實現(xiàn)編譯運行).Sun公司借助自己在Java上的不凡造詣,將Java從Java應(yīng)用程序和JavaApplet之外,又有新的碩果,就是Jsp--JavaServerPage。Jsp可以在Serverlet和JavaBean的支持下,完成功能強大的站點程序。2.JSP技術(shù)特點及其優(yōu)勢(1)JSP技術(shù)特點=1\*GB3①JSP將內(nèi)容的生成和顯示進行分離使用JSP技術(shù),Web頁面開發(fā)人員可以使用HTML或者XML標識來設(shè)計和格式化最終頁面。使用JSP標識或者小腳本來生成頁面上的動態(tài)內(nèi)容。生成內(nèi)容的邏輯被封裝在標識和JavaBeans組件中,并且捆綁在小腳本中,所有的腳本在服務(wù)器端運行。如果核心邏輯被封裝在標識和Beans中,那么其他人,如Web管理人員和頁面設(shè)計者,能夠編輯和使用JSP頁面,而不影響內(nèi)容的生成。在服務(wù)器端,JSP引擎解釋JSP標識和小腳本,生成所請求的內(nèi)容(例如,通過訪問JavaBeans組件,使用JDBCTM技術(shù)訪問數(shù)據(jù)庫,或者包含文件),并且將結(jié)果以HTML(或者XML頁面的形式發(fā)送回瀏覽器。這有助于作者保護自己的代碼,而又保證任何基于HTML的Web瀏覽的完全可用性。=2\*GB3②強調(diào)可重用的組件絕大多數(shù)JSP頁面依賴于可重用的,跨平臺的組件(JavaBeans或者EnterpriseJavaBeansTM組件)來執(zhí)行應(yīng)用程序所要求的更為復(fù)雜的處理。開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者或者客戶團體所使用?;诮M件的方法加速了體開發(fā)過程,并且使得各種組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開發(fā)努力中得到平衡。=3\*GB3③采用標識簡化頁面開發(fā)Web頁面開發(fā)人員不會都是熟悉腳本語言的編程人員。JavaServerPage技術(shù)封裝了許多功能,這些功能是在易用的、與JSP相關(guān)的XML標識中進行動態(tài)內(nèi)容生成所需要的。標準的JSP標識能夠訪問和實例化JavaBeans組件,設(shè)置或者檢索組件屬性,下載Applet,以及執(zhí)行用其他方法更難于編碼和耗時的功能。(2)JSP技術(shù)優(yōu)勢通過開發(fā)定制化標識庫,JSP技術(shù)是可以擴展的。今后,第三方開發(fā)人員和其他人員可以為常用功能創(chuàng)建自己的標識庫。這使得Web頁面開發(fā)人員能夠使用熟悉的工具和如同標識一樣的執(zhí)行特定功能的構(gòu)件來工作。JSP技術(shù)很容易整合到多種應(yīng)用體系結(jié)構(gòu)中,以利用現(xiàn)存的工具和技巧,并且擴展到能夠支持企業(yè)級的分布式應(yīng)用。作為采用Java技術(shù)家族的一部分,以及Java2(企業(yè)版體系結(jié)構(gòu))的一個組成部分,JSP技術(shù)能夠支持高度復(fù)雜的基于Web的應(yīng)用。由于JSP頁面的內(nèi)置腳本語言是基于Java編程語言的,而且所有的JSP頁面都被編譯成為JavaServlet,JSP頁面就具有Java技術(shù)的所有好處,包括健壯的存儲管理和安全性。作為Java平臺的一部分,JSP擁有Java編程語言“一次編寫,各處運行”的特點。隨著越來越多的供應(yīng)商將JSP支持添加到他們的產(chǎn)品中,您可以使用自己所選擇的服務(wù)器工具,更改工具或服務(wù)器并不影響當前的應(yīng)用。應(yīng)用范圍ASP是Microsoft開發(fā)的動態(tài)網(wǎng)頁語言,也繼承了微軟產(chǎn)品的一貫傳統(tǒng)——只能運行于微軟的服務(wù)器產(chǎn)品,IIS(InternetInformationServer)(windowsNT)和PWS(PersonalWebServer)(windows98)上。Unix下也有ChiliSoft的插件來支持ASP,但是ASP本身的功能有限必須通過ASP+COM的組合來擴充,Unix下的COM實現(xiàn)起來非常困難。PHP3可在Windows,Unix,Linux的Web服務(wù)器上正常運行,還支持IIS,Apache等通用Web服務(wù)器,用戶更換平臺時,無需變換PHP3代碼,可即拿即用.JSP同PHP3類似,幾乎可以運行于所有平臺。如WinNT,Linux,Unix.NT下IIS通過一個插件,例如JRUN或者ServletExec,就能支持JSP。著名的Web服務(wù)器Apache已經(jīng)能夠支持JSP。由于Apache廣泛應(yīng)用在NT、Unix和Linux上,因此JSP有更廣泛的運行平臺。雖然現(xiàn)在NT操作系統(tǒng)占了很大的市場份額,但是在服務(wù)器方面Unix的優(yōu)勢仍然很大,而新崛起的Linux更是來勢不些從一個平臺移植到另外一個平臺,JSP和JavaBean甚至不用重新編譯,因為Java字節(jié)碼都是標準的與平臺無關(guān)的。性能比較有人做過試驗,對這三種語言分別做循環(huán)性能測試及存取Oracle數(shù)據(jù)庫測試。在循環(huán)性能測試中,JSP只用了令人吃驚的四秒鐘就結(jié)束了20000*20000的循環(huán)。而ASP、PHP測試的是2000*2000循環(huán)(少一個數(shù)量級),卻分別用了63秒和84秒。(參考PHPLIB)據(jù)庫測試中,三者分別對Oracle8進行1000次Update,Select,和Delete:Php需要69秒,ASP則需要73秒,Jsp僅需要13秒,(二)發(fā)展趨勢與前景分析目前在國內(nèi)JSP、PHP與ASP應(yīng)用最為廣泛。而ASP.NET由于是一種較新的技術(shù),國內(nèi)采用的較少。在國外,JSP已經(jīng)是比較流行的一種技術(shù),尤其是電子商務(wù)類的網(wǎng)站,多采用JSP。采用PHP的網(wǎng)站如新浪網(wǎng)(sina)、中國人(Chinaren)等,但由于PHP本身存在的一些缺點,使得它不適合應(yīng)用于大型電子商務(wù)站點,而更適合一些小型的商業(yè)站點。首先,PHP缺乏規(guī)模支持。其次,缺乏多層結(jié)構(gòu)支持。對于大負荷站點,解決方法只有一個:分布計算。數(shù)據(jù)庫、應(yīng)用邏輯層、表示邏輯層彼此分開,而且同層也可以根據(jù)流量分開,組成二維陣列。而PHP則缺乏這種支持。還有上面提到過的一點,PHP提供的數(shù)據(jù)庫接口支持不統(tǒng)一,這就使得它不適合運用在電子商務(wù)中。ASP和JSP則沒有以上缺陷,ASP可以通過MicrosoftWindows的COM/DCOM獲得ActiveX規(guī)模支持,通過DCOM和TranscationServer獲得結(jié)構(gòu)支持;JSP可以通過SUNJava的JavaClass和EJB獲得規(guī)模支持,通過EJB/CORBA以及眾多廠商的ApplicationServer獲得結(jié)構(gòu)支持。四者中,JSP、ASP。NET應(yīng)該是未來發(fā)展的趨勢。世界上一些大的電子商務(wù)解決方案提供商都采用JSP/Servlet。比較出名的如IBM的E-business,它的核心是采用JSP/Servlet的WebSphere。二、MSSQLServer概述(一)MSSQLServer介紹SQLServer是一個后臺數(shù)據(jù)庫管理系統(tǒng),它功能強大操作簡便,日益為廣大數(shù)據(jù)庫用戶所喜愛。越來越多的開發(fā)工具提供了與SQLServer的接口。SQLServer是一個關(guān)系數(shù)據(jù)庫管理系統(tǒng),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同開發(fā)的。于1988年推出了第一個OS/2版本,在WindowsNT推出后,Microsoft與Sybase在SQLServer的開發(fā)上就分道揚鑣了,Microsoft將SQLServer移植到WindowsNT系統(tǒng)上,專注于開發(fā)推廣SQLServer的WindowsNT版本。SQLServer2000是Microsoft公司推出的SQLServer數(shù)據(jù)庫管理系統(tǒng)的最新版本,該版本繼承了SQLServer7.0版本的優(yōu)點,同時又比它增加了許多更先進的功能、具有使用方便、可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點??煽缭綇倪\行MicrosoftWindows98的膝上型電腦到運行MicrosoftWindows2000的大型多處理器的服務(wù)器等多種平臺使用。MSSQLServer不但可以應(yīng)用于大中型數(shù)據(jù)庫管理中,建立分布式關(guān)系數(shù)據(jù)庫,并且也可以開發(fā)桌面數(shù)據(jù)庫。事實上,SQLServer數(shù)據(jù)庫處理的基本結(jié)構(gòu),采取關(guān)系型數(shù)據(jù)庫模式,盡管如此,相信大家都可以輕易的發(fā)現(xiàn),在SQLServer的數(shù)據(jù)庫處理方式,則是使用面向?qū)ο蟮牟僮鞣绞脚c精神,也就是說,SQLServer的所有功能,都可以基于系統(tǒng)已經(jīng)建立好的一些對象來達成,是相當OO(面向?qū)ο螅┑囊粋€系統(tǒng)結(jié)構(gòu)。SQLServer企業(yè)管理器是SQLServer的主要管理工具,它提供了一個遵從MMC標準的用戶界面,使用戶得以:定義SQLServer實例組。將個別服務(wù)器注冊到組中。為每個已注冊的服務(wù)器配置所有SQLServer選項。在每個已注冊的服務(wù)器中創(chuàng)建并管理所有SQLServer數(shù)據(jù)庫、對象、登錄、用戶和權(quán)限。在每個已注冊的服務(wù)器上定義并執(zhí)行所有SQLServer管理任務(wù)。通過喚醒調(diào)用SQL查詢分析器,交互地設(shè)計并測試SQL語句、批處理和腳本。喚醒調(diào)用為SQLServer定義的各種向?qū)?。(二)SQL語句介紹SQL全稱是“結(jié)構(gòu)化查詢語言(StructuredQueryLanguage)”,功能強大,是一種完備的數(shù)據(jù)處理語言,不僅用于數(shù)據(jù)庫查詢,而且用于數(shù)據(jù)庫中的數(shù)據(jù)修改和更新,概括起來,包含4個部分:1、數(shù)據(jù)查詢語言(DQL-DataQueryLanguage)SELECT:用于檢索數(shù)據(jù);2、據(jù)操縱語言(DQL-DataManipulationLanguage):用于增加、修改或刪除數(shù)據(jù);INSERT:用于增加數(shù)據(jù)到數(shù)據(jù)庫;UPDATE:用于從數(shù)據(jù)庫中修改現(xiàn)存的數(shù)據(jù);DELETE:用于從數(shù)據(jù)庫中刪除數(shù)據(jù)。3、數(shù)據(jù)定義語言(DQL-DataDefinitionLanguage)用于定義數(shù)據(jù)的結(jié)構(gòu),比如創(chuàng)建修改或者刪除數(shù)據(jù)庫對象;CREATE,ALTER,DROP4、數(shù)據(jù)控制語言(DQL-DataControlLanguage):用于定義數(shù)據(jù)庫用戶的權(quán)限。COMMITWORK,ROLLBACKWORK(三)SQL的優(yōu)點SQL廣泛地被采用正說明了它的優(yōu)點。它使全部用戶,包括應(yīng)用程序員、DBA管理員和終端用戶受益非淺。1.非過程化語言SQL是一個非過程化的語言,因為它一次處理一個記錄,對數(shù)據(jù)提供自動導(dǎo)航。SQL允許用戶在高層的數(shù)據(jù)結(jié)構(gòu)上工作,而不對單個記錄進行操作,可操作記錄集。所有SQL語句接受集合作為輸入,返回集合作為輸出。SQL的集合特性允許一條SQL語句的結(jié)果作為另一條SQL語句的輸入。SQL不要求用戶指定對數(shù)據(jù)的存放方法。這種特性使用戶更易集中精力于要得到的結(jié)果。所有SQL語句使用查詢優(yōu)化器,它是RDBMS的一部分,由它決定對指定數(shù)據(jù)存取的最快速度的手段。查詢優(yōu)化器知道存在什么索引,哪兒使用合適,而用戶從不需要知道表是否有索引,表有什么類型的索引。2.統(tǒng)一的語言SQL可用于所有用戶的DB活動模型,包括系統(tǒng)管理員、數(shù)據(jù)庫管理員、應(yīng)用程序員、決策支持系統(tǒng)人員及許多其它類型的終端用戶?;镜腟QL命令只需很少時間就能學(xué)會,最高級的命令在幾天內(nèi)便可掌握。SQL為許多任務(wù)提供了命令,包括:查詢數(shù)據(jù)在表中插入、修改和刪除記錄建立、修改和刪除數(shù)據(jù)對象控制對數(shù)據(jù)和數(shù)據(jù)對象的存取保證數(shù)據(jù)庫一致性和完整性以前的數(shù)據(jù)庫管理系統(tǒng)為上述各類操作提供單獨的語言,而SQL將全部任務(wù)統(tǒng)一在一種語言中。3.是所有關(guān)系數(shù)據(jù)庫的公共語言由于所有主要的關(guān)系數(shù)據(jù)庫管理系統(tǒng)都支持SQL語言,用戶可將使用SQL的技能從一個RDBMS轉(zhuǎn)到另一個。所有用SQL編寫的程序都是可以移植的。SQL是PostgreSQL(和大多數(shù)其它關(guān)系型數(shù)據(jù)庫)用做查詢語言的語言。它是可以移植的,并且容易學(xué)習(xí)使用。但是所有SQL語句都必須由數(shù)據(jù)庫服務(wù)器獨立地執(zhí)行。這就意味著客戶端應(yīng)用必須把每條查詢發(fā)送到數(shù)據(jù)庫服務(wù)器,等待它處理這個查詢,接收結(jié)果,做一些運算,然后給服務(wù)器發(fā)送另外一條查詢。所有這些東西都會產(chǎn)生進程間通訊,并且如果客戶端在另外一臺機器上甚至還會導(dǎo)致網(wǎng)絡(luò)開銷。如果使用了PL/pgSQL,那么可以把一塊運算和一系列查詢在數(shù)據(jù)庫服務(wù)器里面組成一個塊,這樣就擁有了過程語言的力量并且簡化SQL的使用,因而節(jié)約了大量的時間,因為用不著付出客戶端/服務(wù)器通訊的過熱。通過使用PL/pgSQL,應(yīng)用可以獲得可觀的性能提升。三、在線投票系統(tǒng)的整體設(shè)計原理及思路要做一個門戶網(wǎng)站系統(tǒng),首先應(yīng)該進行功能分析,這樣才能做出的網(wǎng)站滿足用戶需要的各項功能。該系統(tǒng)主要采用JSP、HTML、SQL數(shù)據(jù)庫。整體設(shè)計遵循軟件工程的方法,經(jīng)過總體分析、總體設(shè)計、文檔和代碼的編制、測試和系統(tǒng)實現(xiàn)幾個階段。下面就對在線投票系統(tǒng)的設(shè)計進行功能分析。(一)基于B/S的三層結(jié)構(gòu)本次設(shè)計采用基于B/S模式的三層體系結(jié)構(gòu),如圖1所示。邏輯層由所有的JSP腳本程序組成,用來提供基本的信息傳遞,并將從客戶端獲得的用戶輸入與的數(shù)據(jù)庫中的數(shù)據(jù)按應(yīng)用需求規(guī)則進行相應(yīng)處理,生成客戶機所要的結(jié)果,并將結(jié)果返回給客戶端。表示層表示層客戶機Windows98/2000邏輯層Web服務(wù)器Windows2000Server數(shù)據(jù)庫服務(wù)器SQLSever2000數(shù)據(jù)層瀏覽器JSP教本程序數(shù)據(jù)庫圖1B/S模式三層結(jié)構(gòu)圖(二)在線投票系統(tǒng)的組成本系統(tǒng)主要采用數(shù)據(jù)庫及網(wǎng)絡(luò)技術(shù)實現(xiàn)在線投票和后臺管理功能,本系統(tǒng)主要包括用戶注冊模塊,用戶查詢模塊,用戶信息修改模塊,用戶注冊刪除模塊。用戶可以在注冊模塊中通過注冊進入該系統(tǒng)發(fā)表話題,由系統(tǒng)管理員對用戶信息,用戶權(quán)限等各種資料進行處理。所有數(shù)據(jù)均放在數(shù)據(jù)庫中。系統(tǒng)功能模塊分布如圖2所示:(三)在線投票系統(tǒng)的頁面功能分析及設(shè)計本系統(tǒng)充分利用了以用戶權(quán)限限定對系統(tǒng)的操作,以便管理員能比較輕松的管理系統(tǒng)。用戶當在登陸頁面用戶輸入用戶名及密碼后,經(jīng)系統(tǒng)判斷進入一般用戶模式或者管理員模式。進入系統(tǒng)后,用戶在不同的權(quán)限和模式下進行注冊,用戶查詢,用戶信息修改,用戶注冊刪除以及投票等相應(yīng)的操作。其功能關(guān)系如圖3所示:在線投票系統(tǒng)在線投票系統(tǒng)投票模塊用戶系統(tǒng)后臺管理系統(tǒng)用戶注冊模塊用戶注冊刪除模塊用戶信息查詢模塊用戶話題管理模塊用戶信息修改模塊用戶權(quán)限設(shè)置圖2系統(tǒng)功能模塊的分布圖一般用戶一般用戶管理員用戶發(fā)表話題(mainform.jsp)用戶信息查詢(member.jsp)話題修改(edit.jsp)參與投票(showquestion.jsp)增加管理員(adduser.jsp)查看投票結(jié)果(showresult2.jsp)刪除用戶帳戶(deluser.jsp)用戶權(quán)限設(shè)置(qxsz.jsp)用戶注冊(zhuce.jsp)話題管理(isvisable.jsp)公布投票結(jié)果(isopen.jsp)密碼驗證出錯密碼驗證通過用戶詳細信息(chakan.jsp)判斷注冊成?。╝dduser2.jsp)注冊成功注冊失敗登陸頁面(login.jsp)判斷用戶密碼及權(quán)限(chkadmin.jsp)用戶信息修改(edituser.jsp)圖3在線投票系統(tǒng)各模塊關(guān)系及功能四、在線投票系統(tǒng)的詳細設(shè)計在進行了整體設(shè)計以后,就開始進行詳細的設(shè)計及編碼工作。也就是設(shè)計文件和把他們有機地組織在一起實現(xiàn)所有功能。由于投票系統(tǒng)詳細設(shè)計是整個設(shè)計過程中最重要的步驟之一。下面就分如下幾個部分對系統(tǒng)進行詳細設(shè)計:(1)搭建開發(fā)環(huán)境(2)數(shù)據(jù)庫中表的設(shè)計與實現(xiàn)(3)系統(tǒng)中各模塊設(shè)計(4)后臺功能設(shè)計(一)搭建開發(fā)環(huán)境本節(jié)主要介紹JSP開發(fā)環(huán)境的搭建。首先介紹該投票系統(tǒng)對運行環(huán)境的要求,接著講述JSP開發(fā)和運行的安裝配置以及數(shù)據(jù)庫安裝和配置。1、該系統(tǒng)運行環(huán)境為了保證系統(tǒng)運行的效率和可靠性,系統(tǒng)服務(wù)器端應(yīng)具有較高的軟硬件配置,客戶端的要求不是很高。此應(yīng)用程序可廣泛運行于國際互聯(lián)網(wǎng)即Internet,也可適用于內(nèi)部的局域網(wǎng)。其運行要求如下:(1)軟件環(huán)境客戶端:Windows95/98,Windows2000/xp,InternetExplorer(IE)等服務(wù)器端:Windows2000Server(IIS)4.0及其以上版本,IE等數(shù)據(jù)庫:采用SQL,運行于服務(wù)器端。(2)硬件環(huán)境服務(wù)器CPU:PIII500以上,內(nèi)存:256M以上客戶機CPU:P200MMX以上,內(nèi)存:32M以上2、安裝和配置JDK(1)JDK的安裝=1\*GB3①可先到/j2se/downloads.html下載j2sdk-1_4_1-win.exe。=2\*GB3②自動解壓后出現(xiàn)出現(xiàn)確認安裝界面,在此界面中單擊【NEXT】按鈕。=3\*GB3③出現(xiàn)版權(quán)協(xié)議說明界面,單擊【YES】按鈕,接受版權(quán)協(xié)議后,選擇安裝路徑,如C:\j2sdk1.4.2_05,然后單擊【OK】按扭。=4\*GB3④出現(xiàn)安裝組件的界面,直接單擊【NEXT】按鈕繼續(xù)安裝。=5\*GB3⑤選擇一種瀏覽器,能在此瀏覽器中運行Applet,然后單擊【NEXT】。=6\*GB3⑥對JDK進行按裝,安裝完畢,單擊【Finish】結(jié)束安裝。(2)JDK的配置安裝好JDK后,還需要在環(huán)境變量中進行相應(yīng)的配置。如下:=1\*GB3①在桌面上單擊“我的電腦”屬性,依次選擇【屬性】/【高級】/【環(huán)境變量】選項。=2\*GB3②新建一個環(huán)境變量,名為JAVA_HOME,值為C:\j2sdk1.4.2_05,如圖4所示:圖4JDK配置=3\*GB3③單擊【確定】按鈕。=4\*GB3④用同樣的方法設(shè)置其他環(huán)境變量:“Path=C:\j2sdk1.4.2_05\bin”。3、安裝和配置TomcatTomcat服務(wù)器是當今使用廣泛的Servlet/JSP服務(wù)器,它運行穩(wěn)定,性能可靠,本節(jié)介紹Tomcat的安裝、配置與使用,并做對應(yīng)的測試。(1)安裝Tomcat=1\*GB3①可以從/tomcat下載Tomcat5.0Servlet服務(wù)器,下載后單擊安裝。=2\*GB3②在彈出的窗口中單擊【NEXT】按鈕。=3\*GB3③出現(xiàn)授權(quán)界面,單擊【IAgree】按鈕。=4\*GB3④在彈出的界面中選擇安裝組件,可以選擇“full“,然后單擊【NEXT】按鈕。=5\*GB3⑤選擇安裝目錄然后單擊【NEXT】按鈕。=6\*GB3⑥配置Tomcat,默認斷口8080,輸入一個密碼,本系統(tǒng)設(shè)置為“admin”。注意:必須記住這個密碼。然后單擊【NEXT】按鈕,如圖5所示:圖5Tomcat密碼設(shè)置=7\*GB3⑦選擇JDK的安裝位置,如C:\j2sdk1.4.2_05,然后單擊【NEXT】按鈕。=8\*GB3⑧單擊【Install】按鈕。=9\*GB3⑨安裝完成后單擊【Finish】按鈕。(2)Tomcat的配置安裝好Tomcat后,還需要在環(huán)境變量中進行相應(yīng)的配置。如下:=1\*GB3①在桌面上單擊“我的電腦”屬性,依次選擇【屬性】/【高級】/【環(huán)境變量】選。=2\*GB3②新建一個環(huán)境變量,名為CATALINA_HOME,值為C:\ProgramFiles\ApacheSoftwareFoundation\Tomcat5.0,如圖6所示:圖6Tomcat環(huán)境變量配置=3\*GB3③單擊【確定】按鈕。=4\*GB3④用同樣的方法設(shè)置其他環(huán)境變量:“CLASSPATH=.;”。4、測試是否安裝配置成功執(zhí)行C:\ProgramFiles\ApacheSoftwareFoundation\Tomcat5.0\bin目錄下的startup.bat,如果出現(xiàn)如圖7所示,表示環(huán)境變量配置成功;圖7Tomcat啟動成功這時候可以打開瀏覽器,在地址欄輸入http://localhost:8080,便可以見到一網(wǎng)頁樣式頁面。如不能啟動Tomcat服務(wù)器或在瀏覽器不能獲得相應(yīng)的結(jié)果,請檢查JDK的設(shè)置是否正確,請參看本節(jié)的內(nèi)容。5、安裝和設(shè)置SQLServer2000該系統(tǒng)數(shù)據(jù)庫采用的是MicrosoftSQLServer2000。運用MicrosoftSQLServer2000安裝光盤,選擇“安裝簡體中文企業(yè)版”/“安裝組建”/“安裝數(shù)據(jù)庫服務(wù)器”,下一步后選擇安裝路徑,需注意的是在選擇服務(wù)帳戶的時候選擇”使用本地系統(tǒng)帳戶”如圖8;身份驗證模式選擇混合模式,并設(shè)置密碼如圖9。本系統(tǒng)的密碼為”sa”,以便成功連接數(shù)據(jù)庫。圖8安裝設(shè)置SQLServer2000使用“本地帳戶”圖9為SQLServer2000設(shè)置密碼(二)數(shù)據(jù)庫的設(shè)計與實現(xiàn)2、設(shè)計數(shù)據(jù)庫表本系統(tǒng)需設(shè)計的數(shù)據(jù)庫中包含3個表,具體如下:=1\*GB3①點擊【刷新服務(wù)器】后【開始繼續(xù)】使之成功運行。=2\*GB3②單擊運行【開始】/【程序】/【MicrosoftSQLServer】/【企業(yè)管理器】打開SQLServer控制根目錄。=3\*GB3③打開本機服務(wù)器中的“數(shù)據(jù)庫”,右鍵數(shù)據(jù)庫并點擊“新建數(shù)據(jù)庫”,建一個名為“yfl”的數(shù)據(jù)庫。=4\*GB3④設(shè)計數(shù)據(jù)庫表,右鍵數(shù)據(jù)庫并點擊“新建表”,本系統(tǒng)需設(shè)計的數(shù)據(jù)庫中包含3個表,具體如表一:表一數(shù)據(jù)庫表數(shù)據(jù)庫表名說明所屬系統(tǒng)Admins用來存放用戶名和密碼及權(quán)限管理登陸Items用來存放投票結(jié)果用戶投票系統(tǒng)Questions用來存放管理投票后臺管理系統(tǒng)Admin用戶信息基本表Admin表存放的是后臺管理員的用戶名和密碼,并且密碼存放的是已經(jīng)經(jīng)過MD5型加密算法進行加密,詳細設(shè)計如圖10所示:圖10Admin用戶信息基本表AdminName用戶名AdminPwd用戶密碼T用戶權(quán)限e_mail電子郵箱phone聯(lián)系電話birthd出生日期www個人主頁Items主題內(nèi)容基本表Items表是用來存放所發(fā)話題的內(nèi)容以及投票記數(shù)結(jié)果,詳細設(shè)計如圖11所示:圖11Items主題內(nèi)容基本表ItemID索引投票選項QuestionID關(guān)聯(lián)投票主題Item存儲投票選項內(nèi)容ItemCount投票記數(shù)Questions主題管理基本表Questions表是用來存放用戶所發(fā)表話題的主題與發(fā)表時間,詳細設(shè)計如表四所示:圖12Questions主題管理基本表QuestionID索引投票主題Questions存儲投票主題內(nèi)容Isvisable標識投票是否在前臺顯示Date記錄投票發(fā)布時間IsOpen用戶公開Admname用戶名3、數(shù)據(jù)庫的連接本系統(tǒng)采用了以下方法與數(shù)據(jù)庫連接:建立一個能進入數(shù)據(jù)庫的文件opendata.jsp,具體如下:<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();Stringurl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=yfl";//連接到sql中名為“yfl”的數(shù)據(jù)庫Connectioncon=DriverManager.getConnection(url,"sa","sa");//對sql輸入用戶名和密碼“sa”,“sa”,以便成功連接“yfl”數(shù)據(jù)庫Statementsmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);ResultSetrs;Stringsql;%>因為在很多模塊中都有連接數(shù)據(jù)庫的操作,所以將其保存在該文件中。其它文件中引用此文件作為文件頭就可以訪問數(shù)據(jù)庫,代碼如下:<%@includefile="opendata.jsp"%>(三)系統(tǒng)模塊設(shè)計1、用戶注冊模塊在本部分中,用戶進入系統(tǒng)主頁面(login.jsp)后,若希望在系統(tǒng)中發(fā)表話題進行調(diào)查,則須注冊成為用戶。用戶在注冊頁面(zhuce.jsp如圖)所示需正確填寫注冊用戶名、密碼、E_mail,其他項目可以根據(jù)自己情況確定是否填寫。用戶填寫完注冊項目,提交注冊后系統(tǒng)由(adduser2.jsp)判斷用戶名稱和E_mail格式是否正確、兩次輸入的密碼要一致,若判斷出有誤則不能通過注冊,并返回頁面(adduser2.jsp),同時指出出錯位置;若通過注冊則返回歡迎信息(cgzc.jsp),同時系統(tǒng)自動把注冊信息寫入數(shù)據(jù)庫。重新重新注冊用戶名不正確密碼為空e_mail不正確兩次密碼不一致登陸頁面注冊(zhuce.jsp)判斷注冊adduser2.jsp注冊成功圖13用戶注冊流程
圖14主頁面用戶注冊圖15填寫注冊信息出錯的顯示頁面圖16注冊成功的顯示頁面該模塊對數(shù)據(jù)庫的主要操作是寫入注冊資料,實現(xiàn)方式如下:sql="insertintoadmins(Admname,Admpwd,T,e_mail,sex,phone,birthd,www)values('"+name+"','"+password+"','"+0+"','"+e_mail+"','"+sex+"','"+phone+"','"+birthd+"','"+www+"')";2、用戶信息查詢模塊此模塊是方便管理員查看系統(tǒng)用戶信息,主要顯示如圖,在此頁面管理員可選擇對用戶相應(yīng)的操作,如用戶權(quán)限設(shè)置、刪除用戶,并可以點擊對應(yīng)的用戶名稱查看其詳細信息,包括該用戶的主頁及其在該系統(tǒng)中所發(fā)表的話題。圖17用戶信息查詢模塊首頁圖18用戶詳細信息查詢結(jié)果設(shè)置權(quán)限的實現(xiàn)方式是對數(shù)據(jù)庫中表Admin中字段T的操作,“1”代表管理員,“0”代表一般用戶,其實現(xiàn)方式見附錄10(qxsz.jsp文件)。用戶信息查詢是對指定用戶對應(yīng)數(shù)據(jù)庫信息通過WEB頁面顯示出來,其實現(xiàn)方式見附錄7(chakan.jsp文件)。3、用戶信息修改模塊該模塊是用戶在登陸后進行個人基本信息修改的操作模塊,它的設(shè)計原理與用戶注冊模塊相似,不同的是對數(shù)據(jù)庫的操作,用戶注冊模塊是寫入數(shù)據(jù),而用戶修改模塊是修改數(shù)據(jù)庫。圖19用戶信息修改頁面圖20用戶信息修改成功顯示頁面該系統(tǒng)的實現(xiàn)方式:sql="updateadminssetAdmpwd='"+password+"',e_mail='"+e_mail+"',T='"+T+"',sex='"+sex+"',phone='"+phone+"',birthd='"+birthd+"',www='"+www+"'whereadmname='"+name+"'";smt.executeUpdate(sql);4、用戶注冊刪除模塊該模塊是在進入數(shù)據(jù)庫通過以下一段程序直接對數(shù)據(jù)庫操作進行刪除。<%Stringdeluser=request.getParameter("user");sql="deletefromAdminswhereAdmname='"+deluser+"'";smt.executeUpdate(sql);response.sendRedirect("member.jsp");%>五、在線投票系統(tǒng)使用說明1、將所有文件放到同一目錄文件中,如:”yfl”,再把文件夾”yfl”放到C:\ProgramFiles\ApacheSoftwareFoundation\Tomcat5.0\webapps目錄下。2、啟動Tomcat和SQL服務(wù)管理器。3、套入數(shù)據(jù)庫(yfl\DataBase\questionnaire.sql),庫名“yfl”。4、權(quán)限及其他說明打開IE瀏覽器,在地址欄中輸入http://localhost:8080/yfl/login.jsp,即可進入投票系統(tǒng)主界面,如圖21所示:此頁面分別連接到了3個不同權(quán)限的用戶模塊。你可以到投票模塊進行投票及查看投票結(jié)果,也可以登陸到該系統(tǒng)的一般用戶模塊進行發(fā)表、修改和維護話題,若你還不是該系統(tǒng)的用戶可以到用戶注冊模塊注冊成為會員。同時,此頁面也是該系統(tǒng)管理員進入系統(tǒng)后臺維護的直接通道。系統(tǒng)默認系統(tǒng)管理員(該系統(tǒng)的主要維護操作人員)帳號:admin密碼:admin進入后馬上更改否則后果不堪設(shè)想??!相對路徑:yfl/login.asp絕對路徑(IE瀏覽器):http://localhost:8080/yfl/login.jsp圖21用戶登陸頁面圖六、各個系統(tǒng)文件簡單介紹\DataBase\questionnaire.sqlSQLServer數(shù)據(jù)庫生成腳本\guest\shpowquestion.jsp顯示投票\guest\thanks.jsp投票結(jié)果確認\guest\convert.jsp處理中文字符串及換行的自定義函數(shù)文件\guest\showresult2.jsp用戶查看投票結(jié)果\guest\opendata.jsp打開數(shù)據(jù)庫\admin\showresult.jsp用戶查看投票結(jié)果(受管理員限制)\admin\convert.jsp處理中文字符串及換行的自定義函數(shù)文件\admin\check.jsp檢查用戶是否已經(jīng)登陸,嵌入各管理功能頁面中\(zhòng)admin\opendata.jsp打開數(shù)據(jù)庫\admin\convert.jsp處理中文字符串及換行的自定義函數(shù)文件\admin\login.jsp管理員登陸\admin\chkadmin.jsp驗證密碼\admin\mainform.jsp管理主界面\admin\result.jsp管理員查看投票結(jié)果\admin\adpoll.jsp添加問題\admin\savedata.jsp儲存數(shù)據(jù)\admin\delete.jsp刪除投票\admin\edit1.jsp方式B編輯投票\admin\modify.jsp方式B保存重新編輯結(jié)果\admin\resetcount.jsp將投票結(jié)果清零\admin\isvisable.jsp設(shè)置投票主題是否在前臺顯示\admin\zhuce.jsp用戶注冊界面\Admin\adduser2.jsp用戶注冊確認\Admin\qxsz.jsp用戶權(quán)限設(shè)置\Admin\chankan.jsp用戶信息顯示\admin\member.jsp用戶管理界面\admin\adduser.jsp添加用戶\admin\deluser.jsp刪除用戶\admin\edituser.jsp修改用戶信息\admin\moduser.jsp用戶信息修改確認\admin\edit.jsp方式B編輯投票\admin\editquestion.jsp方式B編輯標題\admin\modquestion.jsp方式B保存編輯標題結(jié)果\admin\edititem.jsp方式B編輯選項\admin\moditem.jsp方式B保存編輯選項結(jié)果\admin\additem.jsp方式B保存增加選項結(jié)果\admin\delitem.jsp方式B刪除選項結(jié)束語本文所介紹的是一種在線投票系統(tǒng)——管理子系統(tǒng),該系統(tǒng)采用了JSP進行Web數(shù)據(jù)庫的編程和開發(fā)。對于該系統(tǒng)中的后臺數(shù)據(jù)庫的管理開發(fā)選用了SQLServer2000。本文著重介紹了對動態(tài)數(shù)據(jù)庫實行結(jié)果管理、更新和查詢的方法。經(jīng)過一段時間的設(shè)計和開發(fā),本系統(tǒng)的基本功能已經(jīng)得以實現(xiàn)。但要投入實用,尚有諸多不完善之處。比如在網(wǎng)絡(luò)安全方面未做過多的考慮。另外對在線投票情況中存在的某些問題可能考慮不周。在這個Internet已經(jīng)普及的時代,本系統(tǒng)的實現(xiàn)有著重要的意義。在未來的工作中,我將不斷完善本系統(tǒng)的功能,使其在實際生活中所起的作用得以真正體現(xiàn)。致謝本論文在導(dǎo)師黃進老師的嚴格要求和精心指導(dǎo)下完成的,它凝聚著幾個月來黃老師對我的悉心培養(yǎng)和教導(dǎo)所付出的大量心血;尤其是黃老師在設(shè)計方案與設(shè)計思想上的指導(dǎo)會對我在今后的學(xué)習(xí)中起到重要的作用。在此,向黃老師表示忠心的感謝!另外,當我在遇到困難的時候,同班上的同學(xué)積極討論給了我很大的支持和幫助,使我才能如期的完成論文,在此感謝你們!由于本人掌握的水平有限,在論文中或許尚有很多不足之處,期待您的指正,同時本人也會不斷的修改,使其更加完善。附錄1、SQLServer數(shù)據(jù)庫生成腳本文件questionnaire.sql,該文件是為方便建立數(shù)據(jù)庫之用/*==============================================================*//*Databasename:PhysicalDataModel_1*//*DBMSname:MicrosoftSQLServer2000*//*Createdon:2003-4-168:59:11*//*==============================================================*/altertabledbo.ItemsdropconstraintFK_ITEMS_QUESTIONI_QUESTIONgoifexists(select1fromsysobjectswhereid=object_id('dbo.Admins')andtype='U')droptabledbo.Adminsgoifexists(select1fromsysobjectswhereid=object_id('dbo.Items')andtype='U')droptabledbo.Itemsgoifexists(select1fromsysobjectswhereid=object_id('dbo.Questions')andtype='U')droptabledbo.Questionsgo/*==============================================================*//*Table:Admins*//*==============================================================*/createtabledbo.Admins(Admnamevarchar(50)notnull,Admpwdvarchar(50)notnull,Tintnotnull,e_mailvarchar(50)null,sexvarchar(50)null,phonevarchar(50)null,birthdvarchar(50)null,wwwvarchar(50)null,constraintPK_ADMINprimarykeyclustered(Admname))go/*==============================================================*//*Table:Items*//*==============================================================*/createtabledbo.Items(ItemIDintidentity,QuestionIDintnotnull,Itemvarchar(500)notnull,ItemCountbigintnotnulldefault0,constraintPK_ITEMSprimarykeyclustered(ItemID))go/*==============================================================*//*Table:Questions*//*==============================================================*/createtabledbo.Questions(QuestionIDintidentity,Questionvarchar(500)notnull,IsVisableintnotnulldefault0,Datevarchar(50)null,IsOpenintnulldefault1,Admnamevarchar(50)null,constraintPK_QUESTIONSprimarykeyclustered(QuestionID))goaltertabledbo.ItemsaddconstraintFK_ITEMS_QUESTIONI_QUESTIONforeignkey(QuestionID)referencesdbo.Questions(QuestionID)goinsertintoAdminsvalues('admin','admin','1','6409476@163.com','boy',,'1984/5/1','http://localhost:8080/toupiao/login.jsp')go2、打開數(shù)據(jù)庫文件opendata.jsp,該文件嵌入各管理功能頁面中。<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();Stringurl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=yfl";Connectioncon=DriverManager.getConnection(url,"sa","sa");Statementsmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);ResultSetrs;Stringsql;%>3、驗證密碼文件chkadmin.jsp,該文件嵌入各管理功能頁面中。<%@pageimport="java.sql.*"%><%@pagecontentType="text/html;charset=GB2312"%><%@includefile="opendata.jsp"%><%@pageimport="java.sql.*"%><%@pageimport="java.util.*"%><%Stringname=request.getParameter("name");Stringpassword=request.getParameter("password");intt;sql="select*fromadminswhereadmname='"+name+"'andadmpwd='"+password+"'";rs=smt.executeQuery(sql);if(rs.next()){t=rs.getInt(3);if(t==0){request.getSession(true);Stringchk="true";session.putValue("Enter",chk);response.sendRedirect("mainform.jsp?user="+name+"");}elseif(t==1){request.getSession(true);Stringchk="true";session.putValue("Enter",chk);response.sendRedirect("member.jsp?user="+name+"");}}else{Stringerrmsg="error1";response.sendRedirect("../login.jsp?errmsg="+errmsg);}%>4、檢查管理員是否已經(jīng)登陸文件check.jsp,該文件嵌入各管理功能頁面中。<%if((String)session.getValue("Enter")!="true"){Stringerrmsg="error2";response.sendRedirect("../login.jsp?errmsg="+errmsg);}%>5、處理中文字符串及換行的自定義函數(shù)文件convert.jsp<%!Stringconvert(Stringstr){bytenewstr[]=newbyte[str.length()];for(inti=0;i<str.length();i++)newstr[i]=(byte)str.charAt(i);returnnewString(newstr);}StringReplace(Stringstr){intindex=0;while((index=str.indexOf("\n"))!=-1)str=str.substring(0,index)+"<br>"+str.substring(index+1);return(str);}%>6、注冊信息存儲文件adduser2.jsp<%Stringname=request.getParameter("name");Stringsex=request.getParameter("sex");Stringe_mail=request.getParameter("e_mail");Stringpassword=request.getParameter("password");Stringconfirm=request.getParameter("confirm");Stringbirthd=request.getParameter("birthd");Stringphone=request.getParameter("phone");Stringwww=request.getParameter("www");sql="select*fromAdminswhereAdmname='"+name+"'";rs=smt.executeQuery(sql);out.print("<center>");Stringid=null;while(rs.next())id=rs.getString(1);{sql="insertintoadmins(Admname,Admpwd,T,e_mail,sex,phone,birthd,www)values('"+name+"','"+password+"','"+0+"','"+e_mail+"','"+sex+"','"+phone+"','"+birthd+"','"+www+"')";smt.executeUpdate(sql);out.print("<fontcolor=greensize=5>注冊成功</font><hr>");out.print("<palign=center>用戶名稱:"+name+"</p>");out.print("<palign=center>用戶密碼:"+password+"</p>");out.print("<palign=center>E_mail:"+e_mail+"</p>");out.print("<palign=center>歡迎你的使用!請牢記你的用戶名稱和密碼!!</p>");out.print("<hr><fontcolor=redsize=5><ahref=../login.jsp>返回登陸</font>");}%>7、用戶信息查詢文件chakan.jsp<%Stringadminname=request.getParameter("user2");sql="select*fromadminswhereAdmname='"+adminname+"'";rs=smt.executeQuery(sql);Stringadmine_mail="";StringadminAdmpwd="";Stringadminsex="";StringadminT="";Stringadminphone="";Stringadminbirthd="";Stringadminwww="";while(rs.next()){adminAdmpwd=rs.getString("Admpwd");adminphone=rs.getString("phone");adminsex=rs.getString("sex");adminT=rs.getString("T");adminbirthd=rs.getString("birthd");adminwww=rs.getString("www");admine_mail=rs.getString("e_mail");out.print("<fontalign=centercolor=greensize=5>"+adminname+"的基本資料</font><hr>");out.print("<palign=center>用戶名:"+adminname+"</p>");out.print("<palign=center>用戶密碼:"+adminAdmpwd+"</p>");out.print("<palign=center>性別:"+adminsex+"</p>");if(adminT.equals("1"))out.print("<palign=center>用戶權(quán)限:管理員</p>");elseout.print("<palign=center>用戶權(quán)限:普通用戶</p>");out.print("<palign=center>E_mail:"+admine_mail+"</p>");out.print("<palign=center>出生日期:"+adminbirthd+"</p>");out.print("<palign=center>聯(lián)系電話:"+adminphone+"</p>");out.print("<palign=center>個人主頁:"+adminwww+"</p>");}%><%sql="select*fromQuestionswhereAdmname='"+adminname+"'";rs=smt.executeQuery(sql);StringQuestion="";if(rs.next()){Question=rs.getString(2);out.print("<pal
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024至2030年比例式溫控產(chǎn)品項目投資價值分析報告
- 2024至2030年折疊門下軸項目投資價值分析報告
- 2024至2030年醫(yī)用PE薄膜透氣膠帶項目投資價值分析報告
- 2024年單飛叉繞線機項目可行性研究報告
- 青海大學(xué)《交互媒體設(shè)計與制作》2023-2024學(xué)年第一學(xué)期期末試卷
- QC小組活動的持續(xù)改進與優(yōu)化
- 青島求實職業(yè)技術(shù)學(xué)院《民政學(xué)概論》2023-2024學(xué)年第一學(xué)期期末試卷
- 品牌國際化的策略與成功案例
- PACS系統(tǒng)的故障診斷與維護
- 青島農(nóng)業(yè)大學(xué)海都學(xué)院《建筑一般構(gòu)造》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年江蘇省環(huán)保集團招聘筆試參考題庫含答案解析
- 2023年山東工業(yè)技師學(xué)院教師招聘筆試參考題庫(共500題)答案詳解版
- 月嫂職業(yè)道德與禮儀培訓(xùn)服務(wù)
- 【數(shù)字媒體藝術(shù)的應(yīng)用國內(nèi)外文獻綜述2500字】
- 智能家居的產(chǎn)品設(shè)計
- 【山姆會員店客戶關(guān)系管理現(xiàn)狀、問題及優(yōu)化建議分析4900字(論文)】
- 《筆袋自己理》-小學(xué)一年級綜合實踐課件
- 俄羅斯烏拉爾原油評價報告
- 醫(yī)院安全風(fēng)險分級管控清單
- 002-小項目監(jiān)理詢價函-格式002
- 瀝青混合料的最小壓實厚度及適宜厚度
評論
0/150
提交評論