基于jsp的失物招領系統的設計與實現_第1頁
基于jsp的失物招領系統的設計與實現_第2頁
基于jsp的失物招領系統的設計與實現_第3頁
基于jsp的失物招領系統的設計與實現_第4頁
基于jsp的失物招領系統的設計與實現_第5頁
已閱讀5頁,還剩43頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

畢業設計說明書基于jsp的失物招領系統的設計與實現學生姓名:學號:學院:信息商務學院系名:電子與計算機科學技術系專業:網絡工程指導教師:2015年5月基于jsp的失物招領系統的設計與實現摘要網絡的迅猛發展,21世紀的今天人類社會已經進入到了信息化的時代,更是網絡化高速發展的階段。網絡逐漸走進人們的生活,五彩繽紛的網上信息與人們的生活密切相關。互聯網成為人們快速獲取、發布和傳遞信息的重要渠道,它在人們政治、經濟、生活等各個方面發揮著重要的作用,它的實時性、方便性得到了人們的喜愛。國內的一些網站也如雨后春筍般的大量涌現。這些網站提供多種服務信息,實現信息的集中化管理,人們更快捷地獲取需要的信息。拾金不昧是中華民族的傳統美德,在這個網絡日益發展的時代,網上尋物成為最簡單方便的方式,只需要坐在家里就可以清清楚楚地知道自己丟失物品的情況。隨著計算機技術的飛速發展,高校也已進入信息化時代。本次開發的網絡愛心網站系統主要對這些問題進行解決,學生只要注冊瀏覽網站就可以看到相關的失物招領信息,學生也可以發布尋物或是招領信息,可以十分方便的找到自己丟失的東西。本此畢業設計在研究目前國內外先進網站的基礎上,以java為開發語言,myeclipse為開發工具,mysql作為數據庫,結合失物招領相關信息進行開發的網站。這個系統具有伸縮性好,擴展性強,能兼容、易維護、界面美觀,功能實用的功能。系統操作上,它對管理的工作人員的要求極低,只需要懂得基本的計算機操作即可勝任中網的工作。本文闡述了校園網的優勢,并對所做系統站的分析、設計及實現過程做了詳細介紹。系統完成后真正實現了愛心網站的網絡化,本次的系統開發是失誤招領網站網絡化的推進,具有深遠意義。關鍵詞:失誤招領網站,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國內外現狀 4第2章需求分析 52.1系統用例分析 52.2功能需求分析 52.3數據需求分析 52.4數據字典分析 62.5系統模塊E-R圖 72.6關鍵技術介紹 102.6.1java技術簡介 102.6.2mysql簡介 102.6.3jsp簡介 112.6.4S.S.H框架的優點 11第3章系統設計 143.1系統概要設計 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章系統實現 224.1數據庫連接的實現 224.2功能模塊實現 224.2.1用戶注冊功能模塊實現 224.2.2登錄模塊實現 244.2.3失物招領總體模塊實現 264.3頁面實現 264.3.1發布尋物信息頁面實現 264.3.2發布招領信息頁面實現 284.3.3寫感謝信頁面實現 294.3.4成功案例頁面實現 314.3.5用戶管理頁面實現 324.3.6物品管理頁面實現 344.3.7評論管理頁面實現 36第5章系統測試 385.1測試方案 385.2測試結果分析 38第6章結論 396.1總結 396.2展望 39參考文獻 40致謝 411緒論1.1課題背景隨著互聯網的普及,我們越來越多的在網上獲得信息的來源,當我們需要發布某些信息的時候我們首先想到的就是運用互聯網進行。網站的質量是在于用戶的體驗和信息的質量,只要網站知識多、信息量大就一定會走進用戶的心里。另一方面就是網站的穩定性和安全性,穩定性是基于代碼的質量和數據庫的優化,安全性在于網站的用戶資料的安全和網站后臺的安全,所以資料加密是很重要的。現如今隨著我們的生活越來越好,珍貴的東西也越來越多,比如手機,錢包等。如果丟失了,我們只能自己去發宣傳單去找丟失的東西,這樣我們的生活失去了效率,同時也失去了最準確的信息。現在這個團隊的社會,我們自己可能無法完成一個事情,可能我們在短期內無法找到幫手幫助到我們,使我們無法直接聯系到可以幫助到我們的人。本次開發的系統就是針對這種情況開發的。現在市面上有很多這樣的系統,但是大多都是操作復雜,不切實際的,所以開發一套具體的專門的系統很有必要。因為現在的網絡對人們來說,已經不單單是查看資料,獲取信息的單一用途了,現在它更成為了人們生活的一種理念,越來越多的人喜歡在網上瀏覽發布信息。1.2目的與意義這個網站可以實現集中性的失物認領功能,我們可以把自己撿到的東西,發到網上,我們也可以把自己丟的東西發到網上,看有沒有人來認領或撿到。而且我們還提供了,愛心功能,可能我們的生活,自己無法解決一切問題,如果真要發生問題,短時間內無法尋求到幫助,我們就可以開發這樣一項功能,讓自己有困難的事情發到網上,尋求幫助。這樣可以做到集中管理的效果,規模效應,可以為我們的生活提供更高的效率保證,也可以從中交到朋友,從中收獲友誼,使我們每個人都可以奉獻出自己的一片愛心。雖然現在很多學校已有失物招領中心,但是這些中心在記錄失物等的信息時全部都是用筆紙記錄的。當失物招領中心的記錄很多時查詢起來會耗費大量的時間,同時失主必須到失物招領中心才能報失自己丟失的物品或者確認自己丟失的東西是否保存在失物招領中心。因此開發失物招領管理系統是一件迫在眉睫的事情。所以此系統的開發必將受到師生的廣泛好評,具有實際而深遠的意義。1.3課題研究主要內容本課題研究一種基于校友愛心網站模式,研究該愛心網站模式下給用戶帶來的方便以及該模式存在的一些不足,同時研究網頁制作的一些基本規律和總結一些基本經驗,以及研究分模塊開發在網頁開發中的優勢,以及研究在數據庫的設計中,如何設計表,如何設計表和表之間的聯系,以及使用JSP制作網頁的一些基本經驗,使用Javascript技術使頁面更加人性化。同時探索采用現在流行的制作網頁的模式MVC模式實現頁面的流程跳轉。失誤招領所需要的功能從會員角度進行劃分,可以分為普通用戶功能和后臺管理功能。普通用戶功能主要提供給系統的學生使用,包括用戶的注冊、登錄,發布尋物信息,發布招領信息,寫感謝信等;后臺管理功能主要提供給系統的管理人員使用,包括對用戶、物品、感謝信等的管理。1.3.1管理員功能管理員可以修改密碼,對用戶進行管理,對物品管理如物品信息,更改物品狀態,對感謝信管理,評論管理等。1.3.2用戶功能系統完成后真正實現了愛心網站的網絡化,使師生們隨意注冊,并可以在系統中發布尋物信息或是招領信息,同時可以寫感謝信表達謝意,用戶之間也可以通過評論來交流等。1.4國內外現狀雖然我國的網絡發展較為迅速,但是類似于這類的愛心網站還是不是很多,都是剛剛起步,一些網站的相關功能也不是很完善,近些年隨著電腦的普及才被人們了解注意到,更多的開始關注失物招領的網站。如在美、日等信息化程度較高的國家和地區,愛心網站早已被人們所熟知,已經幫助了千千萬萬的人們,得到了人們的一致好評。所以,我國的失物招領網站的發展還有很長一段路要走,但是它的未來一定是光明的充滿正能量的。2需求分析隨著軟件系統復雜性的提高及規模的擴大,需求分析在軟件開發中所處的地位愈加突出。所謂需求,是指用戶對目標軟件系統在功能、行為、性能設計約束等方面的要求。在需求分析的研究中,系統開發人員必須對用戶的需求進行調查和分析,結合實際環境的特征,正確定義目標軟件的特征。因此,需求分析至關重要。2.1系統用例分析用例圖是闡明了業務用例實現的工作流程。業務用例工作流程說明了業務為向所服務的業務主角提供其所需的價值而必須完成的工作,如圖2.1所示。圖2.1系統的用例圖2.2功能需求分析分層的用例圖及用例描述在不同條件下,系統對某一項目相關人員的請求所做出的響應,是系統中各相關人員之間就系統行為所達成的契約,在面向對象軟件工程方法的需求階段用來分析功能需求。失誤招領的設計實現以下功能:(1)管理員功能:管理員可以修改密碼,對用戶進行管理,對物品管理如物品信息,更改物品狀態,對感謝信管理,評論管理等。(2)用戶功能:師生們隨意注冊,并可以在系統中發布尋物信息或是招領信息,同時可以寫感謝信表達謝意,用戶之間也可以通過評論來交流等。2.3數據需求分析概念模型設計的典型方法是用E-R圖方法,即用實體-聯系模型表示。E-R方法是用E-R圖來描述顯示世界,E-R圖包含三個基本成分:實體、聯系、屬性。它直觀易懂,能夠比較準確地反映現實世界的信息聯系,從概念上表示一個數據庫的信息組織情況。本系統E-R圖如圖2.2所示:圖2.2失誤招領網站的ER圖2.4數據字典分析數據字典是對所有與系統相關的數據元素的一個有組織的列表和精確的、嚴格的定義,根據前面對網站各個權限用戶模塊的功能分析和對數據庫中實體關系的設計,可以看到網站中所用到的數據信息基本包括:分類表、感謝信表、回復表、失物招領表、用戶表等。本系統的主要數據字典如下所示。分類表名稱類型空備注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關聯的失誤IDuidint(11)yes關聯的用戶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狀態titlevarchar(255)yes標題typenamevarchar(255)yes失物cidint(11)yes子分類claimuidint(11)yes添加的用戶uicint(11)yes關聯的用戶5、用戶名名稱類型空備注idint(11)no主鍵createtimedatetimeyes添加時間emailvarchar(255)yes郵箱passwordvarchar(255)yes密碼roleint(11)no用戶權限userlockint(11)no是否刪除標志usernamevarchar(255)yes用戶名2.5系統模塊E-R圖針對本系統特點,數據庫設計采用的各個組成部分的數據項和數據結構如下所示:(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應用提供了一個獨立于操作系統的標準接口,可分為基本部分和擴展部分。在硬件或操作系統平臺上安裝一個Java平臺之后,Java應用程序就可運行。Java應用編程接口已經從1.1x版發展到1.2版。目前常用的Java平臺基于Java1.5,最近版本為Java1.7。Java分為三個體系JavaSE(Java2PlatformStandardEdition,java平臺標準版),JavaEE(Java2Platform,EnterpriseEdition,java平臺企業版),JavaME(Java2PlatformMicroEdition,java平臺微型版)。Java的誕生是對傳統計算機模式的挑戰,對計算機軟件開發和軟件產業都產生了深遠的影響:(1)軟件4A目標要求軟件能達到任何人在任何地方在任何時間對任何電子設備都能應用。這樣能滿足軟件平臺上互相操作,具有可伸縮性和重用性并可即插即用等分布式計算模式的需求。(2)基于構建開發方法的崛起,引出了CORBA國際標準軟件體系結構和多層應用體系框架。在此基礎上形成了Java.2平臺和.NET平臺兩大派系,推動了整個IT業的發展。(3)對軟件產業和工業企業都產生了深遠的影響,軟件從以開發為中心轉到了以服務為中心。中間提供商,構件提供商,服務器軟件以及咨詢服務商出現。2.6.2mysql簡介數據庫使用的是MySQL開源數據庫。MySQL的特性:使用C和C++編寫,并使用了多種編譯器進行測試,保證源代碼的可移植性。支持AIX、FreeBSD、HP-UX、MacOS、OpenBSD、OS/2Wrap、Solaris、Windows等多種操作系統。為多種編程語言提供API。這些編程語言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。支持多線程充分利用CPU資源。優化的SQL查詢算法,有效地提高查詢速度。既能夠作為一個單獨的應用程序應用在客戶端服務器網絡環境中,也能夠作為一個庫而嵌入到其他的軟件中提供多語言支持,常見的編碼如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作數據表名和數據列名。提供TCP/IP、ODBC和JDBC等多種數據庫連接途徑。提供用于管理、檢查、優化數據庫操作的管理工具。可以處理擁有上千萬條記錄的大型數據庫。MySQL的應用:與其他的大型數據庫例如Oracle、DB2、SQLServer等相比,MySQL自有它的不足之處,如規模小、功能有限(MySQLCluster的功能和效率都相對比較差)等,但是這絲毫也沒有減少它受歡迎的程度。對于一般的個人使用者和中小型企業來說,MySQL提供的功能已經綽綽有余,而且由于MySQL是開放源碼軟件,因此可以大大降低總體成本。2.6.3jsp簡介本系統采用jsp技術,基于MVC模式開發,使用SSH框架(struts2、spring、hibernate)來增加系統的開發速度。所謂的MVC模式是"Model-View-Controller"的縮寫,中文翻譯為"模式-視圖-控制器"。程序就是用struts2和hibernate這兩個框架來實現模型層和控制器這兩層,jsp實現視圖這一層。一般來說程序就是在數據庫和頁面之間起橋梁作用的,jsp頁面請求先到action,再到dao,再回到action,回到jsp頁面,action主要處理來自頁面的請求,dao主要是和數據庫的交互,struts2主要用在action,處理來自頁面的請求,處理完請求后跳轉回頁面。Hibernate主要用在dao,包括對數據庫的增、刪、改、查的操作,spring控制程序的流程。2.6.4S.S.H框架的優點S.S.H框架是J2EE應用中struts2+spring+hibernate三大免費開源框架的結合使用,它可以看成工具,也是中間件。他是用來提高我們的開發效率,提高我們軟件產品的可維護性、可擴展性乃至敏捷性的。他們里面有很多優秀的設計理念及模式應用。比如,struts屬于MVC框架,關鍵是要了解MVC的概念及大致原理;而hibernate屬于ORM系統,屬于持久層的解決方案,同樣需要對ORM的概念及原理有一個總體的了解。而spring屬于應用程序框架,其核心是IOC容器以及AOP,Spring中還集成了很多適用東西,比如對JDBC的封裝、自己的MVC、對動態語言的簡潔訪問等,它由以下3個框架構成:1.Struts2框架Struts2是Apache組織的一個開放源碼項目。Struts2是一個比較好的MVC框架,提供了對開發MVC系統的底層支持,它采用的主要技術是Servlet,JSP和Customtaglibrary。其基本構成如圖2.8所示。 圖2.8Struts框架工作流程2.Spring框架Spring的核心是個輕量級(Lightweight)的容器(Container),它是實現IoC(InversionofControl)容器、非侵入性(Nointrusive)的框架,并提供AOP(Aspect-orientedprogramming)概念的實現方式,提供對持久層(Persistence)、事務(Transaction)的支持,提供MVCWeb框架的實現,并對一些常用的企業服務API(ApplicationInterface)提供一致的模型封裝,是一個全方位的應用程序框架(Applicationframework),除此之外,對于現存的各種框架(Struts、JSF、Hibernate等),Spring也提供了與它們相整合的方案。Spring框架由以下7個部分組成圖2.9Spring框架構成3.Hibernate框架Hibernate是一個開放源碼的ORM持久層框架。作為優秀的持久層框架實現,Hibernate框架提供了強大、高性能的對象到關系型數據庫的持久化服務,開發人員可以使用面向對象的設計進行持久層開發。簡單的說,Hibernate只是一個將持久化類與數據庫表相映射的工具,每個持久化類實例均對應于數據庫表中的一個數據行而已。用戶只需直接使用面向對象的方法操作持久化類實例,即可完成對數據庫表數據的插入、刪除、修改、讀取等操作。圖2.10Hibernate框架

3系統設計3.1系統概要設計在概要設計中主要確定了系統的實現手段,定義了校園概況的邊界和主要技術結構,給出了后續工作繼續實施的所有技術要點,是開發人員在下一階段進行詳細設計的指導性文件,也是考核系統總體質量的重要技術文檔。本次的系統開發完全是一切為用戶著想,界面要美觀大方,操作盡量簡單明了,使其失誤招領網站上愛心網站的管理實現規范化、科學化。因為失誤招領網站上愛心網站的使用者大多都是普通的用戶,并不具備非常專業的計算機類知識,過于復雜的系統將會使系統操作人員不方便使用,因此,簡單實用的系統成為了系統意向非常重要的指標,能夠適用于任何人群,不需要太多的計算機類知識,僅僅只要求使用的工作人員具有最基本的計算機知識,即可用系統完成中的基本業務處理,而且系統能夠極大的提升工作人員的工作效率。3.1.1體系結構圖體系結構圖描述根據各子系統如何共享數據、如何分布、如何相互交互,可開發更加特定的風格(模型),分層體系結構圖如圖3.1所示。圖3.1網站分層體系結構圖3.1.2功能層次圖合理的功能模塊的劃分能夠極大限度地減少重復勞動、提高開發工作的效率并增大系統的可維護性。功能層次圖描述軟件的層次結構,用來設計軟件體系結構,如圖3.2所示。系統功能系統功能用戶管理員瀏覽尋物貼成功案例查看招領貼感謝信用戶注冊發布尋物貼發布招領貼寫感謝信感謝信管理評論管理修改密碼用戶管理物品管理圖3.2系統功能層次圖3.2數據設計數據邏輯結構模型-具體數據表的結構:概念結構設計階段完成的概念模型轉換成能被選定的數據庫管理系統(DBMS)支持的數據模型。目前常見的是關系模型。如圖3.3所示。(1)分類Category類圖圖3.3分類類圖(2)感謝信ThanksLetter類圖圖3.4感謝信類圖(3)回復類圖圖3.5回復類圖(4)失物招領Goods類圖圖3.6失物招領類圖(5)用戶User類圖圖3.7用戶類圖3.3功能模塊設計在結構化系統設計中,模塊一般都是按功能劃分的,通常稱為功能模塊。合理的功能模塊的劃分能夠極大限度地減少重復勞動、提高開發工作的效率并增大系統的可維護性。3.3.1用戶注冊模塊設計用戶注冊時需要填寫郵箱、登錄密碼、昵稱即可完成注冊。注冊功能模塊注冊功能模塊登錄密碼昵稱圖3.8注冊功能模塊圖郵箱3.3.2登錄功能模塊設計用戶必須登錄后才可以在網站中發布信息,用戶登錄流程圖如下圖3.9所示:系統登錄開始系統登錄開始顯示登陸界面錄入用戶名、密碼驗證用戶身份進入網站系統登錄結束提示:**錯誤/**錯誤正確圖3.9用戶登錄流程圖順序圖可以顯示多個對象之間的動態協作,如圖3.7所示。1.感謝信模塊時序圖圖3.10感謝信模塊用例的順序圖2.失物招領信息模塊時序圖圖3.10失物招領信息模塊時序圖3.用戶信息模塊時序圖圖3.12用戶時序圖3.4頁面設計人機交互子系統是用戶所能直接看到的,是給用戶的第一感覺,他現在已經成為判斷一個軟件好壞的重要標準。設計出一個易用、低錯、適應、美觀的界面,能夠使用戶自如的完成操作,而用戶不需要有較高的計算機專業知識和技能。前期對項目的大量細致的分析,以及對用戶群的調查,充分考慮實際操作的各項細節,使得普通用戶在不需要查看用戶手冊的情況下亦能很自如的操作系統,并對操作流程有清晰的了解。網站首頁突出簡潔大方的效果。首頁是本站所有內容的縮影,可謂“麻雀雖小,五臟具全”。包括用戶注冊、登錄、發布信息、寫感謝信等幾部分。3.4.1后臺頁面設計管理員在后臺管理物品信息、感謝信管理、評論管理、用戶管理等,其具體的模塊結構圖如下圖3.8所示:后臺管理后臺管理接收后臺管理要求根據后臺管理要求系統登錄管理用戶管理物品管理感謝信管理評論管理修改密碼圖3.8后臺總結構圖3.4.2前臺頁面設計在系統前臺中用戶可以注冊、登錄、瀏覽信息、發布尋物信息、發布招領信息、寫感謝信、查看成功案例等,具體的前臺模塊結構圖如圖3.9所示:前臺管理前臺管理接收前臺管理要求根據前臺管理要求用戶注冊用戶登錄發布尋物貼發布招領貼寫感謝信查看招領貼瀏覽尋物貼成功案例圖3.9前臺總體結構圖4系統實現4.1數據庫連接的實現本系統采用JDBC數據庫的連接方法,JDBC(JavaDataBaseConnectivity,java數據庫連接)是一種用于執行SQL語句的JavaAPI,可以為多種關系數據庫提供統一訪問,它由一組用Java語言編寫的類和接口組成。JDBC為工具/數據庫開發人員提供了一個標準的API,據此可以構建更高級的工具和接口,使數據庫開發人員能夠用純JavaAPI編寫數據庫應用程序,同時,JDBC也是個商標名。4.2功能模塊實現4.2.1用戶注冊功能模塊實現用戶必須先注冊成為本站的會員才可以在系統中預定、填寫反饋信息等操作,具體實現頁面如圖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登錄模塊實現用戶登錄后可以發布信息,寫感謝信等,具體如圖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失物招領總體模塊實現圖4.5失物招領流程圖4.3頁面實現4.3.1發布尋物信息頁面實現用戶登錄后才可以在系統中發布尋物信息如標題、物品種類、物品名稱、丟失時間、丟失地點、描述等信息,頁面如下圖4.6所示:圖4.6發布尋物信息頁面代碼如下: //尋物 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發布招領信息頁面實現用戶登錄后也可以發布招領信息如標題、物品種類、撿到時間、撿到地點、手機號、描述等信息,具體如圖4.7所示:圖4.7發布招領信息頁面代碼如下: //招領 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寫感謝信頁面實現用戶可以在系統中寫感謝信以表達對撿到物品的人感謝,如圖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成功案例頁面實現用戶可以查看系統中成功案例信息,如圖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用戶管理頁面實現管理員可以對系統用戶進行管理,如添加用戶,查看注冊用戶信息,刪除用戶等,如圖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物品管理頁面實現管理員可以查看用戶發布的尋物或是招領信息,更改物品狀態并可以刪除物品信息,如圖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評論管理頁面實現管理員可以查看用戶的評論信息并可以刪除信息,如圖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; }以上是系統中主要頁面的介紹。5系統測試5.1測試方案軟件測試從不同的角度出發會派生出兩種不同的測試原則,從用戶的角度出發,就是希望通過軟件測試能充分暴露軟件中存在的問題和缺陷,從而考慮是否可以接受該產品,從開發者的角度出發,就是希望測試能表明軟件產品不存在錯誤,已經正確地實現了用戶

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論