摘 ?要
視頻地址?答辯講解387基于Spring Boot的心理健康管理系統_嗶哩嗶哩_bilibili
自改革開放政策施行以來,我國經濟持續保持快速增長態勢,國民生活水平得到了明顯提升,然而近些年來,經濟增速出現放緩,再加上疫情等突發公共事件帶來的影響,使得大學生群體以及社會公眾普遍面臨著較大的心理壓力挑戰,為了可有效地達成心理問題早期篩查以及精準干預的目標,本研究設計并且開發了一套基于Spring Boot框架的心理健康管理系統。該系統采用以實際應用需求作為導向的開發模式,系統管理員可對學生、心理咨詢師等用戶群體以及試題庫開展集中管理,以此保證數據資料的完整性以及可追溯性,心理咨詢師模塊有在線試卷發布、學生答卷查閱以及自動化評分等功能,學生用戶可以依靠該系統完成在線測試并且查詢歷史測評記錄。在技術架構層面,系統采用B/S模式來實現,前端基于JSP技術并結合Vue.js框架構建用戶界面,后端采用Spring Boot框架處理業務邏輯,數據存儲層選用開源關系型數據庫MySQL,這種技術方案保證了系統可穩定運行,同時也實現了良好的用戶交互體驗以及界面呈現效果。
關鍵詞:心理健康管理;SpringBoot框架;B/S架構;心理咨詢
Abstract
Since the implementation of the reform and opening-up policy, China's economy has maintained a rapid growth trend, and the living standards of the people have been significantly improved. However, in recent years, the economic growth rate has slowed down, coupled with the impact of sudden public events such as the epidemic, which has led to significant psychological pressure and challenges for college students and the general public. In order to effectively achieve the goal of early screening and precise intervention for psychological problems, this study designs and develops a psychological health management system based on the Spring Boot framework. The system adopts a development model guided by practical application needs. The system administrator can centrally manage user groups such as students, psychological counselors, and the test question bank to ensure the integrity and traceability of data. The psychological counselor module has functions such as online test paper publishing, student answer sheet viewing, and automated scoring. Student users can rely on the system to complete online testing and query historical evaluation records. At the technical architecture level, the system is implemented using the B/S model. The front-end is based on JSP technology and combined with the Vue.js framework to build the user interface. The back-end uses the Spring Boot framework to process business logic. The data storage layer uses the open-source relational database MySQL. This technical solution ensures stable system operation and also achieves a good user interaction experience and interface presentation effect.
Key words:mental health management; SpringBoot framework; B/S architecture; psychological counseling
目 ?錄
1 緒論?? ?1
1.1 背景與意義?? ?1
1.1.1 背景?? ?1
1.1.2 意義?? ?2
1.2 研究目的及內容?? ?2
1.2.1 研究目的?? ?2
1.2.2 研究內容?? ?2
1.3 設計原則?? ?3
1.4 論文組織結構?? ?3
2 開發環境與開發技術?? ?5
2.1 IDEA?? ?5
2.2 Tomcat?? ?5
2.3 SSM框架?? ?5
2.4 B/S模式分析?? ?5
2.5 MySQL數據庫?? ?6
3 需求分析?? ?7
3.1 設計目標?? ?7
3.2 功能需求分析?? ?7
3.3 非功能需求分析?? ?9
3.3.1 性能需求?? ?9
3.3.2 可靠性需求?? ?9
3.3.3 可擴展性需求?? ?9
3.3.4 安全性需求?? ?10
3.4 可行性分析?? ?10
3.4.1 技術可行性?? ?10
3.4.2 組織可行性?? ?10
3.4.3 時間可行性?? ?10
3.4.4 經濟可行性?? ?11
4 概要設計?? ?12
4.1 系統功能圖?? ?12
4.2 數據庫設計?? ?12
4.2.1 數據庫概念設計?? ?12
4.2.2 數據庫邏輯設計?? ?16
5 詳細設計?? ?21
5.1 學生模塊設計?? ?21
5.1.1 注冊模塊?? ?21
5.1.2 登錄模塊?? ?21
5.1.3 購買模塊?? ?22
5.1.4 觀看視頻模塊?? ?23
5.1.5 話題討論模塊?? ?23
5.1.6 在線考試模塊?? ?24
5.1.7 下載資料模塊?? ?25
5.1.8 查看公告模塊?? ?25
5.1.9 個人信息模塊?? ?26
5.2 教師模塊設計?? ?26
5.2.1 注冊模塊?? ?26
5.2.2 登錄模塊?? ?27
5.2.3 上傳視頻模塊?? ?28
5.2.4 上傳資料模塊?? ?29
5.2.5 發布討論模塊?? ?30
5.2.6 發布考試模塊?? ?30
5.2.7 教學介紹模塊?? ?31
5.3 管理員模塊設計?? ?32
5.3.1 管理員登錄模塊?? ?32
5.3.2 人員管理模塊?? ?33
5.3.3 視頻管理模塊?? ?34
5.3.4 資料管理模塊?? ?35
5.3.5 題庫管理模塊?? ?36
5.3.6 公告管理模塊?? ?37
6 系統功能實現?? ?38
6.1 學生模塊實現?? ?38
6.1.1 網站首頁?? ?38
6.1.2 注冊登錄功能?? ?39
6.1.3 購買功能?? ?40
6.1.4 觀看視頻功能?? ?41
6.1.5 話題討論功能?? ?42
6.1.6 在線考試功能?? ?43
6.1.7 資料下載功能?? ?44
6.1.8 查看公告功能?? ?45
6.1.9 個人信息功能?? ?46
6.2 教師模塊實現?? ?47
6.2.1 教師注冊登錄?? ?47
6.2.2 視頻功能?? ?48
6.2.3 資料功能?? ?49
6.2.4 留言功能?? ?50
6.2.5 題庫功能?? ?50
6.2.6 教學介紹功能?? ?51
6.3 管理員模塊實現?? ?52
6.3.1 登錄?? ?52
6.3.2 學生管理?? ?54
6.3.3 教師功能?? ?54
6.3.4 視頻功能?? ?55
6.3.5 資料功能?? ?56
6.3.6 題庫功能?? ?57
6.3.7 公告功能?? ?58
7 系統測試?? ?59
7.1 系統測試目的與意義?? ?59
7.2 系統測試方法?? ?59
7.2.1 白盒測試?? ?59
7.2.2 黑盒測試?? ?59
7.3 測試用例?? ?59
7.3.1 學生注冊測試?? ?60
7.3.2 教師登錄測試?? ?60
7.3.3 上傳資料測試?? ?61
7.3.4 發布公告測試?? ?61
7.3.5 上傳視頻測試?? ?61
7.3.6 發布討論測試?? ?62
7.3.7 上傳題庫測試?? ?62
7.4 測試結果分析?? ?62
8 總結與展望?? ?63
8.1 總結?? ?63
8.2 展望?? ?63
參考文獻?? ?64
致 ?謝?? ?66
1 緒論
1.1 背景與意義
1.1.1 背景
在當代社會,經濟不斷發展、政治發生變革、文化相互交融,再加上疫情帶來沖擊,在這些多重因素共同發揮作用的情況下,多元文化交織碰撞的復雜格局已經形成,這種文化多樣性深刻重塑了個體的價值觀念、思維模式以及生活形態,社會各階層人群也不可避免地受到各類社會因素的影響,對他們的心理健康狀態產生作用。展開來說,心理壓力主要來源于就業競爭、學業負擔、經濟狀況、情感困擾、生活壓力以及社會環境適應等多方面因素,持續累積的壓力會引發各類心理障礙,還可能致使機體免疫力降低、情緒調節功能紊亂等一系列負面生理心理反應,我國互聯網產業在2000年前后迎來快速發展階段,以阿里巴巴、騰訊等為代表的互聯網企業陸續崛起,在寬帶網絡提速、外資企業入駐等多重因素推動之下,網絡應用產品日益豐富。計算機信息系統在優化管理流程方面有明顯優勢,像零售業的供應鏈條碼管理系統,以及醫療機構的藥品庫存與掛號系統,都有效提高了運營效率,解決了實際管理難題,基于這樣的背景,本研究要開發一套心理健康篩查系統,希望能實現對有心理困擾的學生及其他人群的快速識別與及時干預,幫助他們獲得專業心理支持,走向更加積極健康的人生發展道路。
1.1.2 意義
本系統旨在提供一個全面、便捷、個性化的心理健康服務平臺,幫助學生來解決心理問題,提升心理健康的水平。在信息化高速發展的今天,大家對信息管理系統的需求越來越高,因此,一款便捷且實用性強的系統越來越符合用戶需要。大家希望可以只通過一個網站就可以輕松解決自己的需求,因此心理健康管理系統,不僅符合電子信息時代,適應時代發展,可以滿足用戶對科技時代的網站所擁有的期待,提升用戶的使用體驗。
1.2 研究目的及內容
1.2.1 研究目的
本文旨在設計一個科學、高效的心理健康管理系統,可以滿足學生不斷增長的心理健康方面的需求。伴隨著科技的發展,手機、電腦等高科技產品可以帶來更多方便快捷、簡單實用的功能。與此同時,也希望在使用的時候可以輕松的掌握和使用這些設備的技巧。
1.2.2 研究內容
本系統主要包含三個模塊,分別為學生模塊、心理咨詢師模塊和管理員模塊。不同角色有不同的功能相對應。
(1)學生模塊:學生登錄注冊,進入界面之后,可以進行心理測試、查看心理健康文章、預約咨詢等功能。
(2)心理咨詢師模塊:心理咨詢師師使用工號登錄,進入界面之后,可以發布心理測試、上傳文章等。
(3)管理員模塊:使用賬號密碼登錄,對學生和心理咨詢師管理,管理題庫、對文章進行管理等。
1.3 設計原則
功能的可用性,功能是否可以實現,是否可以實現心理健康管理,功能是否滿足用戶需要。
簡潔性:界面簡介,用戶可清晰分辨系統各個模塊功能。
安全性:利用MySQL的數據庫保存數據和用戶的信息。
1.4 論文組織結構
本研究論文的結構是這樣安排的:
(1)緒論。對基于SpringBoot的心理健康管理系統的研究背景和研究意義做了簡單性的描述。
(2)開發環境與開發技術。主要介紹Spring Boot編程技術、Java語言、B/S模式等。
(3)需求分析。針對該系統的需求分析與可行性進行介紹。深入分析各個用戶的特點和需求,明確不同用戶的需求差異。
(4)概要設計。內容是數據庫表的設計。詳細介紹了數據庫表的相關關系,以及對數據表的相關字段進行了詳細解釋。
(5)詳細設計。針對各個功能模塊的流程圖詳細介紹。詳細解釋和說明各個功能模塊的流程圖。
(6)系統功能實現。系統成功運行之后,詳細說明系統的界面與功能情況。
(7)系統測試。系統完成后,根據相關測試用例對各個模塊進行相關的功能測試。
(8)總結與展望。關于課題設計的總結以及未來發展的展望的概述。
2 開發環境與開發技術
2.1 IDEA
在系統開發進程當中,集成開發環境的挑選是非常關鍵的,當下主流的開源工具囊括了Eclipse、VSCode以及IntelliJ IDEA等,經過全面評估之后,本研究選用IntelliJ IDEA當作開發工具,主要是出于以下這些考慮:和VSCode在前端開發方面的優勢以及Eclipse所存在的穩定性欠佳和調試繁雜等問題相比較,IDEA呈現出更全面的開發支持,這個工具擁有可提升開發效率的特性,具體表現在五個方面:其一,智能代碼補全功能可有效降低編碼時的拼寫錯誤,其二,支持用戶進行自定義模板以及快捷鍵設置,提升代碼復用效率,其三,提供完善的類結構可視化功能,方便開發者迅速找到目標類與方法,其四,有多樣化的主題配置選項,依靠不同的語法高亮顯示提高代碼可讀性,其五,調試模式設計科學,在斷點調試時可直觀呈現對象數據狀態,極大地簡化了問題排查流程。基于上述優勢,本研究最終決定采用IntelliJ IDEA作為系統開發的主要工具。
2.2 Spring Boot框架
在基于Spring Boot的心理健康管理系統的設計與實現中,Spring Boot 框架發揮了核心作用,為整個項目高效構建與穩定運行奠定了堅實的基礎。?
Spring Boot 秉持“約定優于配置”的理念,這對于心理健康管理系統開發意義重大。以往開發此類系統,需耗費大量精力編寫復雜的 XML 配置文件,現在借助 Spring Boot,默認配置機制大幅減少這些繁瑣工作,開發人員可以將更多時間與精力聚焦在系統的核心業務邏輯,如測評問卷的設計、結果分析算法的實現等。通過簡單的打包,心理健康管理系統即可生成可執行的 JAR 或 WAR 文件,方便快捷地部署到服務器上,可以為用戶提供心理健康測評服務,滿足用戶對便捷獲取測評結果、了解自身心理健康狀況的需求。
2.3 Java語言
Java語言在服務器端編程領域處于主導地位,隨著計算機管理系統廣泛應用得以快速發展,它是典型面向對象編程語言,定義四類共八種基礎數據類型,有浮點型、整型、字符型以及布爾型,這樣嚴格的數據類型體系充分呈現Java對數據管理的嚴謹要求,該語言核心特性體現在繼承機制、封裝特性以及多態性這三方面。Object類作為所有Java類基類,借單繼承機制保證每個派生類能繼承其屬性和方法,多態性典型表現是調用父類方法時,實際執行的是子類重寫后的方法實現,這種特性有多重優勢:一是憑借頂層接口定義和底層實現分離,提升了代碼結構清晰度,二是封裝機制只需公開接口并隱藏實現細節,為組件化開發奠定基礎,三是把面向對象原則拓展到接口層面,加深開發者對面向對象思想理解,促進Java語言廣泛傳播與應用。
2.4 B/S架構
基于B/S架構的應用系統強調業務邏輯獨立性,通過請求-響應模式完成數據交互。B/S架構的應用程序憑借瀏覽器的跨平臺特性,實現了應用程序的廣泛使用,B/S架構程序簡化了軟件系統更新機制。由于系統數據和內容都存儲在服務器端,B/S架構程序只需要更新服務器端數據和文件內容,重啟服務器就完成了系統的更新工作。軟件使用用戶,通過瀏覽器軟件,輸入軟件的網頁地址,就可以查看到最新的軟件內容,用戶不需要自己更新軟件,就可以使用到最新的軟件。然而在構建復雜功能模塊時,B/S架構可能面臨技術瓶頸。比如,服務器之間系統的數據通信,文件的實時傳輸,網絡游戲開發等過程,B/S架構程序的性能就滿足不了場景的要求。盡管如此,B/S架構程序在Web開發領域仍具有顯著優勢,尤其適用于需要統一管理業務邏輯、數據存儲及安全控制的場景。。
2.5 MySQL數據庫
MySQL作為開源數據庫,以其卓越的軟件性能,和靈活的安裝方式吸引了龐大的開發者社群。MySQL系統在高并發環境下展現出優異的性能,MySQL能夠實現水平分割和垂直分割,通過業務分割,構建MySQL數據庫集群。MySQL數據庫集群能夠大大增強MySQL數據庫的性能。MySQL數據庫確保數據完整性能夠保證數據的安全性和完整性,并且,MySQL支持跨平臺,可以支持linux和windows等操作系統。MySQL擁有豐富的數據引擎支持,提供了高效的檢索機制,MySQL擁有完善的API接口體系,為開發者提供了靈活的數據操作方案。這些特性使MySQL成為構建穩定高效的數據管理系統的理想選擇。
3 需求分析
3.1 設計目標
本系統為幫助學生進行心理健康管理,為用戶提供心理健康教育。
3.2 功能需求分析
本研究搭建的Web心理健康管理系統是以SpringBoot框架為基礎的,運用多角色權限設計模式,把系統用戶分成了學生、心理咨詢教師以及管理員這三類主體本研究搭建的Web心理健康管理系統是以SpringBoot框架為基礎的,運用多角色權限設計模式,把系統用戶分成了學生、心理咨詢教師以及管理員這三類主體。
學生用戶:對于學生用戶群體而言,系統達成了八大核心功能模塊,賬戶管理模塊能讓學生用戶去維護個人的賬戶信息,像修改登錄密碼以及設置頭像等這類基礎功能都覆蓋在內。在線心理測試功能使得學生可以完成標準化的心理測評問卷,系統整合了自動化閱卷功能,可立刻處理測試結果,然后測試結果查詢功能方便學生獲取個人的測評報告,另外在線咨詢模塊提供了和心理咨詢教師進行異步溝通的渠道,以及資訊評論功能支持學生對系統內容開展互動反饋。接著資訊收藏功能達成了個性化內容管理,預約功能模塊支持學生與心理咨詢師構建線下咨詢服務關系。主要功能模塊用例圖如圖3-1所示:
圖3-1 學生功能模塊用例圖
心理咨詢教師:本研究搭建的在線心理教育平臺為教師用戶賦予了五項關鍵功能模塊,在賬戶管理模塊里,教師可對個人賬戶信息展開全方位管理,如修改登錄密碼、設置頭像等基礎操作都覆蓋其中,問卷管理模塊幫助教師自行編制心理測評問卷,之后發布到系統供學生在線完成,平臺設有心理文章發布功能,借助此功能教師能查閱學生提交的測評結果數據。針對師生互動需求,系統特意設計了咨詢回復功能,方便教師及時解答學生提出的各種問題,預約訂單管理模塊為教師提供了查看與處理學生心理咨詢預約訂單的一整套工作流程。主要功能模塊用例圖如圖3-2所示:
圖3-2 教師功能模塊用例圖
管理員:本研究構建的管理系統擁有以下核心功能模塊,在用戶管理方面,系統能讓管理員對學生、心理咨詢師教師以及其他管理員等各類用戶,開展涉及新增、刪除、修改和查詢等操作的完整生命周期管理,內容管理模塊擁有文章資訊發布功能,可使管理員向系統推送各類供用戶瀏覽的信息。公告管理功能為系統公告信息的發布與維護打造了操作界面,賬戶管理模塊給予管理員維護個人賬戶信息的權限,像登錄密碼修改、頭像設置等個性化配置,系統還集成了輪播圖管理功能,支持管理員對輪播內容做動態調整,欄目管理模塊達成了系統欄目的靈活配置,題庫管理部分專門為單選題庫的維護與管理提供了完善的操作支持。主要功能模塊用例圖如圖3-3所示:
圖3-3 管理員功能模塊用例圖
3.3 非功能需求分析
3.3.1 性能需求
主要查看系統的性能等方面,在各種情形下,系統是否可以保持在穩定的狀態,是否能快速響應用戶的操作。
3.3.2 可靠性需求
用戶在使用系統時,系統可以保存穩定和高效的運轉,不會出現因為系統不穩定而導致教師與學生出現無法使用的狀況。并不斷進行創新研究,實現系統的穩定性和可靠性。
3.3.3 可擴展性需求
系統可以不斷升級和拓展,不斷滿足用戶的需求系統的功能可以不斷完善,可以加入新的功能供用戶使用,完善系統功能,使系統在日益發展的背景下,功能可以與時俱進,豐富用戶對系統的需求。
3.3.4 安全性需求
安全性需求是系統中很重要的一個方面,安全是可以放在首位的,系統要切實保證用戶的隱私安全,保證數據的安全性。如果不能滿足安全需求,容易造成隱私泄露問題,會導致用戶流失甚至引發信任危機。
3.4 可行性分析
無論做什么事情,在著手之前都必須先考慮其可行性問題,即對一個項目是否進行開發做出科學決策的過程。人們從不同的角度出發研究了各種影響項目可否實現的因素:如經濟因素、科學技術因素和運行因素等等。然而最主要的問題是分析需求能否支持基于SpringBoot的心理健康管理系統的功能要求;其次是從技術方面考察系統應采用何種編程語言以及怎樣存儲數據才能保證系統具有較好的通用性并易于移植到其他操作系統上;最后則是從經濟的角度來衡量系統的研制費用和后期維護費用。下面將詳細論述這三個方面的內容是怎樣制約著項目的可行性問題。
3.4.1 技術可行性
技術可行性主要從技術上進行分析。我們選用了MySQL作為我們的數據存儲庫,原因在于它是一個完全開放且無需付費的產品,易于部署和管理;其占用的內存資源極少并且被廣泛認為是最受歡迎的關系型DBMS之一。在這個項目的實施中,我們將使用的具體產品版本來定義的話就是基于最新版的 MySQL 5.7 的。從程序編寫角度來看,我們可以考慮的主要有JAVA、PHP與ASP.NET等多種工具或方法來實現這個目標。而對于基于SpringBoot的心理健康管理系統來說,我們會選用 Java 為基礎的技術架構并應用 Springboot開發生態套件的方式去完成整個系統的構建工作。同時我們也將會嚴格遵守 MVC的設計原則以確保軟件的高效運行及良好的用戶體驗效果。
3.4.2 經濟可行性
項目的經濟效益主要是由軟、硬設備的花費,人力資源投入,技術支持等其他相關物料所構成。此項信息化管理的系統屬于常見類型,其構建方式為基于網絡的服務器與客戶端架構。就硬件而言,對于建設基于SpringBoot的心理健康管理系統的需求并不高,個人使用的臺式機即可滿足運行條件,所以無需額外的投資。作為一名計算機專業的學生,我在大學的課程中對Java編程技巧進行了深度研究,并能嫻熟地運用Idea和MySQL工具。這些軟件均無須付費購買,故而人工成本也未產生額外支出,由此可見,該項目在財務方面具備實施的可能性。
3.4.3 操作可行性
本系統使用瀏覽器訪問操作,用戶通過瀏覽器能夠方便的通過心理健康測試,通過按鈕點擊在線測試操作。操作簡單快捷,管理員可以通過后臺方便維護和查看所有心理健康管理相關數據信息,因此在操作上是可行的。
3.4.4 法律可行性
從法律合規性這一角度來剖析,本系統在開發進程里所運用的技術框架全部源自開源社區的授權許可,與知識產權保護相關法律規定完全契合,不存在絲毫侵權風險,系統界面所運用的圖標資源均取自 Awesome 開源圖標庫,其授權方式明確準許商業用途,在學術規范層面,研究論文里所有引用的外部文獻都嚴格依照學術規范做了標準化的引注處理,完全符合學術倫理的要求。綜合這些分析可確認,本系統在法律層面的可行性獲得了充分保障。
綜上分析,該系統的研發是可行的。
4 概要設計
4.1 系統功能圖
心理健康管理系統分為學生,心理咨詢師和管理員三種角色,系統流程如圖4-1所示:
圖4-1 系統功能模塊圖
4.2 數據庫設計
數據庫設計是指根據應用需求,合理規劃和構建數據庫的結構和邏輯,包括數據的存儲、組織和管理。其主要目標是確保數據的完整性、一致性和高效性,支持系統的穩定運行和數據的靈活訪問。
4.2.1 數據庫概念設計
將相關數據劃分成一個個數據模型。以下是各個數據表的屬性圖:
(1)學生的屬性主要有賬號、身份證號、姓名、性別、手機號等。實體屬性圖如圖4-2所示:
圖4-2 學生實體屬性圖
(2)管理員屬性主要包括用戶名、手機號、郵箱等。實體屬性圖如圖4-3所示:
圖4-3 管理員實體屬性圖
(3)心理咨詢師的屬性主要包括工號、姓名、籍貫、介紹等。實體屬性圖如圖4-4所示:
圖4-4 心理咨詢師實體屬性圖
(4)公告選項的屬性主要包括標題、發布人、發布時間等。實體屬性圖如圖4-5所示:
圖4-5 公告選項實體屬性圖
(5)在線咨詢的屬性主要包括學生姓名、時間、內容、咨詢師姓名、圖片等。實體屬性圖如圖4-6所示:
圖4-6 在線咨詢實體屬性圖
(6)心理測試的屬性主要包括姓名、時間等。實體屬性圖如圖4-7所示:
圖4-7 心理測試實體屬性圖
(7)發布文章的屬性主要包括標題、圖片、分類、標簽等。實體屬性圖如圖4-8所示:
圖4-8 發布文章實體屬性圖
(8)評論的屬性主要包括問題、學生、時間、咨詢師等。實體屬性圖如圖4-9所示:
圖4-9 評論實體屬性圖
(9)試卷選項的屬性主要包括選項、問題等。實體屬性圖如圖4-10所示:
圖4-10 試卷選項實體屬性圖
(10)咨詢預約的屬性主要包括學生、心理咨詢師、時間等。實體屬性圖如圖4-11所示:
圖4-11 咨詢預約實體屬性圖
(11)總體E-R圖主要是學生、管理員、公告、視頻、問題、資料、留言這幾個實體之間的關系,總體E-R圖如圖4-12所示:
圖4-12 總體E-R圖
4.2.2 數據庫邏輯設計
(1)數據庫總表如下表4-1所示。
表4-1 數據庫總體設計表
序號?? ?表?? ?說明
1?? ?huiyuan?? ?學生表
2?? ?users?? ?管理員信息表
3?? ?ceshiti?? ?試卷試題表
4?? ?leaveword?? ?評論表
5?? ?notice?? ?公告表
6?? ?shoucang?? ?收藏表
7?? ?subtype?? ?文章表
8?? ?teacher?? ?心理咨詢師表
9?? ?xinxi?? ?文章內容表
10?? ?yuyue?? ?預約表
(2)學生表記錄學生的信息等情況。結構如表4-2所示:
表4-2 學生表(huiyuan)
列名?? ?數據類型?? ?長度?? ?主鍵?? ?是否為空?? ?描述
id?? ?int?? ?11?? ?是?? ?否?? ? ID
accountname?? ?varchar?? ?20?? ??? ?是?? ? 賬號
name?? ?varchar?? ?20?? ??? ?是?? ? 姓名
email?? ?char?? ?20?? ??? ?是?? ?郵箱
password?? ?varchar?? ?30?? ??? ?是?? ?密碼
nickname?? ?varchar?? ?20?? ??? ?是?? ?用戶名
regdate?? ?varchar?? ?20?? ??? ?是?? ?時間
(3)管理員信息表主要用來記錄管理員的信息。結構如表4-3所示:
表4-3 管理員信息表(users)
列名?? ?數據類型?? ?長度?? ?主鍵?? ?是否為空?? ?描述
id?? ?int?? ?11?? ?是?? ?否?? ?ID
name?? ?varchar?? ?20?? ??? ?是?? ?姓名
nickname?? ?varchar?? ?20?? ??? ?是?? ?用戶名
password?? ?varchar?? ?20?? ??? ?是?? ?密碼
email?? ?varchar?? ?20?? ??? ?是?? ?郵箱
(4)試卷試題表主要記錄各種試題。結構如表4-4所示:
表4-4 試卷試題表(ceshiti)
列名?? ?數據類型?? ?長度?? ?主鍵?? ?是否為空?? ?描述
id?? ?int?? ?11?? ?是?? ?否?? ?ID
choicea?? ?varchar?? ?80?? ??? ?是?? ?選項A
choiceb?? ?varchar?? ?50?? ??? ?是?? ?選項B
choicec?? ?varchar?? ?30?? ??? ?是?? ?選項C
choiced?? ?varchar?? ?30?? ??? ?是?? ?選項D
(5)評論表主要進行評論等記錄。結構如表4-5所示:
表4-5 評論表(leaveword)
列名?? ?數據類型?? ?長度?? ?主鍵?? ?是否為空?? ?描述
id?? ?int?? ?11?? ?是?? ?否?? ?ID
pubtime?? ?varchar?? ?30?? ??? ?是?? ?發布時間
replytime?? ?varchar?? ?30?? ??? ?是?? ?回復時間
replycontent?? ?text?? ?100?? ??? ?是?? ?回答
dcontent?? ?text?? ?100?? ??? ?是?? ?內容
(6)公告表主要記錄公告。結構如表4-6所示:
表4-6 公告表(notice)
列名?? ?數據類型?? ?長度?? ?主鍵?? ?是否為空?? ?描述
id?? ?int?? ?11?? ?是?? ?否?? ?ID
title?? ?varchar?? ?30?? ??? ?是?? ?主題
dcontent?? ?text?? ?100?? ??? ?是?? ?內容
pubren?? ?datetime?? ?20?? ??? ?是?? ?發布人
pubtime?? ?varchar?? ?50?? ??? ?是?? ?發布時間
(7)收藏表主要記錄收藏信息。結構如表4-7所示:
表4-7 收藏表(shoucang)
列名?? ?數據類型?? ?長度?? ?主鍵?? ?是否為空?? ?描述
id?? ?int?? ?11?? ?是?? ?否?? ?ID
targetname?? ?text?? ?50?? ??? ?是?? ?標題
describe?? ?text?? ?50?? ??? ?是?? ?內容
sctime?? ?timestamp?? ??? ??? ?是?? ?時間
tupian?? ?varchar?? ?30?? ??? ?是?? ?留言
(8)文章表主要記錄文章的內容和上傳時間等信息。結構如表4-8所示:
表4-8 文章表(subtype)
列名?? ?數據類型?? ?長度?? ?主鍵?? ?是否為空?? ?描述
id?? ?int?? ?11?? ?是?? ?否?? ?ID
name?? ?varchar?? ?80?? ??? ?是?? ?名稱
pubtime?? ?timestamp?? ??? ??? ?是?? ?上傳時間
(9)心理咨詢師表主要記錄心理咨詢師的賬號和姓名等信息。結構如表4-9所示:
表4-9 心理咨詢師表(teacher)
列名?? ?數據類型?? ?長度?? ?主鍵?? ?是否為空?? ?描述
id?? ?int?? ?11?? ?是?? ?否?? ?ID
ton?? ?text?? ?100?? ??? ?是?? ?賬號
password?? ?varchar?? ?50?? ??? ?是?? ?密碼
email?? ?text?? ?100?? ??? ?是?? ?郵箱
name?? ?text?? ?100?? ??? ?是?? ?姓名
(10)文章內容表主要記錄心理文章的內容等情況。結構如表4-10所示:
表4-10 文章內容表表(xinxi)
列名?? ?數據類型?? ?長度?? ?主鍵?? ?是否為空?? ?描述
id?? ?int?? ?11?? ?是?? ?否?? ?編號
pubtime?? ?varchar?? ?100?? ??? ?是?? ?發布時間
title?? ?text?? ?50?? ??? ?是?? ?標題
clickcount?? ?varchar?? ?50?? ??? ?是?? ?點擊量
tupian?? ?varchar?? ?50?? ??? ?是?? ?圖片
(11)預約表主要學生的心理預約信息。結構如表4-11所示:
表4-11 預約表(yuyue)
列名?? ?數據類型?? ?長度?? ?主鍵?? ?是否為空?? ?描述
id?? ?int?? ?11?? ?是?? ?否?? ?ID
title?? ?text?? ?50?? ??? ?是?? ?標題
yydate?? ?timestamp?? ?50?? ??? ?是?? ?時間
mobile?? ?vatchar?? ?100?? ??? ?是?? ?手機號
dcontent?? ?text?? ??? ??? ?是?? ?目錄
5 詳細設計
5.1 學生模塊設計
5.1.1 注冊模塊
用戶進入首頁,點擊注冊按鈕,進入注冊界面。其流程圖如圖5-1所示。
圖5-1 注冊信息流程圖
5.1.2 登錄模塊
學生可以進行登錄查看功能。其登錄流程圖如圖5-2所示。
圖5-2 登錄界面流程圖
5.1.3 心理測試模塊
學生登錄之后,在主界面選擇心理測試模塊。其流程圖如圖5-3所示:
圖5-3 心理測試流程圖
5.1.4 查看文章模塊
點擊心理文章,選擇心理文章進行觀看。其流程圖如圖5-4所示:
圖5-4 觀看文章流程圖
5.1.5 在線留言模塊
學生可以在咨詢師目錄下進行在線留言,與咨詢師進行交流互動。其流程圖如圖5-5所示:
圖5-5 在線留言流程圖
5.1.6 預約咨詢模塊
學生通過預約咨詢與心理咨詢師進行預約。其流程圖如圖5-6所示:
圖5-6 預約咨詢流程圖
5.1.7 發表評論模塊
學生可以在對應的文章下進行評論。其流程圖如圖5-7所示:
圖5-7 留言評論流程圖
5.1.8 查看公告模塊
學生在主頁面點擊公告,查看公告信息。其流程圖如圖5-8所示:
圖5-8 查看公告流程圖
5.1.9 個人信息模塊
點擊個人信息,在個人信息界面修改個人信息。其流程圖如圖5-9所示:
圖5-9 個人信息流程圖
5.2 心理咨詢師模塊設計
5.2.1 登錄模塊
心理咨詢師通過工號和密碼進行登錄。其流程圖如圖5-10所示:
圖5-10 登錄流程圖
5.2.2 發布文章模塊
心理咨詢師發布文章,供學生交流和評論。其流程圖如圖5-11所示:
圖5-11 發布文章流程圖
5.2.3 答卷管理模塊
心理咨詢師可以對答卷進行管理。流程圖如圖5-12所示:
圖5-12 答卷管理流程圖
5.2.4 預約訂單模塊
心理咨詢師點擊預約訂單管理,查看學生的心理預約信息,進行審核。其流程圖如圖5-13所示:
圖5-13 預約訂單流程圖
5.2.5 咨詢回復模塊
心理咨詢師可以回復學生的問題,進行答疑解惑。其流程圖如圖5-14所示:
圖5-14 咨詢回復流程圖
5.2.6 個人信息模塊
在個人信息界面,可以詳細介紹教學信息。其流程圖如圖5-15所示:
圖5-15 個人信息流程圖
5.3 管理員模塊設計
5.3.1 管理員登錄模塊
管理員輸入賬號和密碼進入管理員頁面。其流程圖如圖5-16所示:
圖5-16 管理員登錄流程圖
5.3.2 人員管理模塊
可以對學生和心理咨詢師進行管理。其流程如圖5-17所示:
圖5-17 人員管理流程圖
5.3.3 題庫管理模塊
對心理測試的題庫進行管理,更新或者刪除試題。其流程圖如圖5-18所示:
圖5-18 題庫管理流程圖
5.3.4 文章管理模塊
對心理咨詢師上傳的文章進行管理,進行修改或刪除等操作。其流程圖如圖5-19所示:
圖5-19 文章管理流程圖
5.3.5 系統介紹模塊
管理員在系統介紹管理模塊選擇更新系統信息。其流程圖如圖5-20所示:
圖5-20 系統介紹流程圖
5.3.6 公告管理模塊
管理員使用公告管理更新公告信息。其流程圖如圖5-21所示:
圖5-21 上傳公告流程圖
6 系統功能實現
6.1 學生模塊實現
6.1.1 網站首頁
進入網站首頁,導航欄中分為心理測試、心理文章、案例總結、心理導師等模塊。如圖6-1所示。
圖6-1 網站首頁
核心代碼如下:
$(function(){
? ? $('#Marquee_x').kxbdMarquee({ 'direction':'left','isEqual':'true','loop':0 });
? ? $('#Marquee_xx').kxbdMarquee({ 'direction':'left','isEqual':'true','loop':0 });
? ? $('#Marquee_xxx').kxbdMarquee({ 'direction':'left','isEqual':'true','loop':0 });
});
// banner 滾動邏輯
function run(index){
? ? ? imgBox.removeClass('active').eq(index).addClass('active');
? ? ? banBtn.removeClass('active').eq(index).addClass('active');
? ? ? clearInterval(timeout);
? ? ? timeout = setInterval(autorun,speed);
}
function autorun(){
? var _indexDiv = changeBox.find('.active').index(),
? ? ? _indexBtn = changeBtn.find('.active').index(),
? ? ? _lenDiv = imgBox.length,
? ? ? _lenBtn = banBtn.length,
? ? ? autoindex = _indexDiv+1;
? autoindex = autoindex > 2? 0 : autoindex;
? imgBox.removeClass('active').eq(autoindex).addClass('active');
? banBtn.removeClass('active').eq(autoindex).addClass('active');
}
banBtn.each(function(){// 點擊切換
? $(this).on("click",function(){
? ? var index = banBtn.index();
? ? run(index);
? });
});
6.1.2 注冊登錄功能
學生注冊時,需要填寫賬號、密碼、姓名等信息。如圖6-2所示。
學生登錄時,使用賬號密碼進行登錄。如圖6-3所示。
圖6-2 學生注冊
圖6-3 學生登錄
核心代碼如下:
@RequestMapping(value="/studentLogin",method=RequestMethod.POST)
?? ?public String studentLogin(Model model,@RequestParam("stu_num") String stu_num,Student student,HttpSession session) {
?? ??? ?student=service.loginUser(student,session);
?? ??? ?if (student!=null) {
?? ??? ??? ?String stuName=student.getStu_name();
?? ??? ??? ?session.setAttribute("stu_num", stu_num);//登錄的學號
?? ??? ??? ?session.setAttribute("stuName", stuName);//學生姓名
?? ??? ??? ?System.out.println("學號:"+stu_num+"姓名:"+stuName);
?? ??? ??? ?return "redirect:main_stu.jsp";
?? ??? ?}else {
?? ??? ? ? ?model.addAttribute("message", "學號或者密碼錯誤");//將取出的數據存放到model
?? ??? ??? ?return "forward:login_users.jsp";
?? ??? ?}
?? ?}
6.1.3 心理測試功能
通過點擊心理測試,選擇對應試卷進行答題。如圖6-4所示。
圖6-4 心理測試
核心代碼如下:
$(document).ready(function() {
? ? ? ? ? ? var codeReader = new jsQR();
? ? ? ? ? ? $('#qrCodeImage').on('load', function() {
? ? ? ? ? ? ? ? var canvas = document.createElement('canvas');
? ? ? ? ? ? ? ? var ctx = canvas.getContext('2d');
? ? ? ? ? ? ? ? canvas.width = this.width;
? ? ? ? ? ? ? ? canvas.height = this.height;
? ? ? ? ? ? ? ? ctx.drawImage(this, 0, 0);
? ? ? ? ? ? ? ? codeReader.decodeFromImage(canvas).then(function(result) {
? ? ? ? ? ? ? ? ? ? if (result) {
? ? ? ? ? ? ? ? ? ? ? ? // 掃描成功,跳轉到另一個 JSP 頁面
? ? ? ? ? ? ? ? ? ? ? ? window.location.href = "studentadd.jsp";
? ? ? ? ? ? ? ? ? ? } else {
? ? ? ? ? ? ? ? ? ? ? ? // 掃描失敗,提示失敗信息
? ? ? ? ? ? ? ? ? ? ? ? alert('掃描失敗,請重新掃描!');
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? });
?});
?});
6.1.4 查看文章功能
點擊心理文章,查看心理文章,還可以評論和收藏文章。如圖6-5所示。
圖6-5 查看文章