JAVA+基于微信小程序的校园信息共享平台 毕业设计-附源码211615
校園信息共享平臺
摘?要
隨著信息技術的發展,各大高校已經建立了各自的部門信息系統,但是由于這些應用系統開發時間迥異,開發平臺不同,開發技術差異化的原因,各個系統間缺乏關聯,使得信息不能有效共享,逐漸形成了“信息孤島”使得大量有用信息無法被有效使用。因此,信息共享已是現階段需要迫切解決的問題。本文分析了目前校園信息系統之間信息共享的缺陷和不足。在此基礎之上,本文將面向服務思想引入校園信息共享,提出了面向服務的校園信息共享架構,實現了網絡化、服務化的系統間信息共享。本文主要研究校園信息系統之間面向服務的信息共享體系架構設計,即稱之為“校園信息共享平臺”。
校園信息共享平臺主要功能模塊包括學生注冊、校園服務,包括校園拼車、實物招領、閑置買賣、校園商城、校園外賣等,采取面對對象的開發模式進行軟件的開發和硬體的架設,能很好的滿足實際使用的需求,完善了對應的軟體架設以及程序編碼的工作,采取MySQL作為后臺數據的主要存儲單元,采用SSM框架、JSP技術、Ajax技術進行業務系統的編碼及其開發,實現了本系統的全部功能。
關鍵詞:校園信息共享;SSM框架;MySQL數據庫
Campus information sharing platform
Abstract
With the development of information technology, major colleges and universities have established their own departmental information systems. However, due to the different development time of these application systems, different development platforms and the difference of development technology, the lack of correlation between various systems makes the information can not be shared effectively, and gradually forms an "information Island", which makes a large amount of useful information unable to be used effectively. Therefore, information sharing is an urgent problem to be solved at this stage. This paper analyzes the defects and deficiencies of information sharing between campus information systems. On this basis, this paper introduces the service-oriented idea into campus information sharing, puts forward the service-oriented campus information sharing architecture, and realizes the information sharing between networked and service-oriented systems. This paper mainly studies the architecture design of service-oriented information sharing between campus information systems, which is called "campus information sharing platform".
The main functional modules of the campus information sharing platform include student registration and campus services, including campus carpooling, physical recruitment, idle trading, campus mall, campus takeout, etc. the object-oriented development mode is adopted for software development and hardware erection, which can well meet the needs of actual use and improve the corresponding software erection and program coding, MySQL is used as the main storage unit of background data, and SSM framework, JSP technology and Ajax technology are used to code and develop the business system, which realizes all the functions of the system.
Key words:Campus information sharing; SSM framework; The MySQL database
目 ?錄
第1章 緒論
1.1?研究背景
1.2?開發現狀
1.3?研究方法
第2章 相關技術介紹
2.1 J2EE技術
2.2 MVC模式
2.3 MySQL數據庫
2.4 B/S結構
2.5SSM框架
2.6?Eclipse開發工具
2.7?小程序框架以及目錄結構介紹
第3章 系統分析
3.1?可行性分析
3.2?功能需求分析
3.2.1?前臺用戶功能
3.2.2?后臺管理員功能
3.3?非功能需求分析
3.4?安全性需求分析
3.4.1?系統的安全性
3.4.2?數據的安全性
3.5?數據流程分析
第4章 系統設計
4.1?系統架構設計
4.2?系統總體設計
4.3?系統功能設計
4.4?數據庫設計
4.4.1?數據需求分析
4.4.2?數據庫概念設計
4.4.3?數據庫表設計
第5章 系統實現
5.1?數據庫訪問層的實現
5.2?注冊模塊的實現
5.3?登錄模塊的實現
5.4?用戶資料修改模塊的實現
5.5?商品中心管理模塊的實現
5.6?失物招領管理模塊的實現
5.7?拼車管理模塊的實現
第6章 系統測試
6.1?測試目的
6.2?功能測試
6.3?性能測試
第7章 總結與展望
參考文獻
致謝
我國高校信息化建設在短短十年內取得巨大的成就,目前絕大多數高校都接入了因特網,大部分高校建成了自己的校園網,提供各種服務,一個完整的高校信息化體系已清晰可見,無論是主管部門還是高校本身,對高校信息化都給予了足夠的重視,信息化建設的投資之巨、范圍之廣、速度之快有目共睹,信息化的內容建設一年一個臺階。隨著互聯網技術的不斷進步和迭代,小程序的發展已然成為了一種趨勢,再加上智能手機在大學生的普及,使得依附于智能手機的校園平臺成為了高校信息化建設的切入點。越來越多高校擁有自己專屬的校園平臺,移動信息化建設成為高校信息化建設的一個重要發展戰略。
目前,移動互聯網校園平臺的形式主要包括APP和微信平臺兩種。但是由于技術局限性,學校獨立開發的APP平臺所需要的開發成本、運營維護、版本迭代等都會是種種難題。如今微信小程序的問世,無疑是解決該問題的一個全新工作思路。手機普遍快速發展的大背景下,同時隨著微信功能的日益完善,微信不僅僅是作為一個聊天軟件而存在,而是可以以小程序的方式使用多種軟件功能。由于校園活動的多樣化發展,特開發了本基于微信小程序的校園活動平臺,通過小程序的方式實現校園活動相關信息的更加便捷的管理需求。
校園信息分享平臺首先需要滿足在微信用戶登錄注冊摸塊。其次是網頁說的管理員模塊。用戶在微信被登錄的狀態下可以發布活動,對活動評價和收藏。可以根據選擇分類,篩選查看。可以關注其他用戶,查看關注用戶發布的所有內容等。用戶在網頁送登錄的狀態下,可審核活動,管理分類、評論和用戶。基于微信小程字的校園活動平臺主要解決傳統的校園活動管理所存在的無法集中管理活動、審核流程復雜、對發布活動者的限制等弊端而開發的。
隨著智能手機的全民普及和移動通信網絡的不斷完善,用戶使用手機上網的頻率大大增加,互聯網應用的地位在用戶的生活中愈加重要。一方面,這些應用使用戶的生活更加多元化、多彩化,從而反向促進APP種類愈加豐富,用途愈加多樣;但是另一方面,APP功能多樣性勢必伴隨著不斷的更新,而這對用戶來說卻是一件煩惱的事情。2016年9月,微信團隊推出微信小程序內測版本。微信小程序占據的存儲空間只有1 .2M甚至幾百KB,是一種不需要下載安裝就可使用的應用"",這無疑為用戶之前的煩惱提供了一個解決方案,數字化越來越普及。國外數字校園建設發展早、起點高、投資大和速度快。早在上世紀70年代,美國的麻省理工學院就提出了e-campus ( 即數字校園)的計劃并付諸實施,經過多年的努力,現已構建了一個較成熟的數字校園模型。泥葛洛龐帝在《信息化生存》中也描繪了數字時代的美好藍圖,概括了信息化生存的四個特征:分散權力、全球化、追求和諧與賦予權力。作為培養世紀人才的搖籃,大學校園信息化進程走在了時代的前列。
我國的數字校園雖然起步晚,但發展快,再加上政府的強力支持與國外數字校園的建設經驗,正在逐步趕.上國外數字校園的步伐。目前,大力推廣與建設數字校園依.然是各個學校的主題。雖然現在國內學校校園網建設已初具規模,通過把教師、學生、管理人員等角色和學校的組織與校園計算機網絡系統有機的聯系在一起,形成現了數字校園的部分功能,但應用服務體系不完備,信息化水平急需提高。
首先,通過引擎搜索或者查閱相關文獻資料,了解了本系統開發的背景以及設計系統的意義所在,收集用戶需求信息。其次,在開發工具上,最終確定選用Java平臺來設計開發本系統,MySQL作為設計數據庫的工具。即利用Java語言實現用戶界面,并同數據庫連接起來實現完整的通信功能。之后,設計出系統大致的功能模塊。主要從方便系統用戶和系統管理員的角度進行分析,明確該系統應該具有的功能。最終是測試系統,通過用例測試發現存在的問題并找到解決的方案。利用現有的開發平臺,結合自己所學的知識,在老師的指導幫助下來完成該設計,確保系統的可用性、實用性。
人可以掌握多門外語,而一個計算機科學家精通的大多是編程語言,它不是人類的自然語言,比如C語言、Java、Perl等等。由于不同的公司開發出的“中間件”不夠規范,所以Sun公司推出J2EE,用這個標準來解決弊病。它提供了良好的機制,讓每個層次允許與之相對的服務器、組件運行,使得系統的搭建穩定可用、開發高效、維護方便[1][2]。
MVC模式是常用的開發模式,主要是在代碼實現上將其分為M層、V層和C層。
視圖(View)代表用戶交互界面,一個 Web 應用就可能有很多的界面,在 MVC 模式中,視圖僅僅處理的只有數據采集、處理,還有用戶的請求, 并不包括業務流程的處理,業務流程由模型(Model)來處理。
模型(Model)就是業務流程/狀態的處理及業務規則的制定。模型處理業務流程的過程其它層是無法看見了的,它就像黑箱子,在接受視圖請求的數據之后,然后返回最終的處理結果。MVC 最主要的核心就是業務模型的設計,一個典型的應用例子就是目前流行的 EJB 模型,它從應用技術實現的角度對模型做了進一步的劃分,以便充分利用現有的組件,但是它不能作為應用設計模型的框架。
控制器(Controller)可以理解為接收用戶的請求,然后視圖和模型匹配在一起,一起再完成用戶請求。它有非常明顯的作用在劃分控制層上,可以很清晰地告訴你,它就是一個分發器,選擇什么樣的模型、視圖,可以完成用戶的什么樣的請求。控制層不做所有的數據處理,比如說:用戶點擊一個連接,控制層接受到請求之后,并不處理業務信息,它只是向模型傳遞用戶的信息,同時告訴模型做什么,然后選擇符合需求的視圖返回給用戶。
科技的進步,給日常帶來許多便利:教室的投影器用到了虛擬成像技術,數碼相機用到了光電檢測技術,比如超市貨物進出庫的記錄需要一個信息倉庫。這個信息倉庫就是數據庫,而這次的作業管理平臺也需要這項技術的支持。
用MySQL這個軟件,是因為它能接受多個使用者訪問,而且里面存在Archive等。它會先把數據進行分類,然后分別保存在表里,這樣的特別操作就會提高數據管理系統自身的速度,讓數據庫能被靈活運用。MySQL的代碼是公開的,而且允許別人二次編譯升級。這個特點能夠降低使用者的成本,再搭配合適的軟件后形成一個良好的網站系統。雖然它有缺點,但是綜合各方面來說,它是使用者的主流運用的對象。
B/S(Browser/Server)比前身架構更為省事的架構。它借助Web server完成數據的傳遞交流。只需要下載瀏覽器作為客戶端,那么工作就達到“瘦身”效果, 不需要考慮不停裝軟件的問題。
SSM即SpringMVC+Spring+Mybatis,這三個框架有各自最獨有的優勢,那么將它們組合在一起能夠碰撞出很強的火花。設計者在不需消耗大量功夫,能做出Web應用程序,而且這個程序還具有層次清晰、升級更新操作不影響正常使用的、允許多次使用的特點。這個復合框架形成一個有著結構完整、功能強大和結構良好的體系:SpringMVC使各板塊分離,Spring使開發更靈活方便,使用Mybatis讓開發者直接對對象進行操縱,各層次分工明細,并實現各個層次間的解耦,讓代碼更加的靈活精簡。這個框架使程序員能夠規避在開發時期避免個別錯誤導致整體被破壞,也能在后期應對客戶對產品提出的新需求。
Eclipse是由Genuitec公司開發的,一款功能非常強大的JavaEE的集成開發環境,其中包括有:完備的編碼、調試、測試和發布功能[10],完整支持JSP、Spring、CSS、JavaScript、SpringMVC、HTML、JSF、Mybatis、SQL等技術。在體系結構上,Eclipse的特征可以被分為7類:JavaEE模型;Web開發工具、EJB開發工具、JavaEE項目部署服務、應用程序服務器的而連接器、數據庫服務、Eclipse整合幫助。
對于以上每一種功能的類別,在Eclipse中都有相應的功能部件,并通過一系列的插件來實現它們。Eclipse在結構上的這種模塊化,可以讓它在不影響其他模塊的情況下,對其中任意的一個模塊進行單獨的擴展和升級。強大的Eclipse應用開發平臺也不僅僅只是Eclipse的插件而已,同時更是一款功能強大的,用于JavaEE的集成開發環境。
整個小程序框架系統分為兩部分:邏輯層和視圖層。小程序開發框架的目標是通過盡可能簡單、高效的方式讓開發者可以在微信中開發具有原生 小程序 體驗的服務。小程序在視圖層與邏輯層間提供了數據傳輸和事件系統,提供了自己的視圖層以及邏輯層框架,讓開發者能夠專注于數據與邏輯。框架的核心是一個響應的數據綁定系統,可以讓數據與視圖非常簡單地保持同步。在邏輯層做數據修改,在視圖層就會做相應的更新。框架提供了一套基礎的組件,這些組件自帶微信風格的樣式以及特殊的邏輯,開發者可以通過組合基礎組件,創建出強大的微信小程序 。
技術性方面,采用當前主流的SSM框架進行系統主體框架的搭建,前臺使用jquery,ajax,實現前臺頁面的設計與美觀調整,以上技術,均由本人經過系統學習,并且都是在課程設計中實踐過的,可以使得開發更加便捷和系統。從技術角度看,這個系統是完全可以實現的。
實用性方面,本次設計的主要任務是在校園信息共享平臺內可以實現很多校園服務項目,比如校園拼車、實物招領、閑置物品買賣、校園商城等,符合當前潮流的發展。從用戶角度出發,同時也考慮系統運營成本和人力資源,采用網絡上的便捷方式,實現線上業務,使得業務流程更系統,也更方便用戶的體驗,比較實用。
經濟性方面,由于本課題中設計的校園信息共享平臺的主要目的是為了能夠更加方便及快捷的進行信息的查詢管理及檢索服務,也就是能夠可以直接投入使用的信息化軟件。系統的主要成本主要是集中在對使用數據后期繼續維護及其管理更新這個操作上。但是一旦系統投入到實際的運行及使用之后就能夠很好的提高信息查詢檢索的效率,同時也需要有效的保證查詢者的信息方面的安全性,同時這個校園信息共享平臺所帶來的實際應用方面的價值是遠遠的超過了實際系統進行開發與維護方面的成本,因此,從經濟上來說開發這個軟件是可行的。
校園信息共享平臺的功能主要分為前臺用戶根據自己的需求進行注冊登錄,用戶功能包括。后臺系統管理員因職責的不同,分為普通管理員和超級管理員,普通管理員主要對發布單進行處理,而超級管理員主要對注冊用戶,公告數據,尋物詳細信息,招領詳細信息進行處理。
管理員以及學生用例圖如下所示。
圖3-1 管理員用例圖
圖3-2?學生用例圖
前臺用戶可分為未注冊用戶需求和已經注冊用戶需求。
已注冊用戶的功能如下:
登錄:根據賬號密碼進行登錄操作。
維護個人信息:用戶因個人信息的變更可以隨時修改自己注冊信息。
瀏覽公告數據:用戶想要了解相關的最新公告,例如一些公告資訊信息,可以瀏覽主頁面的公告數據信息。
失物招領:用戶可以發表失物招領具體信息,編輯失物詳情,例如:失物編號、招領內容、圖片、發布人、聯系方式等。
拼車推薦:用戶可以查看校園拼車推薦你信息,或者可以自己發布拼車需求,在平臺拼車操作。
商品中心推薦:用戶可以查看商品中心商品信息,可以搜索商品。
訂單中心:用戶根據自己的需求選中某個商品進行購買操作,生成購物訂單,用戶可以在線支付。
我的訂單列表:用戶可以查看自己的訂單信息數據,包括訂單編號、商品名稱、購買人、商家配送情況等。
管理員功能如下:
修改密碼:管理員可以隨時修改自己進入系統的登錄密碼,以保證系統的安全性。
失物招領管理:對失物招領信息進行維護,添加、刪除、修改信息。
商品信息管理:對招商品息進行維護,添加、刪除、修改信息。
拼車信息管理:對平臺拼車數據信息項進行維護管理。
用戶管理:可以查看注冊用戶的信息,并對其進行管理。
首先主要考慮的是系統功能軟件,在具體設計的環節上,是不是能夠較好的滿足各類用戶的基本功能需求,如果不能較好的滿足用戶需求,那么這個系統的存在是沒有價值的。軟件系統的非功能性求分析,從7個方面展開,一個是性能分析,針對系統;一個是安全分析,針對系統,一個是完整度分析,針對系統,一個是可維護分析,針對系統,一個是可擴展性分析,針對系統,一個是適應業務的性能分析。面對校園信息共享平臺存在的性能、安全、擴展、完整度等7個方面性能綜合比對分析后發現,需要相應的非功能性需求分析。
安全性對每一個系統來說都是非常重要的。安全性很好的系統可以保護企業的信息和用戶的信息不被竊取。提高系統的安全性不僅是對用戶的負責,更是對企業的負責。尤其針對于校園信息共享平臺來說,必須要有很好的安全性來保障整個系統。
系統具有對使用者有權限控制,針對角色的不通限制使用者的權限,以此來確保系統的安全性。
數據庫中的數據是從外界輸入的,當數據的輸入時,由于種種原因,輸入的數據會無效,或者是臟數據。因此,怎樣保證輸入的數據符合規定,成為了數據庫系統,尤其是多用戶的關系數據庫系統首要關注的問題。
因此,在寫入數據庫時,要保證數據完整性、正確性和一致性。
對系統的數據流進行分析,系統的使用者分為二類,一般用戶,管理員。系統主要對界面信息傳送,登錄信息的驗證,注冊信息的接收,用戶各種操作的響應做處理。
系統頂層數據流圖如下圖所示。
圖3-2 頂層數據流圖
要判斷用戶是是什么身份,是根據登錄的數據來判斷后,跳轉到對應的功能界面。在系統的內部用戶就可以對數據進行操作,數據庫中心就可以接收到系統傳輸的有效數據流來對數據sql語句進行對應操作。
系統底層數據流圖如下圖所示。
?圖3-3 底層數據流圖
系統可以分為前臺和后臺兩部分,每一種操作后系統都返回操作結果。前臺和后臺的數據連接主要通過數據庫,既分別對數據庫做不同的操作。
本校園信息共享平臺的架構設計主要分為可以3層,主要有Web層,業務層,Model層。其中web層還包括View層和Controller層,Model層包括元數據擴展層和數據訪問層。
系統架構如下圖所示。
圖4-1 系統架構
校園信息共享平臺總體分為前臺用戶模塊和后臺管理員模塊。
兩個模塊表現上是分別獨立存在,但是訪問的數據庫是一樣的。每一個模塊的功能都是根據先前完成的需求分析,并查閱相關資料后整理制作的。
綜上所述,系統功能結構圖如下圖所示。
圖4-2 系統功能結構圖
登錄模塊:登錄模塊是進入系統的入口,所有用戶必須登錄后才能訪問系統。登錄需要輸入用戶名和密碼,如果多次嘗試登錄需要輸入驗證碼。登錄時需要選擇用戶的角色,是一般用戶還是管理員登錄等。登錄成功后,會通過數據庫獲取用戶的權限,并跳轉至用戶的主頁面。
商品信息模塊:可分為商品信息瀏覽、商品信息檢索、商品信息維護三個模塊,管理員對商品信息有維護的權限,發布新的商品信息、更新已有的商品信息等。
失物招領管理模塊:失物招領管理分為失物招領添加、修改和失物招領查詢。失物招領信息由丟失者進行修改、添加、刪除操作;失物招領查詢由普通用戶來執行。
從前面可以分析到數據庫中最重要的是尋物信息,招領信息,公告信息。分析可以得到如下數據描述:
平臺用戶:用于記錄用戶的各種信息,包括用戶名、密碼、姓名、性別、地址、郵箱、聯系方式等數據項。
管理員:記錄管理員的登錄信息。包括用戶名,密碼,權限等數據項。
失物招領:存儲各種失物招領信息。包括招領編號、發布時間、圖片、招領內容、聯系方式、招領標題等數據項。
拼車推薦:平臺發布拼車推薦信息,用戶可以對平臺拼車推薦進行查詢,也可以發布拼車信息。
根據前面的數據流程圖,結合系統的功能模塊設計,設計出符合系統的各信息實體。
系統ER圖如下圖所示。
圖4-3 系統ER圖
校園信息共享平臺所擁有的數據表有以下:用戶信息表,失物招領信息表,拼車信息表,商品信息表,商品推薦表,閑置物品買賣表等。
由于數據表較多,只展示系統主要數據表,如下表所示。
| 名稱 | 類型 | 長度 | 不是null | 主鍵 | 注釋 |
| student_id | int | 11 | 是 | 是 | 學生ID |
| gender | varchar | 64 | 否 | 否 | 性別 |
| address | varchar | 64 | 否 | 否 | 住址 |
| date_of_birth | varchar | 64 | 否 | 否 | 出生日期 |
| examine_state | varchar | 16 | 是 | 否 | 審核狀態 |
| recommend | int | 11 | 是 | 否 | 智能推薦 |
| seat | varchar | 64 | 是 | 否 | 座位號 |
| user_id | int | 11 | 是 | 否 | 用戶ID |
| create_time | datetime | 0 | 是 | 否 | 創建時間 |
| update_time | timestamp | 0 | 是 | 否 | 更新時間 |
| 名稱 | 類型 | 長度 | 不是null | 主鍵 | 注釋 |
| takeout_merchant_id | int | 11 | 是 | 是 | 外賣商家ID |
| business_name | varchar | 64 | 否 | 否 | 商家名稱 |
| merchant_address | varchar | 64 | 否 | 否 | 商家地址 |
| merchant_number | varchar | 64 | 否 | 否 | 商家編號 |
| nature_of_business | varchar | 64 | 否 | 否 | 經營范圍 |
| examine_state | varchar | 16 | 是 | 否 | 審核狀態 |
| recommend | int | 11 | 是 | 否 | 智能推薦 |
| seat | varchar | 64 | 是 | 否 | 座位號 |
| user_id | int | 11 | 是 | 否 | 用戶ID |
| create_time | datetime | 0 | 是 | 否 | 創建時間 |
| update_time | timestamp | 0 | 是 | 否 | 更新時間 |
| 名稱 | 類型 | 長度 | 不是null | 主鍵 | 注釋 |
| lost_and_found_id | int | 11 | 是 | 是 | 失物招領ID |
| claim_no | varchar | 64 | 否 | 否 | 招領編號 |
| picture | varchar | 255 | 否 | 否 | 圖片 |
| publisher | int | 11 | 否 | 否 | 發布人 |
| recruitment_content | text | 0 | 否 | 否 | 招領內容 |
| contact_information | varchar | 16 | 否 | 否 | 聯系方式 |
| claim_title | varchar | 64 | 否 | 否 | 招領標題 |
| hits | int | 11 | 是 | 否 | 點擊數 |
| examine_state | varchar | 16 | 是 | 否 | 審核狀態 |
| recommend | int | 11 | 是 | 否 | 智能推薦 |
| seat | varchar | 64 | 是 | 否 | 座位號 |
| create_time | datetime | 0 | 是 | 否 | 創建時間 |
| update_time | timestamp | 0 | 是 | 否 | 更新時間 |
| 名稱 | 類型 | 長度 | 不是null | 主鍵 | 注釋 |
| commodity_center_id | int | 11 | 是 | 是 | 商品中心ID |
| trade_name | varchar | 64 | 否 | 否 | 商品名稱 |
| commodity_number | varchar | 64 | 否 | 否 | 商品編號 |
| product_picture | varchar | 255 | 否 | 否 | 商品圖片 |
| product_details | text | 0 | 否 | 否 | 商品詳情 |
| price | int | 11 | 否 | 否 | 價格 |
| business | int | 11 | 否 | 否 | 商家 |
| stock | int | 11 | 否 | 否 | 庫存 |
| hits | int | 11 | 是 | 否 | 點擊數 |
| examine_state | varchar | 16 | 是 | 否 | 審核狀態 |
| recommend | int | 11 | 是 | 否 | 智能推薦 |
| seat | varchar | 64 | 是 | 否 | 座位號 |
| create_time | datetime | 0 | 是 | 否 | 創建時間 |
| update_time | timestamp | 0 | 是 | 否 | 更新時間 |
| 名稱 | 類型 | 長度 | 不是null | 主鍵 | 注釋 |
| order_center_id | int | 11 | 是 | 是 | 訂單中心ID |
| order_number | varchar | 64 | 否 | 否 | 訂單編號 |
| price | varchar | 64 | 否 | 否 | 價格 |
| commodity_number | varchar | 64 | 否 | 否 | 商品編號 |
| trade_name | varchar | 64 | 否 | 否 | 商品名稱 |
| number_of_purchases | int | 11 | 否 | 否 | 購買數 |
| total | varchar | 64 | 否 | 否 | 合計 |
| purchaser | int | 11 | 否 | 否 | 購買人 |
| contact_number | varchar | 16 | 否 | 否 | 聯系電話 |
| business | int | 11 | 否 | 否 | 商家 |
| receiving_address | varchar | 64 | 否 | 否 | 收貨地址 |
| examine_state | varchar | 16 | 是 | 否 | 審核狀態 |
| pay_state | varchar | 16 | 是 | 否 | 支付狀態 |
| pay_type | varchar | 16 | 否 | 否 | 支付類型 |
| recommend | int | 11 | 是 | 否 | 智能推薦 |
| seat | varchar | 64 | 是 | 否 | 座位號 |
| create_time | datetime | 0 | 是 | 否 | 創建時間 |
| update_time | timestamp | 0 | 是 | 否 | 更新時間 |
| 名稱 | 類型 | 長度 | 不是null | 主鍵 | 注釋 |
| carpooling_id | int | 11 | 是 | 是 | 拼車ID |
| place_of_departure | varchar | 64 | 否 | 否 | 出發地 |
| destination | varchar | 64 | 否 | 否 | 目的地 |
| contact_number | varchar | 16 | 否 | 否 | 聯系電話 |
| departure_time | datetime | 0 | 否 | 否 | 出發時間 |
| student | int | 11 | 否 | 否 | 學生 |
| carpool_details | text | 0 | 否 | 否 | 拼車詳情 |
| hits | int | 11 | 是 | 否 | 點擊數 |
| examine_state | varchar | 16 | 是 | 否 | 審核狀態 |
| recommend | int | 11 | 是 | 否 | 智能推薦 |
| seat | varchar | 64 | 是 | 否 | 座位號 |
| create_time | datetime | 0 | 是 | 否 | 創建時間 |
| update_time | timestamp | 0 | 是 | 否 | 更新時間 |
| 名稱 | 類型 | 長度 | 不是null | 主鍵 | 注釋 |
| idle_trading_id | int | 11 | 是 | 是 | 閑置買賣ID |
| title | varchar | 64 | 否 | 否 | 標題 |
| title_number | varchar | 64 | 否 | 否 | 標題編號 |
| picture | varchar | 255 | 否 | 否 | 圖片 |
| publisher | int | 11 | 否 | 否 | 發布人 |
| sale_details | text | 0 | 否 | 否 | 買賣詳情 |
| hits | int | 11 | 是 | 否 | 點擊數 |
| examine_state | varchar | 16 | 是 | 否 | 審核狀態 |
| recommend | int | 11 | 是 | 否 | 智能推薦 |
| seat | varchar | 64 | 是 | 否 | 座位號 |
| create_time | datetime | 0 | 是 | 否 | 創建時間 |
| update_time | timestamp | 0 | 是 | 否 | 更新時間 |
該系統是通過jdbc和MySQL達成連接的,新建一個jdbc.properties文件來填寫與數據庫連接所需要的驅動和參數。
jdbc.driverClass=com.MySQL.jdbc.Driver
jdbc.url=jdbc:MySQL://localhost:3306/tsi
jdbc.username=root
jdbc.password=123
第一個參數代表MySQL數據庫的驅動,第二個參數代表要連接的數據庫,第三個和第四個參數代表數據庫連接名和密碼。
后臺與數據庫訪問主要是通過HQL語句來進行查詢的,查詢語句中的表名是表格的實體類名,在這種查詢語句中*是不允許使用的,除非適合聚合函數一起使用才可以。
用戶在填寫數據的時候必須與注冊頁面上的驗證相匹配否則會注冊失敗,注冊頁面的表單驗證是通過JavaScript進行驗證的,用戶名的長度必須在6到18之間,郵箱必須帶有@符號,密碼和密碼確認必須相同,你輸入的密碼,系統會根據你輸入密碼的強度給出指定的值,電話號碼和身份證號碼必須要求輸入格式與生活相符合,當你前臺驗證通過的時候你點擊注冊,表單會將你輸入的值通過name值傳遞給后臺并保存到數據庫中。
用戶注冊流程圖如下圖所示。
圖5-1用戶注冊流程圖
用戶注冊界面如下圖所示。
??????????????????????????????????????????????????????
圖5-2用戶注冊界面
用戶注冊的關鍵代碼如下。
<%
HashMap ext = new HashMap();
ext.put("issh","否");
new CommDAO().insert(request,response,"yonghuzhuce",ext,true,false,"index.jsp");
%>
主要由兩部分組成,登錄前的登錄界面以及登錄后的用戶功能界面。登錄界面,要求用戶輸入用戶名和密碼,當用戶名和密碼其中一個輸入為空時,給出提示“用戶名,密碼不能為空”。獲取用戶名和密碼后到數據庫中查找,如果用戶名存在,以及對應的密碼正確,則登錄成功,否則登錄失敗。登錄失敗后給出提示,并把焦點停在文本框中。登錄成功后將該次會話的全局變量username設置為用戶名。登錄成功后進入會員的功能模塊,主要有會員基本信息修改,已經發布尋物信息管理,發布信息,和退出功能。退出功能是清除全局變量username的值,并跳回到首頁。
登錄流程圖如下圖所示。
圖5-4登錄流程圖
用戶登錄界面如下圖所示。
?
圖5-5用戶登錄界面
用戶登錄的關鍵代碼如下。
if(ac.equals("adminlogin"))
{
String username = request.getParameter("username");
String password = request.getParameter("pwd");
String utype = request.getParameter("cx");
String pagerandom = request.getParameter("pagerandom")==null?"":request.getParameter("pagerandom");
String random = (String)request.getSession().getAttribute("random");
if(!pagerandom.equals(random)&&request.getParameter("a")!=null)
{
request.setAttribute("random", "");
go("/login.jsp", request, response);
}
else{
String sql1 = "select * from allusers where username='"+username+"' and pwd='"+password+"' ?";
List<HashMap> userlist1 = dao.select(sql1);
if(userlist1.size()==1)
{
request.getSession(). setAttribute("username", userlist1.get(0).get("username"));
request.getSession(). setAttribute("cx", ?userlist1.get(0).get("cx"));
gor("main.jsp", request, response);
}else{
request.setAttribute("error", "");
go("/login.jsp", request, response);
}
}
}
用戶登錄/注冊成功之后可以修改自己的基本信息。修改頁面的表單中每一個input的name值都要與實體類中的參數相匹配,在用戶點擊修改頁面的時候,如果改后用戶名與數據庫里面重復了,頁面會提示該用戶名已經存在了,否則通過Id來查詢用戶,并將用戶的信息修改為表單提交的數據。
如果商品中心的信息需要修改,管理員可以通過查詢商品中心的基本信息來查詢商品中心,查詢商品中心是通過ajax技術來進行查詢的,需要傳遞商品中心的標題、編號等參數然后在返回到該頁面中,可以選中要修改或刪除的那條信息,如果選中了超過一條數據,頁面會挑一個窗口提醒只能選擇一條數,如果沒有選中數據會挑一個窗口題型必須選擇一條數據。當選擇確認修改的時候,后臺會根據傳過來的id到數據庫查詢,并將結果返回到修改頁面中,可以在修改頁面中修改剛剛選中的信息當點擊確認的時候from表單會將修改的數據提交到后臺并保存到數據庫中,就是說如果提交的數據數據庫中存在就修改,否則就保存。
商品中心列表展示界面如下圖所示。
圖5-6商品中心列表展示界面
商品信息界面如下圖所示。
圖5-7商品信息界面
商品信息發布的關鍵代碼如下。
<%
String lb=request.getParameter("lb");
HashMap ext = new HashMap(); ?
new CommDAO().insert(request,response,"xinwentongzhi",ext,true,false,"xinwentongzhi_add.jsp?lb="+lb);
%>
此頁面的關鍵是編寫失物招領信息,包括失物招領編號,圖片,招領內容等。單擊提交按鈕以完成信息的添加。如果未寫入完整的失物招領信息,例如,如果未寫入失物招領編號,系統將給出相應的錯誤提示,并且無法成功輸入。數據以概念的形式以onsubmit =“return checkForm()”的形式寫入以進行檢查,checkForm()函數是一種用于寫入數據的不同類型的校對方法,是不是為空也是經過form表單中的οnsubmit=”return checkForm()來檢查。
管理員點擊左側菜單“失物招領信息管理”,頁面跳轉到失物招領信息管理外觀,調用后臺失物招領查詢所有失物招領信息。并將信息密封到數據集合List,綁定到請求對象,然后頁面跳轉到相應的jsp,顯示出失物招領信息,單擊刪除按鈕完成失物招領信息的刪除。
失物招領管理流程圖如下圖所示。
圖5-17失物招領管理流程圖
失物招領編輯界面如下圖所示。
圖5-18失物招領編輯界面
失物招領列表界面如下圖所示。
圖5-19失物招領列表界面
失物招領列表的關鍵代碼如下。
<%
String lb=request.getParameter("lb");
HashMap ext = new HashMap(); ?
new CommDAO().insert(request,response,"xinwentongzhi",ext,true,false,"xinwentongzhi_add.jsp?lb="+lb);
%>
根據需求,需要對拼車進行添加、刪除或修改詳情信息。刪除或修改拼車時,系統根據拼車的狀態判定為可刪除狀態下,才會給出刪除和修改鏈接,點擊刪除鏈接按鈕時,請求到達后臺,還會先查詢拼車狀態再次做出判定能否刪除。點擊修改鏈接按鈕時,會跳轉到修改信息的頁面,重新填寫好數據后,數據提交到后臺會對數據庫中相應的記錄做出修改。
添加拼車時,會給出數據填寫的頁面,該頁面根據填寫好的拼車編號同樣會事先發送Ajax請求查詢編號是否已存在,數據填寫好之后提交到后臺,會調用相關服務在數據庫中插入記錄。
拼車管理流程圖如下圖所示。
圖5-20拼車管理流程圖
拼車編輯頁面設計效果如下圖所示。
圖5-21拼車添加界面
拼車列表頁面效果如下圖所示。
圖5-22拼車列表界面
拼車列表的關鍵代碼如下。
<%
String lb=request.getParameter("lb");
HashMap ext = new HashMap(); ?
new CommDAO().insert(request,response,"xinwentongzhi",ext,true,false,"xinwentongzhi_add.jsp?lb="+lb);
%>
對任何系統而言,測試都是必不可少的環節,測試可以發現系統存在的很多問題,所有的軟件上線之前,都應該進行充足的測試之后才能保證上線后不會Bug頻發,或者是功能不滿足需求等問題的發生。下面分別從單元測試,功能測試和用例測試來對系統進行測試以保證系統的穩定性和可靠性。
下表是系統登錄功能測試用例,檢測了用戶名和密碼的不同的輸入情況,觀察系統的響應情況。得出該功能達到了設計目標。
表6-1 系統登錄功能測試用例
| 功能描述 | 用于系統登錄 | |
| 測試目的 | 檢測登錄時的合法性檢查 | |
| 測試數據以及操作 | 預期結果 | 實際結果 |
| 輸入的用戶名和密碼帶有非法字符 | 提示用戶名或者密碼錯誤 | 與預期結果一致 |
| 輸入的用戶名或者密碼為空 | 提示用戶名或者密碼錯誤 | 與預期結果一致 |
| 輸入的用戶名和密碼不存在 | 提示用戶名或者密碼錯誤 | 與預期結果一致 |
| 輸入正確的用戶名和密碼 | 登錄成功 | 與預期結果一致 |
下表是注冊功能測試用例,檢測了各種數據的輸入情況,觀察系統的響應情況。得出該功能達到了設計目標。
表6-2 注冊功能測試用例
| 功能描述 | 用于用戶注冊 | |
| 測試目的 | 檢測用戶注冊時的合法性檢查 | |
| 測試數據以及操作 | 預期結果 | 實際結果 |
| 輸入的手機號不合法 | 提示請輸入正確的手機號碼 | 與預期結果一致 |
| 輸入的字段為空 | 提示必填項不能為空 | 與預期結果一致 |
| 輸入的密碼少于6位 | 提示密碼必須為6-12位 | 與預期結果一致 |
| 輸入的密碼大于12位 | 提示密碼必須為6-12位 | 與預期結果一致 |
下表是失物招領管理功能的測試用例,檢測了失物招領管理中對失物招領信息的增加,刪除,修改,查詢操作是否成功運行。觀察系統的響應情況,得出該功能也達到了設計目標,系統運行正確。
前置條件;用戶登錄系統。
表6-3 失物招領管理的測試用例
| 功能描述 | 用于失物招領管理 | |
| 測試目的 | 檢測失物招領管理時的各種操作的運行情況 | |
| 測試數據以及操作 | 預期結果 | 實際結果 |
| 點擊添加失物招領,必填項合法輸入,點擊保存 | 提示添加成功 | 與預期結果一致 |
| 點擊添加失物招領,必填項輸入不合法,點擊保存 | 提示必填項不能為空 | 與預期結果一致 |
| 點擊修改失物招領,必填項修改為空,點擊保存 | 提示必填項不能為空 | 與預期結果一致 |
| 點擊修改失物招領,必填項輸入不合法,點擊保存 | 提示必填項不能為空 | 與預期結果一致 |
| 點擊刪除失物招領,選擇失物招領刪除 | 提示刪除成功 | 與預期結果一致 |
| 點擊搜索失物招領,輸入存在的失物招領名 | 查找出失物招領 | 與預期結果一致 |
| 點擊搜索失物招領,輸入不存在的失物招領名 | 不顯示失物招領 | 與預期結果一致 |
下表是商品推薦管理功能的測試用例,檢測了商品推薦管理中對商品推薦信息的增加,刪除,修改,查詢操作是否成功運行。觀察系統的響應情況,得出該功能也達到了設計目標,系統運行正確。
前置條件;用戶登錄系統。
表6-4 商品推薦管理的測試用例
| 功能描述 | 用于商品推薦管理 | |
| 測試目的 | 檢測商品推薦管理時的各種操作的運行情況 | |
| 測試數據以及操作 | 預期結果 | 實際結果 |
| 點擊添加商品推薦,必填項合法輸入,點擊保存 | 提示添加成功 | 與預期結果一致 |
| 點擊添加商品推薦,必填項輸入不合法,點擊保存 | 提示必填項不能為空 | 與預期結果一致 |
| 點擊修改商品推薦,必填項修改為空,點擊保存 | 提示必填項不能為空 | 與預期結果一致 |
| 點擊修改商品推薦,必填項輸入不合法,點擊保存 | 提示必填項不能為空 | 與預期結果一致 |
| 點擊刪除商品推薦,選擇商品推薦刪除 | 提示刪除成功 | 與預期結果一致 |
| 點擊搜索商品推薦,輸入存在的商品推薦名 | 查找出商品推薦 | 與預期結果一致 |
| 點擊搜索商品推薦,輸入不存在的商品推薦名 | 不顯示商品推薦 | 與預期結果一致 |
使用阿里云PTS(Performance Testing Service)性能測試服務對線上系統進行壓力測試。線上服務器環境為:1核心CPU,1G內存,1Mbps公網帶寬,Centos7.0操作系統。
壓測過程中使用了2臺并發機器,每臺機器20個用戶并發,對系統主頁,登錄,數據查詢和數據維護等模塊進行并發訪問,測試結果是有40個用戶并發時,數據管理相關頁面的響應時間甚至達到了7s,通過查看服務器出網流量發現已經達到1381kb/s,可以看出服務器的帶寬已經達到峰值,如果系統使用5Mbps的帶寬,系統的響應時間和TPS將會大大增加。在整個測試的過程中,CPU的使用率占用僅8%,也提現出帶寬瓶頸對系統的影響非常嚴重。
隨著計算機互聯網技術的迅猛發展,各行各業都已經實現采用計算機相關技術對日益放大的數據進行管理。該課題是校園信息共享平臺為核心展開的。校園信息共享平臺的開發是以SSM框架作為基礎,在Myeclipse平臺上完成編碼工作,系統整體為B/S架構,數據庫系統使用MySQL。文中詳細分析了校園信息共享平臺的研究背景、研究目的和意義、開發工具和相關技術以及系統需求、系統詳細設計和系統測試等等一系列內容。系統實現了校園信息共享平臺所需的一些基本功能,并通過測試對這些實現的功能進行了完善,進而提高了系統整體的實用性。整個系統的開發過程中大量使用了Java相關的知識以及前端開發使用的html和javascript等,同時涉及到了很多開源框架和組件,例如后臺系統中運用的MVC架構、Freemarker模板引擎等,前端運用的UI框架等。
系統投入運行時,各功能均運行正常。系統的每個界面的操作符合常規邏輯,對使用者來說操作簡單,界面友好。整個系統的各個功能設計合理,體現了人性化。
但是由于自己在系統開發過程中對一些用到的相關知識和技術掌握不夠牢固,再加上自身開發經驗欠缺,因此系統在有些方面的功能還不夠完善,考慮的不夠全面,因此整個系統還有待日后逐步完善。
參考文獻
[1]柳葉.基于微信小程序的校園導航系統的設計與實現[J].測繪與空間地理信息,2021,44(11):84-86.
[2]張菊.微信小程序的移動校園地圖系統設計與實現[J].測繪地理信息,2021,46(S1):29-31.
[3]劉晨晨,高華,張騫文.基于微信小程序的高校學生安全管理探索——以“我在校園”為例[J].陜西廣播電視大學學報,2021,23(02):74-78.
[4]丁茜,李思琪,李志芳.基于微信小程序的直通校園系統[J].電腦知識與技術,2021,17(13):67-69.
[5]周艷,蔣程程,張聰,覃夢逗.輕量化校園地圖導覽小程序的設計與實現[J].地理信息世界,2021,28(01):61-67.
[6]姚萬鵬.基于微信小程序的校園服務平臺的設計與實現[J].信息與電腦(理論版),2021,33(03):109-110.
[7]王子龍,馮特,趙晨帆,楊周.基于微信小程序的“易校園”平臺的研究與開發[J].技術與市場,2021,28(02):112-113.
[8]肖樹華,周南,譚園玲.基于微信小程序的高校學生學術活動管理平臺開發研究[J].電子元器件與信息技術,2020,4(12):150-151.
[9] Design and Development of Campus Service Platform Based on WeChat Applet[J]. 2020,10(12):
[10]莊澤莎,陳浩,高志雄,陳藝瀚,鮮征征.大學校園生活微信小程序的設計和實現[J].軟件,2020,41(07):76-80+90.
[11]王巍學,龔毅光,符嬌陽,陳非凡,周坤.基于微信程序對“校園小黑板”平臺的開發應用[J].電腦知識與技術,2020,16(14):120-121.
[12]劉波,黃情琴,李鑫科,劉連滴,蘇澤利,余文森.微信校園便捷服務平臺的開發與實現[J].現代信息科技,2019,3(22):86-88+91.
[13]Design of Smart Campus System Based on WeChat Mini Program[D].2019.
[14]田航,熊余,儲雯.重慶郵電大學 移動微校園矩陣連接全校[J].中國教育網絡,2018(12):79-80.
[15]黃榮,陳來斌,郭雪微,陳瑤,廉佐政,張光妲.基于微信小程序的校園助手設計與實現[J].齊齊哈爾大學學報(自然科學版),2018,34(06):41-43.
[16]本刊編輯部.科技通訊[J].金融科技時代,2018(02):90-97.
致謝
本次設計歷時3個月。在這個畢業設計中,它離不開指導教師的指導,使事情基本順利。指導老師無論是在畢業設計歷經中,還是在論文做完中都給了了我特別大的助益。另1個方面,教師認真負責的工作姿態,謹慎的教學精神厚重的理論水準都使我獲益匪淺。他勤懇謹慎的教學育人學習姿態也給我留下了特別特別深的感覺。我從老師那里學到了很多東西。在理論和實踐中,我的技能得到了特別大的提高。在此,特向教師表示由衷的感激。
經過對該畢業設計的全部研究和開發,我的系統研發經歷了從需求分析到實現詳細功能,再到最終測試和維護的特殊進展。讓我對系統研發有了更深層次的認識。如今我的動手本領單獨處理疑惑的本領也獲取到了特別大的演練學習增多,這是這次畢業設計最好的收獲。
最后,在整個系統開發過程中,我周圍的同學和朋友給了我很多意見,所以我很快就確認了系統的商業思想。在次,我由衷的向他們表示感激。
點贊+收藏+關注 ?→ ?私信領取本源代碼、數據庫
總結
以上是生活随笔為你收集整理的JAVA+基于微信小程序的校园信息共享平台 毕业设计-附源码211615的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode之路:122. Best
- 下一篇: 创业服务资源获取的途径有哪些?