




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
本科畢業論文(設計) 題目:大學生論壇系統的設計與開發學院:專業班級:學號:學生姓名:指導教師姓名:指導教師職稱:年月日PAGE2摘要伴隨著3G網絡的發展,手機越來越普及并且成為最便捷的聯接網絡的終端。消費者也越來越注重對各個平臺的手機軟件的社交體驗。而且開發者也越來越注重手機客戶端的市場和推廣。對于如此便捷的環境,也應運產生了一批優秀的跨各種平臺的社交軟件。在競爭激烈的手機市場中,android手機的操作系統在完勝諾基亞的塞班系統后,一躍成為全球用戶量最大的只能手機平臺之一。而且android系統不但應用于智能手機,也在平板電腦市場中占有龐大的市場份額。為了方便校園中信息的實時發布,為了同學們方便溝通交流,為了鍛煉自身能力,我開發了一款專門為學生實用的android的論壇客戶端,該系統采用C/S架構。可以讓學生方便的接受發布者發布的信息,并且方便用戶之間的溝通。因為軟件專門為學生量身定做,所以受眾就是同校學生或者同城學生。校園可以在系統在發布實時信息(如畢業生廉價處理課本,生活用品,組團旅游等),讓志同道合的同志們都的看到,并且做出響應。打造一款大學生在校生活的精品軟件。系統基于android系統開發,采用java做服務器后臺,并且可以方便的擴展開發ios客戶端。在網絡發展成熟的今天,靈活實時的保證了數據的統一。對于大學生們來說,既擴大不過分暴漏出自己的交際圈,又開闊了自己的視野,為大學生活提供了方便。希望這一套系統可以的校園中應用起來,希望這款軟件可以活在同學們的手掌里。采用java技術設計和實現服務器,用android實現客戶端,保證軟件良好運行。簡要介紹了java三大框架開發(struts+spring+hibernate)的技術特點和數據庫技術,隨后簡要的概述android的開發要點,并且簡要的講一下ios的開發擴展,在后臺數據管理方便用到jsp技術。并且構建一個C/S模式的論壇系統,并對該系統進行需求分析,總體設計,詳細設計,編碼與測試。并為后臺數據管理做一個簡單的分析。關鍵詞:論壇系統;JAVAEE;ANDROIDAbstractWiththedevelopmentof3Gnetworks,mobilephonesbecomemoreandmorepopularandthemostconvenientconnectionnetworkterminals.Consumersareincreasinglyfocusingonmobilesoftwareforeachplatformsocialexperience.Anddevelopersareincreasinglyfocusingonmobileclient'smarketingandpromotion.Forsuchaconvenientenvironment,butalsoproducedanumberofoutstandingshouldbetransportedacrossthevariousplatformsofsocialsoftware.Inthehighlycompetitivemobilephonemarket,androidmobilephoneoperatingsysteminthewinoverNokia'sSymbiansystem,becametheworld'slargestuserofonlyonemobileplatform.Andandroidsystemisnotonlyusedinsmartphones,tabletPCmarketalsooccupiesalargemarketshare.Inordertofacilitatereal-timeinformationoncampuspublication,inordertofacilitatecommunicationbetweenthestudents,inordertoexercisetheirowncapacity,Idevelopedadedicatedforumforstudentpracticalandroidclient,thesystemusesC/Sstructure.Allowsstudentstoeasilyacceptthepublisherspublishinformation,andtofacilitatecommunicationbetweenusers.Becausethesoftwaretailoredspecificallyforstudents,sotheaudienceisthesameschoolstudentorstudentcity.Campuscanpublishreal-timeinformationsystem(suchaslow-costprocessinggraduatetextbooks,supplies,grouptravel,etc.),sothatlike-mindedcomradesaretoseeandrespond.Studentsintheschooloflifetobuildaboutiquesoftware.Basedontheabovedescription,thepresentsystemisbasedonandroidsystemdevelopment,usingjavatodoserverdaemon,andcandevelopiosclient.Today,thenetworkmature,flexiblereal-timedatatoensuretheunity.Forcollegestudentswhoareviolent,butpointsbothtoexpandtheirsocialcircleleaked,butalsobroadentheirhorizons,makelifeeasierfortheuniversity.Hopethatthissystemcanbesetuponcampusintheapplication,thesoftwarecanliveinhopethatthestudentsofthepalm.Thispaperdescribesthedesignandimplementationtechniqueswithjavaserverdaemonwithandroidachievetheclient,ensurethatthesoftwarerunningwell.Brieflydescribesthreeframeworksjavadevelopment(struts+spring+hibernate)thetechnicalcharacteristicsanddatabasetechnology,followedbyabriefoverviewofthemainpointsandroiddevelopment,andbrieflytalkaboutthedevelopmentofextensionsiosinthebackgroundjsptechnologyusedtofacilitatedatamanagement.AndbuildaC/Smodeforumsystem,andthesystemneedsanalysis,design,detaileddesign,codingandtesting.Anddatamanagementforthebackgroundtodoasimpleanalysis.Keywords:forumsystem;JAVAEE;ANDROID目錄TOC\o"1-3"\h\u128261緒論 1214281.1選題背景 126021.2C/S架構簡介 1282011.3JSP技術簡介 2246921.4MVC框架簡介 2208401.5Struts+Spring+Hibernate框架簡介 2325091.6數據庫技術簡介 3115501.7android技術簡介 355171.8IOS技術簡介 3321212需求分析與系統設計 4135642.1需求分析 419942.1.1功能需求 435292.1.2性能需求 43232.1.3開發環境 4216022.1.4運行環境 5226732.2基本設計原則 52072.3業務流程設計 585492.3.1客戶端業務流程設計 532332.3.2后臺業務流程設計 6228252.4數據庫設計 6105682.4.1概念數據模型設計 7139402.4.2邏輯數據模型設計 7313052.4.3物理數據模型設計 72442.5系統結構設計 8312032.5.1頁面結構設計 876642.5.2代碼結構設計 892583系統詳細設計 1075653.1數據庫實現 1091173.2服務器設計 10141983.2.1服務器端工具 10214373.2.2軟件包和JAVA源代碼文件 11229453.2.3服務器的整體架構 11207993.2.4服務器對外交互分析 12169523.3客戶端設計 12196483.3.1頁面布局處理 1297283.3.2客戶端源碼結構 13154003.5后臺設計 14119473.5.1JSP文件結構 14102733.5.2JSTL 14145794頁面展示 16323324.1客戶端頁面展示 16144634.2主頁面展示 17220454.3后臺數據控制頁面 196097總結 2117789致謝 2223764參考文獻 222985附錄 24PAGE261緒論1.1選題背景在互聯網高度發展的今天,大學的校園里雖然人滿為患,但是同學之間的交流還是機會不多。雖然大學校園里會時不時的舉辦一些活動,但是這不是對每一個都是一個機會。為了增強同學們之間的交流,增加校園的親和力,本系統為大學生們量身定做,方便校園的交流,保證信息在用戶中快速輻射。在網絡發展成熟的今天,同學們的手機中必備的軟件中也不乏社交類的,比如QQ,微信,微博,人人等等,但是這些軟件的主題不是針對學生。在加上現在android系統的手機如此普遍,基本上每個學生手里都有一臺,同學們在同類人的社區里緩解壓力是最有效的。而且市場不會為學生開發這樣一款針對性這么強的軟件。但是我們在學校學習了知識,自己為自己開發,方便自己!所以選擇論壇客戶端作為設計題目,有助于改善同學們的心理環境和生活環境,推動同學們的素質發展。并要求學生在開發過程中自學有關開發技術,對日后工作或繼續研究都有著重要的意義。1.2C/S架構簡介客戶端和服務器架構。它是軟件系統體系結構,通過它可以充分利用兩端硬件環境的優勢,將任務合理分配到Client端和Server端來實現,降低了系統的通訊開銷。目前大多數應用軟件系統都是Client/Server形式的兩層結構,由于現在的軟件應用系統正在向分布式的Web應用發展,Web和Client/Server應用都可以進行同樣的業務處理,應用不同的模塊共享邏輯組件;因此,內部的和外部的用戶都可以訪問新的和現有的應用系統,通過現有應用系統中的邏輯可以擴展出新的應用系統。這也就是目前應用系統的發展方向。C/S結構的優點是能充分發揮客戶端PC的處理能力,很多工作可以在客戶端處理后再提交給服務器。對應的優點就是客戶端響應速度快。具體表現在以下兩點:(1)應用服務器運行數據負荷較輕。最簡單的C/S體系結構的數據庫應用由兩部分組成,即客戶應用程序和數據庫服務器程序。二者可分別稱為前臺程序與后臺程序。運行數據庫服務器程序的機器,也稱為應用服務器。一旦服務器程序被啟動,就隨時等待響應客戶程序發來的請求;客戶應用程序運行在用戶自己的電腦上,對應于數據庫服務器,可稱為客戶電腦,當需要對數據庫中的數據進行任何操作時,客戶程序就自動地尋找服務器程序,并向其發出請求,服務器程序根據預定的規則作出應答,送回結果,應用服務器運行數據負荷較輕。(2)數據的儲存管理功能較為透明。在數據庫應用中,數據的儲存管理功能,是由服務器程序和客戶應用程序分別獨立進行的,并且通常把那些不同的(不管是已知還是未知的)前臺應用所不能違反的規則,在服務器程序中集中實現,例如訪問者的權限,編號可以重復、必須有客戶才能建立定單這樣的規則。所有這些,對于工作在前臺程序上的最終用戶,是“透明”的,他們無須過問(通常也無法干涉)背后的過程,就可以完成自己的一切工作。在客戶服務器架構的應用中,前臺程序不是非常“瘦小”,麻煩的事情都交給了服務器和網絡。在C/S體系下,數據庫不能真正成為公共、專業化的倉庫,它受到獨立的專門管理。1.3JSP技術簡介JSP(JavaServerPages)是一種基于內置Java代碼的、用于創建動態內容的腳本語言,它天然地具備Java技術的跨平臺特性,從而在廣泛的基于網絡的應用中迅速得到應用,成為當前軟件領域最熱門的技術之一。JSP技術設計多種軟件技術和標準,諸如Java、HTML、數據庫等,并且廣泛應用于動態網站的建設中。1.4MVC框架簡介M(Model,模型)、V(view,視圖)、C(controller,控制器)。是XeroxPARC在八十年代為編程語言Smalltalk-80發明的一種軟件設計模式,至今已被廣泛使用。最近幾年被推薦位Oracle旗下Sun公司JavaEE平臺的設計模式,并且受到越來越多的使用ColdFusion和PHP開發者的歡迎。MVC設計模式把程序的輸入、處理和輸出分開,使各個部件處理自己的任務。使程序有較高的重用性和適用性,并且有著較低的生命周期成本,有利于軟件工程化管理并具備較高的可維護性。1.5Struts+Spring+Hibernate框架簡介Struts只是一個MVC框架(Framework),用于快速開發JavaWeb應用。Struts實現的重點在C(Controller),包括ActionServlet/RequestProcessor和我們定制的Action,也為V(View)提供了一系列定制標簽(CustomTag)。但Struts幾乎沒有涉及M(Model),所以Struts可以采用JAVA實現的任何形式的商業邏輯。Spring是一個輕型容器(light-weightcontainer),其核心是Bean工廠(BeanFactory),用以構造我們所需要的M(Model)。在此基礎之上,Spring提供了AOP(Aspect-OrientedProgramming,面向層面的編程)的實現,用它來提供非管理環境下申明方式的事務、安全等服務;對Bean工廠的擴展ApplicationContext更加方便我們實現J2EE的應用;DAO/ORM的實現方便我們進行數據庫的開發;WebMVC和SpringWeb提供了JavaWeb應用的框架或與其他流行的Web框架進行集成。
就是說可將兩者一起使用,達到將兩者自身的特點進行互補。Hibernate是一個免費的開源Java包,它使得與關系數據庫打交道變得十分輕松,就像您的數據庫中包含每天使用的普通Java對象一樣,同時不必考慮如何把它們從神秘的數據庫表中取出(或放回到數據庫表中)。它解放了您,使您可以專注于應用程序的對象和功能,而不必擔心如何保存它們或稍后如何找到它們。1.6數據庫技術簡介數據庫技術是現代信息科學與技術的重要組成部分,是計算機數據處理與信息管理系統的核心。數據庫技術研究和結局了計算機信息處理過程中大量數據有效地組織和存儲的問題,在數據庫系統中減少數據存儲冗余,實現數據共享、保障數據安全以及高效得檢索和處理數據。SQL:StructuredQueryLanguage(結構化查詢語言),是一種數據庫查詢和程序設計語言,可以用于存儲數據,查詢、更新管理關系數據庫系統。嵌入到Java代碼中實現對數據庫的操作。1.7android技術簡介Android是一種基于Linux的自由及開放源代碼的操作系統,主要使用于移動設備。Android構建在Linux內核上,利用linux完成其內存管理、進程管理、網絡和其他操作系統服務工作。linux內核層上面的一層中包含了Android的本機庫。這些共享庫都是用C或C++語言編譯的,并且針對電話使用的特定硬件架構進行了編譯,并已由手機制造商預先安裝到手機中。1.8IOS技術簡介IOS用的開發語言是Object-C開發工具是X-Code操作系統是Mac
Object-C:本來是沒有垃圾回收機制的語言,也就是要讓程序員來控制申請和釋放內存的。但是蘋果做了很多的工作。現在有個叫做ARC的技術能夠讓程序員寫的程序幾乎不用去管理內存了。跟JAVA,CSharp那些一樣了。所以如果只是做一般的APP開發很容易學懂和上手。也有很多先進的技術比如動態擴展類了(跟JS的prototype一樣),block(匿名函數,讓異步操作更簡單)
開發框架:真個平臺對MCV做的已經很完善了,所以貌似沒有什么很有名的開發框架。但是各種庫很多。
X-Code:一個集成的開發環境。里面包含了界面設計,代碼編寫,編譯,運行,事件綁定,在設備上運行APP,簽名,發布APP到蘋果商店。都是很容易使用。2需求分析與系統設計2.1需求分析2.1.1功能需求功能需求分析是整個軟件工程中的一個最關鍵的過程。主要任務是根據用戶需求和運行條件,確定系統將實現的功能。經過需求分析,本系統由客戶端,后臺和服務器三部分組成。由服務器為客戶端提供統一的接口,數據由服務器統一下發,由客戶端顯示。后臺來協調整個系統平衡。三個不封分工明確,共同完成本系統的業務流程。具體需求如下:客戶端:(1)用戶注冊、登錄、修改個人信息;(2)查看論壇列表,分類查看,查看帖子詳情,查看帖子評論列表;(3)對某帖子評論;(4)發表帖子。后臺:(1)添加分類,查看分類信息,管理分類信息(修改、刪除);(2)查看某段時間內接口成功響應耗時,以及多個接口耗時對比圖;(3)查看各個分類下的詳細數據信息。服務器:規定所有接口數據的下發。訪問數據壓力。必要時用緩存來分擔數據庫壓力。2.1.2性能需求(1)系統安全性:業務邏輯不對外暴露,保證系統安全。(2)系統穩定性:保證系統運行穩定,對可能出現的異常加以處理。(3)界面友好性:提供簡易實用的用戶界面。(4)數據安全性:用戶身份驗證,管理員后臺管理數據庫,保證數據安全。2.1.3開發環境(1)操作系統:MicrosoftWindows7,Android(2)服務器:Apache-Tomcat-6.0.32(3)數據庫:MySQL(4)數據庫設計:NavicatforMySQL(5)開發軟件:MyEclipse10jdk1.6,androidsdk,adt(6)瀏覽器:google瀏覽器2.1.4運行環境本系統的運行主要分三個部分,客戶端目前只開發了android版本,ios版本做可擴展考慮;服務器運行在tomcat下,tomcat可以運行在windows下也可以運行在linux,后臺數據管理系統運行在windows系統下。服務器端跨平臺性很強。2.2基本設計原則(1)系統必須具備可靠性。保證用戶數據的正確性和實時性。建立與用戶之間良好的信賴關系,是軟件的生存之道。(2)系統必須具備健壯性。系統必須能夠判斷輸入信息是否符合規范要求。對于敏感詞和不良詞匯不可出現在論壇中。(3)系統必須具備可測試性。系統必須能經過輸入數據的測試,保證系統得到全面的檢驗。(4)系統必須具備可擴展性。 在系統需要變更業務規則或更新功能時候,通過升級接口來實現。接口升級兼容客戶端的各個版本。整個系統具有良好的可擴展性。2.3業務流程設計2.3.1客戶端業務流程設計客戶端主要完成用戶注冊、登錄、查看帖子信息和發布信息的工作:用戶身份驗證:注冊會員,已注冊的用戶可以登錄和切換用戶;登錄用戶可以查看個人信息,修改個人資料。(3)登錄用戶可以查看論壇中帖子信息,并進行互動。(4)登錄用戶可以發布信息。客戶端業務流程如圖:圖2-1客戶端業務流程圖2.3.2后臺業務流程設計后臺幫助管理員完成對整個系統的管理工作:(1)分類管理:添加分類信息,查看分類信息,修改、刪除分類信息;(2)對所有的帖子都有管理權限,有所有帖子和評論的刪除權限;(3)監控各個接口的運行情況;后臺業務流程圖:圖2-2后臺業務流程圖2.4數據庫設計數據庫在整個系統中處于非常重要的位置,所有的功能脫離了數據庫都無法實現,數據庫的好壞直接決定著系統的數據安全和運行效率。根據功能需求,支持系統運行的數據庫需要滿足如下特點:(1)由于需要用戶注冊和登錄,所以需要一個用戶表用來存儲會員信息;(2)帖子是論壇中的主題,所以需要一個帖子表來存儲帖子信息;(3)評論依附帖子存在,是用戶互動的關鍵,所以需要一個表來存儲評論;2.4.1概念數據模型設計經過分析得出E-R圖(實體-關系圖)如下:圖2-3概念數據模型設計E=R圖2.4.2邏輯數據模型設計將E-R圖轉化為關系數據模式:用戶(用戶id,用戶名,密碼,電話,手機,地址,E-mail,性別,帖子數);帖子表(帖子id,fid,作者id,帖子title,帖子content,日期,狀態,評論數);評論表(評論id,帖子id,作者id,評論內容,評論時間,評論狀態);2.4.3物理數據模型設計在NavicatForMySQL軟件中設計物理數據模型:圖2-4物理數據模型設計2.5系統結構設計2.5.1頁面結構設計后臺分三部分:上部,左部,主體部分。(1)上部顯示后臺主頁標題(2)左部顯示管理員可做的操作,例如添加、查看分類,查看數據等。(3)主體部分顯示管理員點擊左部以后回饋的頁面,例如顯示分類,并可刪除、修改分類,顯示數據,顯示接口詳細信息等。2.5.2代碼結構設計本系統采用服務器客戶端架構,服務器端采用SSH三大框架。客戶端負責顯示數據。服務器端action層主要負責客服端的跳轉,指向正確的業務層。服務器端業務邏輯層Service層,主要處理系統的業務邏輯,并使表示層與數據訪問層分離。數據訪問層指的是DAO層,該層主要完成對象-關系映射的建立,通過這個映射和訪問業務對象即可實現對數據庫的訪問,提高了開發效率。數據層指數據庫。代碼結構示意圖如下:圖2-5代碼結構示意圖代碼執行流程說明:客戶端發出base64加密的請求,服務器接受到請求后,先做base64解密操作,解密成功后交給對應action處理,action調用對應的業務層(service),業務層調用相應的數據層(dao)來保存和讀取數據。整個框架中只有dao層讀寫數據庫的權限。這樣層次分明的處理數據,這樣做不僅高效,而且程序的可讀性很強。如此將代碼分層,各層的分工明確,降低了各個模塊間的耦合性,使系統便于維護和升級。3系統詳細設計3.1數據庫實現在4.2節中已經對數據庫做出了設計,只需根據設計實現數據庫。進入cmd,輸入mysql–uroot–p敲回車后輸入密碼,進入到MySQLmonitor下,如圖:圖3-1建立數據庫在光標處輸入代碼建立數據庫。具體代碼參見附錄A。3.2服務器設計集成SSH框架的系統從職責上分為四層:表示層、業務邏輯層、數據持久層和域模塊層,以幫助開發人員在短期內搭建結構清晰、可復用性好、維護方便的Web應用程序。其中使用Struts作為系統的整體基礎架構,負責MVC的分離,在Struts框架的模型部分,控制業務跳轉,利用Hibernate框架對持久層提供支持,Spring做管理,管理struts和hibernate。具體做法是:用面向對象的分析方法根據需求提出一些模型,將這些模型實現為基本的Java對象,然后編寫基本的DAO(DataAccessObjects)接口,并給出Hibernate的DAO實現,采用Hibernate架構實現的DAO類來實現Java類與數據庫之間的轉換和訪問,最后由Spring做管理,管理struts和hibernate。3.2.1服務器端工具工具和過濾器:(1)處理中文編碼的過濾器。默認使用UTF-8。(2)對所有請求url進行base64解密的過濾器。(3)base64解密工具。(4)MD5加密工具3.2.2軟件包和JAVA源代碼文件圖3-2服務器源碼結構圖3-2服務器源碼結構引入spring,struts,hibernate相關的jar包,打印日志的jar,本項目中使用log4g。源碼在src文件下。現在大致分為7層,為:action,service,service.impl,dao,dao.impl,entity,util七層。考慮service層在不同客服端的業務邏輯的區別,將service的實現分層處理;考慮變更數據庫的考慮,將dao層的實現獨立開。這樣系統的升級和改版就比較輕松,不在依附原來的設計。實現代碼如圖所示:3.2.3服務器的整體架構服務器整體才用SSH架構,保證各個層之間清晰分工。將數據源,定時任務等寫在配置文件beans.xml中,并且可以配置多一個數據源,也可以將讀寫數據源分開,減小數據庫的壓力。對于一個壓力比較大的表,可以采用緩存處理,比如memcached,beans.xml中還包含了事務處理的配置,以及對項目中試題加載的路徑。Action路徑的配置及返回數據的路徑配置在struts.xml文件中。對于本項目,正確的返回路徑都是json.jsp,json.jsp頁面中輸出程序返回的結果;出現異常的訪問,返回error.jsp,error頁面輸出錯誤原因。這是服務器端最重要的兩個配置文件,如圖:圖3-3服務器beans.xml圖3-4服務器struts.xml3.2.4服務器對外交互分析為了增加服務器的安全性,對于所用來訪問的url做解密處理,對于解密失敗的url不做處理,一方面減小了服務器的壓力,另一方面增加了服務器的安全性。合法url的訪問返回json數據,json是一種輕量級的數據交換格式。json簡單說就是javascript中的對象和數組,所以這兩種結構就是對象和數組2種結構,通過這兩種結構可以表示各種復雜的結構:(1)對象:對象在js中表示為“{}”擴起來的內容,數據結構為{key:value,key:value,...}的鍵值對的結構,在面向對象的語言中,key為對象的屬性,value為對應的屬性值,所以很容易理解,取值方法為對象.key獲取屬性值,這個屬性值的類型可以是數字、字符串、數組、對象幾種。(2)數組:數組在js中是中括號“[]”擴起來的內容,數據結構為["java","javascript","vb",...],取值方式和所有語言中一樣,使用索引獲取,字段值的類型可以是數字、字符串、數組、對象幾種。3.3客戶端設計3.3.1頁面布局處理Android項目中res目錄中存放資源文件,其中layout中存放了所有的頁面,他們是一系列的xml文件,drawable-xxx目錄中存放了圖片資源。Xml文件的每一個控件在gen中的R.java文件的中都有對應的資源。圖3-5客戶端頁面布局對于項目中用到的中文字符串,都應該放在values文件中,作為資源來訪問。頁面處理中最重要的控件在頁面中的布局和定位,還需要適配不同大小的屏幕。難度比較大,鑒于本系統開發時間和本人能力有限,只是適配了小米1S的屏幕,其他屏幕沒有做適配。3.3.2客戶端源碼結構上面接受了android項目中的res文件的結構,下面講一下項目中的清單文件,也是控制整個項目的配置文件AndroidManifest.xml,其結構如圖:圖3-6客戶端AndroidManifest.xml程序源碼放在src文件下:圖3-7客戶端源碼結構Activity包中是頁面的初始化,每一個頁面中都一個oncreate方法,當頁面加載時,都會調用ocreate方法,初始化頁面中的各個控件。3.5后臺設計3.5.1JSP文件結構 JSP文件放在工程根目錄下的WebRoot文件中jsp文件夾中,公用的jsp文件放在WebRoot根目錄下。目錄結構與服務器后臺大同,此處不在貼出圖片。 圖片放置在WebRoot中的image文件夾下。3.5.2JSTL JSTL(JSP標準標記庫)是一個實現Web應用程序中常見的通用功能的定制標記庫集,這些功能包括迭代和條件判斷、數據管理格式化、XML操作以及數據庫訪問。本系統大量用到EL表達式和循環控制標簽。EL語言JSTL輸入(輸出)一個JAVA表達式的表示形式。在JSTL語言中,EL語言在JSTL屬性值中使用。EL語言只能通過建立表達式${expression}來進行調用。 (2)循環控制標簽 用循環控制標簽來實現在JSP頁面的循環。例如后臺管理顯示圖書清單的JSP頁面中,需要把圖書信息一條一條地顯示出來,就用到了循環控制標簽。被<c:forEach>標簽包圍的部分代碼執行循環。<c:forEach>用到了items,begin,end等屬性。Items表示進行循環的項目;begin表示開始條件;end表示結束條件。循環部分代碼見下圖:圖3-8循環控制標簽的使用jQueryjQuery是免費、開源的,使用MIT許可協議。jQuery的語法設計可以使開發者更加便捷,例如操作文檔對象、選擇DOM元素、制作動畫效果、事件處理、使用Ajax以及其他功能。除此以外,jQuery提供API讓開發者編寫插件。其模塊化的使用方式使開發者可以很輕松的開發出功能強大的靜態或動態網頁。
4頁面展示4.1客戶端頁面展示(1)首頁展示:用戶必須憑借在系統中申請的賬號和密碼才能進入系統。圖4-1登錄頁面注冊信息填寫:如果用戶沒有賬號,點擊注冊按鈕進入注冊頁面。填寫注冊信息以便完成注冊。注冊如圖4-2。圖4-2注冊頁面圖4-2注冊頁面進入大學生論壇頁面:頁面中首先展示的是論壇中的最新討論主頁的簡表。進入進入論壇主頁以后又有新的主題更,需要手動點擊刷新按鈕重新獲取數據才能看到。對于論壇中的信息也可以分類查看。如圖4-3。圖4-3論壇主頁面4.2主頁面展示論壇主頁頁面按鈕:在論壇頁面點擊菜單鍵,進入到下面的頁面。如圖圖4-4后臺首頁圖4-4后臺首頁(2)發布信息:在圖5-4中點擊發布信息,進入發布信息頁面。輸入合法的發布的信息,點擊發布按鈕。就能在論壇中發布信息。圖4-5發布信息 (3)個人主頁頁面:在圖5-4中點擊個人主頁按鈕,進入個人主頁頁面。查看自己的信息,也可以由此頁面跳轉到修改個人資料的頁面。在個人主頁頁面主要呈現給用昵稱,性別,郵箱,討論數,并且頁面下方有發表主題的簡表。用戶可以點擊簡表的元素查看主題的詳細信息。圖4-6個人主頁 (4)帖子詳細頁面: 點擊上圖中的我的發表列表中的主體,進入到帖子詳細頁面。如圖4-7:圖4-7帖子詳細在這個頁面中可以于帖子互動,在編輯框中輸入內容,點擊發送按鈕。與其他用戶互動。點擊評論列表,查看此貼下的評論信息。圖4-8評論列表4.3后臺數據控制頁面 --在系統測中,論壇中的分類只有管理員才能添加或刪除。在軟件的運維中,需要統計查看各分類的數據,查看那些關鍵詞的主體比較集中,查看服務器各個接口的成功響應耗時情況等等。這些統計功能都放在后臺數據控制系統。由于時間限制,后臺只是開發了部分功能。其他功能還有待開發。(1)登陸,管理員必須憑借匹配的用戶名密碼才能進入后臺管理系統。此用戶名密碼區別于論壇系統中的用戶。如下圖:圖4-9后臺登錄信息驗證管理分類信息,(查看分類信息,添加,刪除)頁面上部是一級菜單,點擊分組管理,頁面左部出現二級菜單,點擊查看分組,可以看到分組詳情,并且可以在這個頁面中對分組管理,如圖4-10。點擊二級菜單中的添加分組,可以看到4-10頁面,在此頁面中可以添加分組。圖4-10后臺查看、刪除分組信息圖4-11后臺添加分組信息
總結 本設計選題為大學生論壇安卓客戶端的設計與實現。作為一個C/S的系統,具有當前市場上大部分C/S系統的普遍特性。開發一款軟件最重要的是需求明確。為此,我在2012年的暑假期間,初步研究了discuz這款已經成熟的產品。大四期間又學習了java方向的服務器開發,了解了java開發中的三大框架。所以我選擇了將discuz這個論壇模式用java后臺模擬,再用手機客戶端呈現給用戶。到現在為止,我還覺得本系統中有些設計不太合理,比如客戶端方面一些滑動效果的設計沒能實現,服務器端某些接口定義的不規范等等。 本系統是一個在MyEclipse10,tomcat,mysql,jdk1.6,eclipse_android環境下使用JAVA語言開發的。這是我在大學期間設計的第一個比較完整的系統,包含了從服務器到客戶端再到后臺數據統計和后臺控制,從到業務層和數據庫的設計和實現。本設計重點主要偏重于代碼部分的設計和編寫,遵循C/S結構的基本原則,將計算機應用任務分解成多個子任務,由多臺計算機分工完成,即采用“功能分布”原則。客戶端完成數據處理,數據表示以及用戶接口功能;服務器端完成DBMS的核心功能。在開發階段的后期,實現了最初設計的基本功能的基礎上,又對系統可能出現的問題和錯誤進行了排查和解決,保證了系統運行的穩定性。由于在需求分析期間,沒有充分考慮到客戶端的UI設計,導致客戶端設計不合理。在實現在也遇到了一些沒有考慮到的困難。客戶端的logo也設計的比較粗糙。軟件的整體背景也是借鑒于我以前開發的一款軟件。這些都是因為我沒有美工基礎,且時間比較緊迫。最后只好采取一種妥協的方式,網上找了些圖片P了一下。服務器方面由于沒有自己的服務器,所以只能將服務器代碼部署在本地,這就要求部署代碼的電腦和手機在同一個網絡下,這需要借助一個無線路由器。這也使得調試工作變的繁瑣和限制。整體上來講,服務器的接口定義的還比較合理,但是由于我在安卓方面的技術欠缺,有些功能還未來得及實現,比如修改個人資料的頁面就沒有來得及做。對于整個系統的開發和工作協調,我想在我以后的工作中一定是一筆不可估量的財富。 畢業設計是大學學習的一個總結,是一個學生真實知識水平的試金石。在做畢業設計的這段時間里,我力求完美的完成它,雖然仍有些許遺憾和不足之處,但我依然從中學到了許多。希望這次設計能為我的本科學習和生活畫上完美的句號。參考文獻[1]張孝祥,徐明華叢書主編,邱加永等編著,JSP基礎與案例開發詳解(軟件開發課堂),北京:清華大學出版社,2009,8[2](美)昂納日托,JSP速成教程,北京,機械工業出版社,2002年[3]唐振明編,JavaEE架構與程序設計,北京:電子工業出版社2011年10月[4]郭宏志著,Android應用開發詳解,電子工業出版社[5]湯鳴紅編,JavaWeb應用開發,北京:化學工業出版社2009年7月[6]陳亞輝編,Struts2+Spring+Hibernate框架技術與項目實戰,清華大學出版社[7]李剛編,輕量級JavaEE企業應用實戰(第3版),電子工業出版社[8]JocyGeogre,DineshBatra,JosephValacich,JeffreyHoffer著龔曉慶等譯,面向對象分析與設計,北京:清華大學出版社2008年1月[9]BaronSchwartz,PeterZaitsev,VadimTkachenko,JeremyD.Zawodny,ArjenLent,DerekJ.Ballin,高性能MySQL,電子工業出版社
致謝四年的大學生活匆匆,我們的校園生活就要走到盡頭,心中是無盡的難舍與眷戀。這四年是我們人生中重要的四年,也為我們的社會實踐做了一個堅實的鋪墊。自此,我們要奮斗在這個自由的環境中了。回首四年,取得了些許成績,生活中有快樂也有艱辛。感謝老師四年來對我孜孜不倦的教誨,對我成長的關心和愛護。同窗情深,情同兄妹。四年的美好時光,我們一同走過,充滿著友愛,給我的人生留下美好的一筆。我要特別的感謝我的父母。在我的十幾年求學歷程里,是他們默默的鼓勵和支持,用辛勤勞作的雙手,為我無私的付出,為我創造可能的學習條件,我才能順利完成學業,感激他們一直以來對我的撫養與培育。最后,我要特別感謝我的指導老師王克儉教授。是她在我畢業的最后關頭給了我們巨大的幫助與鼓勵,使我能夠順利完成畢業設計,在此表示衷心的感激。王老師認真負責的工作態度,嚴謹的治學精神和深厚的理論水平都使我收益匪淺。她無論在理論上還是在實踐中,都給與我很大的幫助,使我得到不少的提高這對于我以后的工作和學習都有一種巨大的幫助,感謝她耐心的輔導。在系統開發過程中王老師也給予我很大的幫助,幫助我解決了很多難點,指導我的系統開發完成,在此特別感謝王老師。附錄--數據庫:`conf_safe`--表的結構`back_cs_user`DROPTABLEIFEXISTS`back_cs_user`;CREATETABLEIFNOTEXISTS`back_cs_user`(`userid`int(11)NOTNULLAUTO_INCREMENT,`username`varchar(40)DEFAULTNULL,`password`varchar(40)DEFAULTNULL,`level`int(5)DEFAULTNULL,PRIMARYKEY(`userid`))ENGINE=InnoDBDEFAULTCHARSET=utf8AUTO_INCREMENT=2;--表的結構`cs_attachment`DROPTABLEIFEXISTS`cs_attachment`;CREATETABLEIFNOTEXISTS`cs_attachment`(`aid`int(11)unsignedNOTNULLAUTO_INCREMENT,`rid`int(11)DEFAULTNULLCOMMENT'帖子或評論id',`img_url`varchar(100)DEFAULTNULL,`filesize`int(10)DEFAULTNULL,`type`int(2)DEFAULTNULLCOMMENT'1:帖子2:評論',PRIMARYKEY(`aid`))ENGINE=InnoDBDEFAULTCHARSET=utf8AUTO_INCREMENT=1;--表的結構`cs_comment`DROPTABLEIFEXISTS`cs_comment`;CREATETABLEIFNOTEXISTS`cs_comment`(`cid`int(11)unsignedNOTNULLAUTO_INCREMENT,`pid`int(11)DEFAULTNULL,`uid`int(11)DEFAULTNULL,`content`varchar(200)DEFAULTNULL,`dateline`datetimeDEFAULTNULL,`state`int(1)DEFAULTNULL,`attachment`int(2)DEFAULTNULL,PRIMARYKEY(`cid`))ENGINE=InnoDBDEFAU
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學年八年級物理上冊 5.1物態變化與溫度教學設計 (新版)教科版
- 2023八年級數學上冊 第1章 分式1.5 可化為一元一次方程的分式方程第1課時 可化為一元一次方程的分式方程的解法教學設計 (新版)湘教版
- 2024年秋七年級生物上冊 1.2 認識我們身邊的其他生物教學設計 北京課改版
- 5《我愛我們班》第二課時(教學設計)-部編版道德與法治二年級上冊
- 腦卒中取栓后護理
- 2024-2025學年高中歷史 第6單元 基層治理與社會保障單元小結與測評教學設計 新人教版選擇性必修第一冊
- 知識與創新創業策劃書
- Unit 3 Section A 3a 教學設計 2023-2024學年人教版英語八年級下冊
- Module 2 Unit 1 What did you buy?(教學設計)-2024-2025學年外研版(三起)英語五年級上冊
- 電力維修安全培訓
- 2024新能源光伏電站竣工結算模板報表格式模板
- 全國賽課一等獎初中統編版七年級道德與法治上冊《滋養心靈》課件
- 國開電大《企業信息管理》形考任務試題及答案
- 網絡安全-企業網絡安全防護方案
- TCUWA40055-2023排水管道工程自密實回填材料應用技術規程
- 10kV線路跨越等級公路施工方案
- 江蘇省無錫市錫山區天一實驗中學2022-2023學年七下期中數學試題(原卷版)
- 醫院保潔服務投標方案(技術方案)
- JTJ073.1-2001 公路水泥混凝土路面 養護技術規范
- 2024年4月自考00265西方法律思想史試題及答案
- 物流客服組建方案
評論
0/150
提交評論