




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
畢業(yè)設計說明書基于jsp的失物招領系統(tǒng)的設計與實現(xiàn)學生姓名:學號:學院:信息商務學院系名:電子與計算機科學技術系專業(yè):網絡工程指導教師:2015年5月基于jsp的失物招領系統(tǒng)的設計與實現(xiàn)摘要網絡的迅猛發(fā)展,21世紀的今天人類社會已經進入到了信息化的時代,更是網絡化高速發(fā)展的階段。網絡逐漸走進人們的生活,五彩繽紛的網上信息與人們的生活密切相關?;ヂ?lián)網成為人們快速獲取、發(fā)布和傳遞信息的重要渠道,它在人們政治、經濟、生活等各個方面發(fā)揮著重要的作用,它的實時性、方便性得到了人們的喜愛。國內的一些網站也如雨后春筍般的大量涌現(xiàn)。這些網站提供多種服務信息,實現(xiàn)信息的集中化管理,人們更快捷地獲取需要的信息。拾金不昧是中華民族的傳統(tǒng)美德,在這個網絡日益發(fā)展的時代,網上尋物成為最簡單方便的方式,只需要坐在家里就可以清清楚楚地知道自己丟失物品的情況。隨著計算機技術的飛速發(fā)展,高校也已進入信息化時代。本次開發(fā)的網絡愛心網站系統(tǒng)主要對這些問題進行解決,學生只要注冊瀏覽網站就可以看到相關的失物招領信息,學生也可以發(fā)布尋物或是招領信息,可以十分方便的找到自己丟失的東西。本此畢業(yè)設計在研究目前國內外先進網站的基礎上,以java為開發(fā)語言,myeclipse為開發(fā)工具,mysql作為數據庫,結合失物招領相關信息進行開發(fā)的網站。這個系統(tǒng)具有伸縮性好,擴展性強,能兼容、易維護、界面美觀,功能實用的功能。系統(tǒng)操作上,它對管理的工作人員的要求極低,只需要懂得基本的計算機操作即可勝任中網的工作。本文闡述了校園網的優(yōu)勢,并對所做系統(tǒng)站的分析、設計及實現(xiàn)過程做了詳細介紹。系統(tǒng)完成后真正實現(xiàn)了愛心網站的網絡化,本次的系統(tǒng)開發(fā)是失誤招領網站網絡化的推進,具有深遠意義。關鍵詞:失誤招領網站,java,mysqlDesignandimplementationoflostandfoundthewebsiteAbstractTherapiddevelopmentofthenetwork,twenty-firstCenturiestoday,humansocietyhasenteredintotheinformationage,isthenetworkhighspeeddevelopmentstage.Thenetworkhasgraduallyintopeople'slives,closelyrelatedtoonlineinformationandpeople'slifeariotofcolors.TheInternethasbecomeanimportantchannelforpeopletoobtain,releaseandtransferinformation,itplaysanimportantroleinpeople'spolitical,economic,allaspectsoflife,itsreal-time,conveniencehasbeenlovedbythepeople.Somesitessuchastheemergenceofalargenumberofdomesticlikebambooshootsafteraspringrain.Thewebsiteprovidesavarietyofservicesinformation,achievethecentralizedmanagementofinformation,makepeoplemorequicklyfindtheinformationyouneed.ThatisatraditionalvirtueoftheChinesenation,increasingdevelopmentinthiseraofthenetwork,theInternetsearchhasbecomeoneofthemostsimpleandconvenientway,onlyneedtositathomecanclearlyknowyourselflostthings.Withtherapiddevelopmentofcomputertechnology,collegesanduniversitieshaveenteredtheinformationage.Thenetworklovewebsitethedevelopmentofthissystemmainlytosolvetheseproblems,aslongasthestudentsregisteredwebsitecanseethelostandfoundinformation,studentscanalsoreleaselostorfoundinformation,canbeveryconvenienttofindtheirlostthings.Thisgraduateofthedesignonthecurrentdomesticandforeignadvancedwebsitebasis,takingJavaasthedevelopmentlanguage,MyEclipseasadevelopmenttool,MySQLasdatabase,carriesonthedevelopmentwiththelostandfoundtherelevantinformationwebsite.Thissystemhasgoodflexibility,expansibility,compatibility,easymaintenance,theinterfaceisbeautiful,functionalandpracticalfunction.Systemoperation,themanagementofstaff'srequestisverylow,onlyneedtoknowthebasiccomputeroperationcanbecompetentthejob.Thispaperexpoundstheadvantagesofthecampusnetwork,andtomadethesystemanalysisanddesign,therealizationprocessofthestationareintroducedindetail.Afterthecompletionofsystemrealizesthenetworklovewebsite,thesystemdevelopmentistopromotecampuslovewebsitenetwork,hasfar-reachingsignificance.Keywords:lostandfoundwebsite,java,mysql目錄摘要 IAbstract II第1章緒論 31.1課題背景 31.2目的與意義 31.3課題研究主要內容 41.3.1管理員功能 41.3.2用戶功能 41.4國內外現(xiàn)狀 4第2章需求分析 52.1系統(tǒng)用例分析 52.2功能需求分析 52.3數據需求分析 52.4數據字典分析 62.5系統(tǒng)模塊E-R圖 72.6關鍵技術介紹 102.6.1java技術簡介 102.6.2mysql簡介 102.6.3jsp簡介 112.6.4S.S.H框架的優(yōu)點 11第3章系統(tǒng)設計 143.1系統(tǒng)概要設計 143.1.1體系結構圖 143.1.2功能層次圖 143.2數據設計 153.3功能模塊設計 173.3.1用戶注冊模塊設計 183.3.2登錄功能模塊設計 183.4頁面設計 203.4.1后臺頁面設計 203.4.2前臺頁面設計 21第4章系統(tǒng)實現(xiàn) 224.1數據庫連接的實現(xiàn) 224.2功能模塊實現(xiàn) 224.2.1用戶注冊功能模塊實現(xiàn) 224.2.2登錄模塊實現(xiàn) 244.2.3失物招領總體模塊實現(xiàn) 264.3頁面實現(xiàn) 264.3.1發(fā)布尋物信息頁面實現(xiàn) 264.3.2發(fā)布招領信息頁面實現(xiàn) 284.3.3寫感謝信頁面實現(xiàn) 294.3.4成功案例頁面實現(xiàn) 314.3.5用戶管理頁面實現(xiàn) 324.3.6物品管理頁面實現(xiàn) 344.3.7評論管理頁面實現(xiàn) 36第5章系統(tǒng)測試 385.1測試方案 385.2測試結果分析 38第6章結論 396.1總結 396.2展望 39參考文獻 40致謝 411緒論1.1課題背景隨著互聯(lián)網的普及,我們越來越多的在網上獲得信息的來源,當我們需要發(fā)布某些信息的時候我們首先想到的就是運用互聯(lián)網進行。網站的質量是在于用戶的體驗和信息的質量,只要網站知識多、信息量大就一定會走進用戶的心里。另一方面就是網站的穩(wěn)定性和安全性,穩(wěn)定性是基于代碼的質量和數據庫的優(yōu)化,安全性在于網站的用戶資料的安全和網站后臺的安全,所以資料加密是很重要的?,F(xiàn)如今隨著我們的生活越來越好,珍貴的東西也越來越多,比如手機,錢包等。如果丟失了,我們只能自己去發(fā)宣傳單去找丟失的東西,這樣我們的生活失去了效率,同時也失去了最準確的信息?,F(xiàn)在這個團隊的社會,我們自己可能無法完成一個事情,可能我們在短期內無法找到幫手幫助到我們,使我們無法直接聯(lián)系到可以幫助到我們的人。本次開發(fā)的系統(tǒng)就是針對這種情況開發(fā)的?,F(xiàn)在市面上有很多這樣的系統(tǒng),但是大多都是操作復雜,不切實際的,所以開發(fā)一套具體的專門的系統(tǒng)很有必要。因為現(xiàn)在的網絡對人們來說,已經不單單是查看資料,獲取信息的單一用途了,現(xiàn)在它更成為了人們生活的一種理念,越來越多的人喜歡在網上瀏覽發(fā)布信息。1.2目的與意義這個網站可以實現(xiàn)集中性的失物認領功能,我們可以把自己撿到的東西,發(fā)到網上,我們也可以把自己丟的東西發(fā)到網上,看有沒有人來認領或撿到。而且我們還提供了,愛心功能,可能我們的生活,自己無法解決一切問題,如果真要發(fā)生問題,短時間內無法尋求到幫助,我們就可以開發(fā)這樣一項功能,讓自己有困難的事情發(fā)到網上,尋求幫助。這樣可以做到集中管理的效果,規(guī)模效應,可以為我們的生活提供更高的效率保證,也可以從中交到朋友,從中收獲友誼,使我們每個人都可以奉獻出自己的一片愛心。雖然現(xiàn)在很多學校已有失物招領中心,但是這些中心在記錄失物等的信息時全部都是用筆紙記錄的。當失物招領中心的記錄很多時查詢起來會耗費大量的時間,同時失主必須到失物招領中心才能報失自己丟失的物品或者確認自己丟失的東西是否保存在失物招領中心。因此開發(fā)失物招領管理系統(tǒng)是一件迫在眉睫的事情。所以此系統(tǒng)的開發(fā)必將受到師生的廣泛好評,具有實際而深遠的意義。1.3課題研究主要內容本課題研究一種基于校友愛心網站模式,研究該愛心網站模式下給用戶帶來的方便以及該模式存在的一些不足,同時研究網頁制作的一些基本規(guī)律和總結一些基本經驗,以及研究分模塊開發(fā)在網頁開發(fā)中的優(yōu)勢,以及研究在數據庫的設計中,如何設計表,如何設計表和表之間的聯(lián)系,以及使用JSP制作網頁的一些基本經驗,使用Javascript技術使頁面更加人性化。同時探索采用現(xiàn)在流行的制作網頁的模式MVC模式實現(xiàn)頁面的流程跳轉。失誤招領所需要的功能從會員角度進行劃分,可以分為普通用戶功能和后臺管理功能。普通用戶功能主要提供給系統(tǒng)的學生使用,包括用戶的注冊、登錄,發(fā)布尋物信息,發(fā)布招領信息,寫感謝信等;后臺管理功能主要提供給系統(tǒng)的管理人員使用,包括對用戶、物品、感謝信等的管理。1.3.1管理員功能管理員可以修改密碼,對用戶進行管理,對物品管理如物品信息,更改物品狀態(tài),對感謝信管理,評論管理等。1.3.2用戶功能系統(tǒng)完成后真正實現(xiàn)了愛心網站的網絡化,使師生們隨意注冊,并可以在系統(tǒng)中發(fā)布尋物信息或是招領信息,同時可以寫感謝信表達謝意,用戶之間也可以通過評論來交流等。1.4國內外現(xiàn)狀雖然我國的網絡發(fā)展較為迅速,但是類似于這類的愛心網站還是不是很多,都是剛剛起步,一些網站的相關功能也不是很完善,近些年隨著電腦的普及才被人們了解注意到,更多的開始關注失物招領的網站。如在美、日等信息化程度較高的國家和地區(qū),愛心網站早已被人們所熟知,已經幫助了千千萬萬的人們,得到了人們的一致好評。所以,我國的失物招領網站的發(fā)展還有很長一段路要走,但是它的未來一定是光明的充滿正能量的。2需求分析隨著軟件系統(tǒng)復雜性的提高及規(guī)模的擴大,需求分析在軟件開發(fā)中所處的地位愈加突出。所謂需求,是指用戶對目標軟件系統(tǒng)在功能、行為、性能設計約束等方面的要求。在需求分析的研究中,系統(tǒng)開發(fā)人員必須對用戶的需求進行調查和分析,結合實際環(huán)境的特征,正確定義目標軟件的特征。因此,需求分析至關重要。2.1系統(tǒng)用例分析用例圖是闡明了業(yè)務用例實現(xiàn)的工作流程。業(yè)務用例工作流程說明了業(yè)務為向所服務的業(yè)務主角提供其所需的價值而必須完成的工作,如圖2.1所示。圖2.1系統(tǒng)的用例圖2.2功能需求分析分層的用例圖及用例描述在不同條件下,系統(tǒng)對某一項目相關人員的請求所做出的響應,是系統(tǒng)中各相關人員之間就系統(tǒng)行為所達成的契約,在面向對象軟件工程方法的需求階段用來分析功能需求。失誤招領的設計實現(xiàn)以下功能:(1)管理員功能:管理員可以修改密碼,對用戶進行管理,對物品管理如物品信息,更改物品狀態(tài),對感謝信管理,評論管理等。(2)用戶功能:師生們隨意注冊,并可以在系統(tǒng)中發(fā)布尋物信息或是招領信息,同時可以寫感謝信表達謝意,用戶之間也可以通過評論來交流等。2.3數據需求分析概念模型設計的典型方法是用E-R圖方法,即用實體-聯(lián)系模型表示。E-R方法是用E-R圖來描述顯示世界,E-R圖包含三個基本成分:實體、聯(lián)系、屬性。它直觀易懂,能夠比較準確地反映現(xiàn)實世界的信息聯(lián)系,從概念上表示一個數據庫的信息組織情況。本系統(tǒng)E-R圖如圖2.2所示:圖2.2失誤招領網站的ER圖2.4數據字典分析數據字典是對所有與系統(tǒng)相關的數據元素的一個有組織的列表和精確的、嚴格的定義,根據前面對網站各個權限用戶模塊的功能分析和對數據庫中實體關系的設計,可以看到網站中所用到的數據信息基本包括:分類表、感謝信表、回復表、失物招領表、用戶表等。本系統(tǒng)的主要數據字典如下所示。分類表名稱類型空備注idint(11)no主鍵namevarchar(255)yes分類名感謝信表名稱類型空備注idint(11)no主鍵createtimedatetimeyes添加時間infovarchar(255)yes詳情描述titlevarchar(255)yes標題uidint(11)yes添加用戶3、回復表名稱類型空備注idint(11)no主鍵contentvarchar(255)yes回復內容createtimedatetimeyes添加時間gidint(11)no關聯(lián)的失誤IDuidint(11)yes關聯(lián)的用戶ID失物招領表名稱類型空備注idint(11)no主鍵addressvarchar(255)yes丟失地點createtimedatetimeyes添加時間happentimedatetimeyes丟失時間infovarchar(255)yes詳情描述mobilevarchar(255)yes手機namevarchar(255)yes物品名稱qqvarchar(255)yesQQremarkvarchar(255)yes備注resultvarchar(255)yes結果stateint(11)no狀態(tài)titlevarchar(255)yes標題typenamevarchar(255)yes失物cidint(11)yes子分類claimuidint(11)yes添加的用戶uicint(11)yes關聯(lián)的用戶5、用戶名名稱類型空備注idint(11)no主鍵createtimedatetimeyes添加時間emailvarchar(255)yes郵箱passwordvarchar(255)yes密碼roleint(11)no用戶權限userlockint(11)no是否刪除標志usernamevarchar(255)yes用戶名2.5系統(tǒng)模塊E-R圖針對本系統(tǒng)特點,數據庫設計采用的各個組成部分的數據項和數據結構如下所示:(1)t_category分類實體圖圖2.3分類實體圖(2)t_thanksletter感謝信實體圖圖2.4感謝信實體圖(3)t_reply回復實體圖圖2.5回復實體圖(4)t_goods失物招領實體圖圖2.6失物招領實體圖(7)t_user用戶實體圖圖2.7用戶實體圖2.6關鍵技術介紹2.6.1java技術簡介Java平臺由Java虛擬機(JavaVirtualMachine)和Java應用編程接口(ApplicationProgrammingInterface、簡稱API)構成。Java應用編程接口為Java應用提供了一個獨立于操作系統(tǒng)的標準接口,可分為基本部分和擴展部分。在硬件或操作系統(tǒng)平臺上安裝一個Java平臺之后,Java應用程序就可運行。Java應用編程接口已經從1.1x版發(fā)展到1.2版。目前常用的Java平臺基于Java1.5,最近版本為Java1.7。Java分為三個體系JavaSE(Java2PlatformStandardEdition,java平臺標準版),JavaEE(Java2Platform,EnterpriseEdition,java平臺企業(yè)版),JavaME(Java2PlatformMicroEdition,java平臺微型版)。Java的誕生是對傳統(tǒng)計算機模式的挑戰(zhàn),對計算機軟件開發(fā)和軟件產業(yè)都產生了深遠的影響:(1)軟件4A目標要求軟件能達到任何人在任何地方在任何時間對任何電子設備都能應用。這樣能滿足軟件平臺上互相操作,具有可伸縮性和重用性并可即插即用等分布式計算模式的需求。(2)基于構建開發(fā)方法的崛起,引出了CORBA國際標準軟件體系結構和多層應用體系框架。在此基礎上形成了Java.2平臺和.NET平臺兩大派系,推動了整個IT業(yè)的發(fā)展。(3)對軟件產業(yè)和工業(yè)企業(yè)都產生了深遠的影響,軟件從以開發(fā)為中心轉到了以服務為中心。中間提供商,構件提供商,服務器軟件以及咨詢服務商出現(xiàn)。2.6.2mysql簡介數據庫使用的是MySQL開源數據庫。MySQL的特性:使用C和C++編寫,并使用了多種編譯器進行測試,保證源代碼的可移植性。支持AIX、FreeBSD、HP-UX、MacOS、OpenBSD、OS/2Wrap、Solaris、Windows等多種操作系統(tǒng)。為多種編程語言提供API。這些編程語言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。支持多線程充分利用CPU資源。優(yōu)化的SQL查詢算法,有效地提高查詢速度。既能夠作為一個單獨的應用程序應用在客戶端服務器網絡環(huán)境中,也能夠作為一個庫而嵌入到其他的軟件中提供多語言支持,常見的編碼如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作數據表名和數據列名。提供TCP/IP、ODBC和JDBC等多種數據庫連接途徑。提供用于管理、檢查、優(yōu)化數據庫操作的管理工具??梢蕴幚頁碛猩锨f條記錄的大型數據庫。MySQL的應用:與其他的大型數據庫例如Oracle、DB2、SQLServer等相比,MySQL自有它的不足之處,如規(guī)模小、功能有限(MySQLCluster的功能和效率都相對比較差)等,但是這絲毫也沒有減少它受歡迎的程度。對于一般的個人使用者和中小型企業(yè)來說,MySQL提供的功能已經綽綽有余,而且由于MySQL是開放源碼軟件,因此可以大大降低總體成本。2.6.3jsp簡介本系統(tǒng)采用jsp技術,基于MVC模式開發(fā),使用SSH框架(struts2、spring、hibernate)來增加系統(tǒng)的開發(fā)速度。所謂的MVC模式是"Model-View-Controller"的縮寫,中文翻譯為"模式-視圖-控制器"。程序就是用struts2和hibernate這兩個框架來實現(xiàn)模型層和控制器這兩層,jsp實現(xiàn)視圖這一層。一般來說程序就是在數據庫和頁面之間起橋梁作用的,jsp頁面請求先到action,再到dao,再回到action,回到jsp頁面,action主要處理來自頁面的請求,dao主要是和數據庫的交互,struts2主要用在action,處理來自頁面的請求,處理完請求后跳轉回頁面。Hibernate主要用在dao,包括對數據庫的增、刪、改、查的操作,spring控制程序的流程。2.6.4S.S.H框架的優(yōu)點S.S.H框架是J2EE應用中struts2+spring+hibernate三大免費開源框架的結合使用,它可以看成工具,也是中間件。他是用來提高我們的開發(fā)效率,提高我們軟件產品的可維護性、可擴展性乃至敏捷性的。他們里面有很多優(yōu)秀的設計理念及模式應用。比如,struts屬于MVC框架,關鍵是要了解MVC的概念及大致原理;而hibernate屬于ORM系統(tǒng),屬于持久層的解決方案,同樣需要對ORM的概念及原理有一個總體的了解。而spring屬于應用程序框架,其核心是IOC容器以及AOP,Spring中還集成了很多適用東西,比如對JDBC的封裝、自己的MVC、對動態(tài)語言的簡潔訪問等,它由以下3個框架構成:1.Struts2框架Struts2是Apache組織的一個開放源碼項目。Struts2是一個比較好的MVC框架,提供了對開發(fā)MVC系統(tǒng)的底層支持,它采用的主要技術是Servlet,JSP和Customtaglibrary。其基本構成如圖2.8所示。 圖2.8Struts框架工作流程2.Spring框架Spring的核心是個輕量級(Lightweight)的容器(Container),它是實現(xiàn)IoC(InversionofControl)容器、非侵入性(Nointrusive)的框架,并提供AOP(Aspect-orientedprogramming)概念的實現(xiàn)方式,提供對持久層(Persistence)、事務(Transaction)的支持,提供MVCWeb框架的實現(xiàn),并對一些常用的企業(yè)服務API(ApplicationInterface)提供一致的模型封裝,是一個全方位的應用程序框架(Applicationframework),除此之外,對于現(xiàn)存的各種框架(Struts、JSF、Hibernate等),Spring也提供了與它們相整合的方案。Spring框架由以下7個部分組成圖2.9Spring框架構成3.Hibernate框架Hibernate是一個開放源碼的ORM持久層框架。作為優(yōu)秀的持久層框架實現(xiàn),Hibernate框架提供了強大、高性能的對象到關系型數據庫的持久化服務,開發(fā)人員可以使用面向對象的設計進行持久層開發(fā)。簡單的說,Hibernate只是一個將持久化類與數據庫表相映射的工具,每個持久化類實例均對應于數據庫表中的一個數據行而已。用戶只需直接使用面向對象的方法操作持久化類實例,即可完成對數據庫表數據的插入、刪除、修改、讀取等操作。圖2.10Hibernate框架
3系統(tǒng)設計3.1系統(tǒng)概要設計在概要設計中主要確定了系統(tǒng)的實現(xiàn)手段,定義了校園概況的邊界和主要技術結構,給出了后續(xù)工作繼續(xù)實施的所有技術要點,是開發(fā)人員在下一階段進行詳細設計的指導性文件,也是考核系統(tǒng)總體質量的重要技術文檔。本次的系統(tǒng)開發(fā)完全是一切為用戶著想,界面要美觀大方,操作盡量簡單明了,使其失誤招領網站上愛心網站的管理實現(xiàn)規(guī)范化、科學化。因為失誤招領網站上愛心網站的使用者大多都是普通的用戶,并不具備非常專業(yè)的計算機類知識,過于復雜的系統(tǒng)將會使系統(tǒng)操作人員不方便使用,因此,簡單實用的系統(tǒng)成為了系統(tǒng)意向非常重要的指標,能夠適用于任何人群,不需要太多的計算機類知識,僅僅只要求使用的工作人員具有最基本的計算機知識,即可用系統(tǒng)完成中的基本業(yè)務處理,而且系統(tǒng)能夠極大的提升工作人員的工作效率。3.1.1體系結構圖體系結構圖描述根據各子系統(tǒng)如何共享數據、如何分布、如何相互交互,可開發(fā)更加特定的風格(模型),分層體系結構圖如圖3.1所示。圖3.1網站分層體系結構圖3.1.2功能層次圖合理的功能模塊的劃分能夠極大限度地減少重復勞動、提高開發(fā)工作的效率并增大系統(tǒng)的可維護性。功能層次圖描述軟件的層次結構,用來設計軟件體系結構,如圖3.2所示。系統(tǒng)功能系統(tǒng)功能用戶管理員瀏覽尋物貼成功案例查看招領貼感謝信用戶注冊發(fā)布尋物貼發(fā)布招領貼寫感謝信感謝信管理評論管理修改密碼用戶管理物品管理圖3.2系統(tǒng)功能層次圖3.2數據設計數據邏輯結構模型-具體數據表的結構:概念結構設計階段完成的概念模型轉換成能被選定的數據庫管理系統(tǒng)(DBMS)支持的數據模型。目前常見的是關系模型。如圖3.3所示。(1)分類Category類圖圖3.3分類類圖(2)感謝信ThanksLetter類圖圖3.4感謝信類圖(3)回復類圖圖3.5回復類圖(4)失物招領Goods類圖圖3.6失物招領類圖(5)用戶User類圖圖3.7用戶類圖3.3功能模塊設計在結構化系統(tǒng)設計中,模塊一般都是按功能劃分的,通常稱為功能模塊。合理的功能模塊的劃分能夠極大限度地減少重復勞動、提高開發(fā)工作的效率并增大系統(tǒng)的可維護性。3.3.1用戶注冊模塊設計用戶注冊時需要填寫郵箱、登錄密碼、昵稱即可完成注冊。注冊功能模塊注冊功能模塊登錄密碼昵稱圖3.8注冊功能模塊圖郵箱3.3.2登錄功能模塊設計用戶必須登錄后才可以在網站中發(fā)布信息,用戶登錄流程圖如下圖3.9所示:系統(tǒng)登錄開始系統(tǒng)登錄開始顯示登陸界面錄入用戶名、密碼驗證用戶身份進入網站系統(tǒng)登錄結束提示:**錯誤/**錯誤正確圖3.9用戶登錄流程圖順序圖可以顯示多個對象之間的動態(tài)協(xié)作,如圖3.7所示。1.感謝信模塊時序圖圖3.10感謝信模塊用例的順序圖2.失物招領信息模塊時序圖圖3.10失物招領信息模塊時序圖3.用戶信息模塊時序圖圖3.12用戶時序圖3.4頁面設計人機交互子系統(tǒng)是用戶所能直接看到的,是給用戶的第一感覺,他現(xiàn)在已經成為判斷一個軟件好壞的重要標準。設計出一個易用、低錯、適應、美觀的界面,能夠使用戶自如的完成操作,而用戶不需要有較高的計算機專業(yè)知識和技能。前期對項目的大量細致的分析,以及對用戶群的調查,充分考慮實際操作的各項細節(jié),使得普通用戶在不需要查看用戶手冊的情況下亦能很自如的操作系統(tǒng),并對操作流程有清晰的了解。網站首頁突出簡潔大方的效果。首頁是本站所有內容的縮影,可謂“麻雀雖小,五臟具全”。包括用戶注冊、登錄、發(fā)布信息、寫感謝信等幾部分。3.4.1后臺頁面設計管理員在后臺管理物品信息、感謝信管理、評論管理、用戶管理等,其具體的模塊結構圖如下圖3.8所示:后臺管理后臺管理接收后臺管理要求根據后臺管理要求系統(tǒng)登錄管理用戶管理物品管理感謝信管理評論管理修改密碼圖3.8后臺總結構圖3.4.2前臺頁面設計在系統(tǒng)前臺中用戶可以注冊、登錄、瀏覽信息、發(fā)布尋物信息、發(fā)布招領信息、寫感謝信、查看成功案例等,具體的前臺模塊結構圖如圖3.9所示:前臺管理前臺管理接收前臺管理要求根據前臺管理要求用戶注冊用戶登錄發(fā)布尋物貼發(fā)布招領貼寫感謝信查看招領貼瀏覽尋物貼成功案例圖3.9前臺總體結構圖4系統(tǒng)實現(xiàn)4.1數據庫連接的實現(xiàn)本系統(tǒng)采用JDBC數據庫的連接方法,JDBC(JavaDataBaseConnectivity,java數據庫連接)是一種用于執(zhí)行SQL語句的JavaAPI,可以為多種關系數據庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC為工具/數據庫開發(fā)人員提供了一個標準的API,據此可以構建更高級的工具和接口,使數據庫開發(fā)人員能夠用純JavaAPI編寫數據庫應用程序,同時,JDBC也是個商標名。4.2功能模塊實現(xiàn)4.2.1用戶注冊功能模塊實現(xiàn)用戶必須先注冊成為本站的會員才可以在系統(tǒng)中預定、填寫反饋信息等操作,具體實現(xiàn)頁面如圖4.1所示:圖4.1用戶注冊頁面其用戶注冊流程圖如下圖4.2所示:圖4.2用戶注冊流程圖代碼如下: //用戶注冊 publicvoiduseradd()throwsIOException{ HttpServletRequestrequest=ServletActionContext.getRequest(); HttpServletResponseresponse=ServletActionContext.getResponse(); response.setHeader("content-type","text/html;charset=UTF-8"); PrintWriterwriter=response.getWriter(); Stringusername=request.getParameter("username"); Stringpassword=request.getParameter("password"); Stringemail=request.getParameter("email"); Useruser=newUser(); user.setUsername(username); user.setPassword(password); user.setEmail(email); user.setRole(0); user.setUserlock(0); //SimpleDateFormatdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");//設置日期格式 user.setCreatetime(newDate(System.currentTimeMillis())); Userolduser=userDao.selectBean("whereemail='"+email+"'"); if(olduser!=null){ writer.print("<scriptlanguage='javascript'>alert('郵箱已經存在!!');window.history.go(-1);</script>"); return; } userDao.insertBean(user); writer.print("<scriptlanguage='javascript'>alert('注冊成功');window.location.href='login.jsp';</script>"); } 4.2.2登錄模塊實現(xiàn)用戶登錄后可以發(fā)布信息,寫感謝信等,具體如圖4.3所示圖4.3登錄頁面流程圖如圖4.4所示:圖4.4登錄流程圖代碼如下: //用戶登陸操作 publicvoidlogin()throwsIOException{ HttpServletRequestrequest=ServletActionContext.getRequest(); HttpServletResponseresponse=ServletActionContext.getResponse(); response.setHeader("content-type","text/html;charset=UTF-8"); PrintWriterwriter=response.getWriter(); Stringemail=request.getParameter("email"); Stringpassword=request.getParameter("password"); Useruser=userDao.selectBean("whereemail='"+email+"'andpassword='"+password+"'anduserlock=0"); if(user!=null){ HttpSessionsession=request.getSession(); session.setAttribute("user",user); writer.print("<scriptlanguage='javascript'>alert('登陸成功');window.location.href='index.jsp';</script>"); }else{ writer.print("<scriptlanguage='javascript'>alert('用戶名或者密碼錯誤');window.location.href='login.jsp';</script>"); } }4.2.3失物招領總體模塊實現(xiàn)圖4.5失物招領流程圖4.3頁面實現(xiàn)4.3.1發(fā)布尋物信息頁面實現(xiàn)用戶登錄后才可以在系統(tǒng)中發(fā)布尋物信息如標題、物品種類、物品名稱、丟失時間、丟失地點、描述等信息,頁面如下圖4.6所示:圖4.6發(fā)布尋物信息頁面代碼如下: //尋物 publicStringlost()throwsIOException{ HttpServletRequestrequest=ServletActionContext.getRequest(); HttpServletResponseresponse=ServletActionContext.getResponse(); response.setContentType("text/html;charset=UTF-8"); intcurrentpage=1; intpagesize=10; if(request.getParameter("pagenum")!=null){ currentpage=Integer.parseInt(request.getParameter("pagenum")); } Stringwhere="wheretypename='lost'andstate=0orderbyiddesc"; longtotal=goodsDao.selectBeanCount(where); List<Goods>list=goodsDao.selectBeanList(current1,pagesize,where); request.setAttribute("list",list); Stringpagerinfo=Pager.getPagerNormal((int)total,pagesize,currentpage,"goods!lost","共有"+total+"條記錄"); request.setAttribute("pagerinfo",pagerinfo); this.setUrl("lost.jsp"); returnSUCCESS; }4.3.2發(fā)布招領信息頁面實現(xiàn)用戶登錄后也可以發(fā)布招領信息如標題、物品種類、撿到時間、撿到地點、手機號、描述等信息,具體如圖4.7所示:圖4.7發(fā)布招領信息頁面代碼如下: //招領 publicStringfind()throwsIOException{ HttpServletRequestrequest=ServletActionContext.getRequest(); HttpServletResponseresponse=ServletActionContext.getResponse(); response.setContentType("text/html;charset=UTF-8"); intcurrentpage=1; intpagesize=10; if(request.getParameter("pagenum")!=null){ currentpage=Integer.parseInt(request.getParameter("pagenum")); } Stringwhere="wheretypename='find'andstate=0orderbyiddesc"; longtotal=goodsDao.selectBeanCount(where); List<Goods>list=goodsDao.selectBeanList(current1,pagesize,where); request.setAttribute("list",list); Stringpagerinfo=Pager.getPagerNormal((int)total,pagesize,currentpage,"goods!find","共有"+total+"條記錄"); request.setAttribute("pagerinfo",pagerinfo); this.setUrl("find.jsp"); returnSUCCESS; }4.3.3寫感謝信頁面實現(xiàn)用戶可以在系統(tǒng)中寫感謝信以表達對撿到物品的人感謝,如圖4.8所示:圖4.8寫感謝信頁面代碼如下: /** *保存 *@authorAdministrator * */ publicvoidwritesave()throwsIOException{ HttpServletRequestrequest=ServletActionContext.getRequest(); HttpServletResponseresponse=ServletActionContext.getResponse(); response.setContentType("text/html;charset=UTF-8"); HttpSessionsession=request.getSession(); if(session.getAttribute("user")==null){ PrintWriterwriter=response.getWriter(); writer.print("<scriptlanguage='javascript'>alert('請先登錄');window.location.href='login.jsp';</script>"); return; } Stringinfo=request.getParameter("info"); Stringtitle=request.getParameter("title"); Useruser=newUser(); user=(User)request.getSession().getAttribute("user"); Datecreatetime=newDate(System.currentTimeMillis()); ThanksLetterthanks=newThanksLetter(); thanks.setTitle(title); thanks.setInfo(info); thanks.setCreateuser(user); thanks.setCrearetime(createtime); thanksDao.insertBean(thanks); PrintWriterwriter=response.getWriter(); writer.print("<scriptlanguage='javascript'>alert('提交成功');window.location.href='thanks!list';</script>"); }4.3.4成功案例頁面實現(xiàn)用戶可以查看系統(tǒng)中成功案例信息,如圖4.9所示:圖4.9成功案例頁面代碼如下: publicStringsuccess()throwsIOException{ HttpServletRequestrequest=ServletActionContext.getRequest(); HttpServletResponseresponse=ServletActionContext.getResponse(); response.setContentType("text/html;charset=UTF-8"); intcurrentpage=1; intpagesize=10; if(request.getParameter("pagenum")!=null){ currentpage=Integer.parseInt(request.getParameter("pagenum")); } Stringwhere="wherestate='1'orderbyiddesc"; longtotal=goodsDao.selectBeanCount(where); List<Goods>list=goodsDao.selectBeanList(current1,pagesize,where); request.setAttribute("list",list); Stringpagerinfo=Pager.getPagerNormal((int)total,pagesize,currentpage,"goods!success","共有"+total+"條記錄"); request.setAttribute("pagerinfo",pagerinfo); this.setUrl("success.jsp"); returnSUCCESS; }4.3.5用戶管理頁面實現(xiàn)管理員可以對系統(tǒng)用戶進行管理,如添加用戶,查看注冊用戶信息,刪除用戶等,如圖4.10所示:圖4.10用戶管理頁面代碼如下: //用戶信息列表 publicStringuserlist()throwsIOException{ HttpServletRequestrequest=ServletActionContext.getRequest(); HttpServletResponseresponse=ServletActionContext.getResponse(); response.setHeader("content-type","text/html;charset=UTF-8"); PrintWriterwriter=response.getWriter(); HttpSessionsession=request.getSession(); if(session.getAttribute("admin")==null){ writer.print("<scriptlanguage='javascript'>alert('請先登錄');window.location.href='login.jsp';</script>"); returnSUCCESS; } intcurrentpage=1; intpagesize=10; Stringemail=request.getParameter("email")==null?"":newString(request.getParameter("email").getBytes("ISO-8859-1"),"UTF-8");introle=request.getParameter("role")!=null?Integer.parseInt(request.getParameter("role")):-1; //introle=Integer.parseInt(request.getParameter("role")); if(request.getParameter("pagenum")!=null){ currentpage=Integer.parseInt(request.getParameter("pagenum")); } Stringwhere="where1=1"; if(!"".equals(email)){where+="andemail='"+email+"'";} if(role!=-1){where+="androle="+role;} where+="orderbyiddesc"; longtotal=userDao.selectBeanCount(where); List<User>list=userDao.selectBeanList(current1,pagesize,where); request.setAttribute("list",list); Stringpagerinfo=Pager.getPagerNormal((int)total,pagesize,currentpage,"method!yuangonglist","共有"+total+"條記錄"); request.setAttribute("pagerinfo",pagerinfo); request.setAttribute("email",email); request.setAttribute("role",role); this.setUrl("user/userlist.jsp"); returnSUCCESS; } 4.3.6物品管理頁面實現(xiàn)管理員可以查看用戶發(fā)布的尋物或是招領信息,更改物品狀態(tài)并可以刪除物品信息,如圖4.11所示: 圖4.11物品管理頁面代碼如下:/***物品管理列表*@return*@throwsIOException*/ publicStringgoodslist()throwsIOException{ HttpServletRequestrequest=ServletActionContext.getRequest(); HttpServletResponseresponse=ServletActionContext.getResponse(); response.setContentType("text/html;charset=UTF-8"); PrintWriterwriter=response.getWriter(); HttpSessionsession=request.getSession(); if(session.getAttribute("admin")==null){ writer.print("<scriptlanguage='javascript'>alert('請先登錄');window.location.href='login.jsp';</script>"); returnSUCCESS; } intcurrentpage=1; intpagesize=10; if(request.getParameter("pagenum")!=null){ currentpage=Integer.parseInt(request.getParameter("pagenum")); } if(request.getParameter("catid")!=null){ catid=Integer.parseInt(request.getParameter("catid")); }=request.getParameter("starttime")==null?"":request.getParameter("starttime");Stringendtime=request.getParameter("endtime")==null?"":request.getParameter("endtime"); Stringwhere="where1=1"; if(!"".equals(typename)){where+="andtypename='"+typename+"'";} if(!"".equals(key)){where+="andtitlelike'%"+key+"%'";} if(catid!=0){where+="andcategory.id="+catid;} if(!"".equals(address)){where+="andaddresslike'%"+address+"%'";} if(!"".equals(starttime)){where+="andhappentime>='"+starttime+"'";} if(!"".equals(endtime)){where+="andhappentime<='"+endtime+"'";} where+="orderbyiddesc"; request.setAttribute("key",key); longtotal=goodsDao.selectBeanCount(where); List<Goods>list=goodsDao.selectBeanList(current1,pagesize,where); request.setAttribute("list",list); Stringpagerinfo=Pager.getPagerNormal((int)total,pagesize,currentpage,"method!goodslist","共有"+total+"條記錄"); request.setAttribute("pagerinfo",pagerinfo); request.setAttribute("type",typename); request.setAttribute("address",address); request.setAttribute("starttime",starttime); request.setAttribute("endtime",endtime); request.setAttribute("key",key); request.setAttribute("catid",catid); this.setUrl("goods/goodslist.jsp"); returnSUCCESS; } 4.3.7評論管理頁面實現(xiàn)管理員可以查看用戶的評論信息并可以刪除信息,如圖4.12所示:圖4.12評論管理頁面代碼如下: /***評論列表*@return*@throwsIOException*/ publicStringreplylist()throwsIOException{ HttpServletRequestrequest=ServletActionContext.getRequest(); HttpServletResponseresponse=ServletActionContext.getResponse(); response.setContentType("text/html;charset=UTF-8"); PrintWriterwriter=response.getWriter(); HttpSessionsession=request.getSession(); if(session.getAttribute("admin")==null){ writer.print("<scriptlanguage='javascript'>alert('請先登錄');window.location.href='login.jsp';</script>"); returnSUCCESS; } intcurrentpage=1; intpagesize=10; if(request.getParameter("pagenum")!=null){ currentpage=Integer.parseInt(request.getParameter("pagenum")); } Stringwhere=""; longtotal=replyDao.selectBeanCount(where); List<Reply>replylist=replyDao.selectBeanList(current1,pagesize,""); request.setAttribute("list",replylist); Stringpagerinfo=Pager.getPagerNormal((int)total,pagesize,currentpage,"method!replylist","共有"+total+"條記錄"); request.setAttribute("pagerinfo",pagerinfo); this.setUrl("reply/replylist.jsp"); returnSUCCESS; }以上是系統(tǒng)中主要頁面的介紹。5系統(tǒng)測試5.1測試方案軟件測試從不同的角度出發(fā)會派生出兩種不同的測試原則,從用戶的角度出發(fā),就是希望通過軟件測試能充分暴露軟件中存在的問題和缺陷,從而考慮是否可以接受該產品,從開發(fā)者的角度出發(fā),就是希望測試能表明軟件產品不存在錯誤,已經正確地實現(xiàn)了用戶
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年殘疾人用車及其零件項目投資申請報告代可行性研究報告
- 濟南市鋼城區(qū)2025年八年級《語文》上學期期末試題與參考答案
- 2025年中國背心袋制袋機行業(yè)市場規(guī)模及未來投資方向研究報告
- 2025年中國保護套管行業(yè)市場前景預測及投資價值評估分析報告
- 教育平臺課程版權侵權處理補充協(xié)議
- 2025年中國半導體材料行業(yè)市場現(xiàn)狀及未來發(fā)展前景預測分析報告
- 網紅飲品店區(qū)域代理權授權及合作協(xié)議
- 離婚協(xié)議中明確公積金分割及管理細則合同
- 麻將廳轉讓協(xié)議書
- 投資人出資協(xié)議書
- 家政搬家合同協(xié)議
- 2025-2030中國核電用鋼行業(yè)市場發(fā)展分析及發(fā)展趨勢預測研究報告
- 口腔外科門診手術操作規(guī)范
- 綠色施工評價標準【B.0.1 批次評價表】
- 以案釋德、以案釋紀、以案釋法的教育心得體會
- 《公路橋梁無縫式樹脂彈性體伸縮裝置施工技術規(guī)程》
- 2025年吉林省中考模擬語文試卷試題及答案詳解
- 呼吸內科科普知識
- 體育賽事組織的合理化建議與措施
- 2023年普通高等學校招生全國統(tǒng)一考試(全國甲卷)物理試題含答案
- 構建素養(yǎng)導向的小學數學“套餐式”作業(yè)設計的實踐與研究
評論
0/150
提交評論