資進(jìn) 羅翔文 王錦坤 徐碧梅 張憶先
摘? 要:本文通過SpringBoot框架、MyBatis、MySQL、Redis等技術(shù)對(duì)學(xué)生信息的整合進(jìn)行了系統(tǒng)的管理,有效地劃分了院與院之間、層與層之間的關(guān)系,該系統(tǒng)設(shè)計(jì)四級(jí)權(quán)限分層管理明確了各個(gè)等級(jí)權(quán)限的管理范圍,最終使學(xué)生管理系統(tǒng)中的信息更加準(zhǔn)確,獲取更加便捷。
關(guān)鍵詞:WebApp網(wǎng)頁;學(xué)生管理系統(tǒng);MySql;SpringBoot
Abstract:This paper through SpringBoot framework,MyBatis,MySQL,Redis and other technologies,the integration of student information has been systematically managed,and the relationship between college and college,layer and layer has been effectively divided. The system designs four-level authority hierarchical management,clarifies the management scope of each level authority,and finally,it makes the information in the student management system more accurate and more convenient to obtain.
Keywords:WebApp page;student management system;MySQL;SpringBoot
0? 引? 言
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,學(xué)生信息管理需要適應(yīng)現(xiàn)代信息網(wǎng)絡(luò)的發(fā)展。學(xué)生信息多而雜,需要充分利用和發(fā)掘Web網(wǎng)頁及計(jì)算機(jī)的優(yōu)點(diǎn),快速高效準(zhǔn)確地管理學(xué)生的信息,優(yōu)化人工時(shí)間,增加信息的準(zhǔn)確性及便利性。本文通過對(duì)武夷學(xué)院學(xué)生個(gè)人信息數(shù)據(jù)的整理歸納,通過利用Spring Boot框架+MyBatis,采用MySQL數(shù)據(jù)庫技術(shù),開發(fā)基于WebApp的學(xué)生管理系統(tǒng)的設(shè)計(jì)。
項(xiàng)目采用Java+MySQL搭建基于WebApp的學(xué)生管理系統(tǒng)網(wǎng)頁,應(yīng)用及更新都是基于Liunx服務(wù)器,該平臺(tái)具有穩(wěn)定性好、運(yùn)行速度快等特點(diǎn),對(duì)學(xué)生信息的管理更加方便?,F(xiàn)如今,著網(wǎng)絡(luò)技術(shù)的快速發(fā)展和新技術(shù)的應(yīng)用改變了絕大多數(shù)人的生活方式,使得生活節(jié)奏更快。同時(shí)網(wǎng)絡(luò)和新技術(shù)的應(yīng)用也使學(xué)生管理更加高效和便捷,有利于學(xué)生信息的管理,使用網(wǎng)頁管理可以實(shí)現(xiàn)數(shù)據(jù)的一致性、管理數(shù)據(jù)的高效性和使用數(shù)據(jù)的便捷性。
1? 開發(fā)環(huán)境
1.1? 項(xiàng)目環(huán)境搭建
網(wǎng)頁基于WebApp開發(fā),Java平臺(tái)是一個(gè)開源的平臺(tái),具有較好的實(shí)用性和擴(kuò)展性,可以在多種環(huán)境下運(yùn)行。團(tuán)隊(duì)之所以選用WebApp平臺(tái)進(jìn)行開發(fā),主要是為了降低開發(fā)成本,可以在不同環(huán)境下使用。對(duì)于WebApp開發(fā),團(tuán)隊(duì)不僅掌握了IDEA軟件開發(fā)工具,還擁有較為豐富的軟件開發(fā)經(jīng)驗(yàn),具有很好的技術(shù)基礎(chǔ)。
1.2? 本地?cái)?shù)據(jù)庫建立
此次項(xiàng)目采用MySQL數(shù)據(jù)庫,MySQL是目前主流的一個(gè)開源的關(guān)系型數(shù)據(jù)庫。
1.3? MySQL數(shù)據(jù)庫的優(yōu)點(diǎn)
MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫,MySQL之所以被普遍地使用在互聯(lián)網(wǎng)的中小型網(wǎng)站中,是因?yàn)樗哂腥缦聨讉€(gè)方面的優(yōu)點(diǎn):
(1)MySQL支持面向?qū)ο缶幊?,本?xiàng)目使用Java語言開發(fā),對(duì)于面向?qū)ο缶幊汤斫廨^深。選用MySQL數(shù)據(jù)庫,它具有運(yùn)行速度快、可靠性高和適應(yīng)性強(qiáng)等特點(diǎn),能夠更快地理解項(xiàng)目開發(fā)流程,對(duì)于項(xiàng)目開發(fā)有很大的幫助。
(2)此次項(xiàng)目涉及學(xué)生個(gè)人信息這類龐大的數(shù)據(jù),使用MySQL數(shù)據(jù)庫能夠幫助我們處理這些龐大的數(shù)據(jù),它可以處理上千萬條記錄,這樣可以減輕團(tuán)隊(duì)的巨大工作量。同時(shí)MySQL內(nèi)置的函數(shù)能夠更有效率地進(jìn)行數(shù)據(jù)處理,提升本項(xiàng)目的整體流暢度,使用戶獲得良好的體驗(yàn)感。
(3)MySQL數(shù)據(jù)庫系統(tǒng)實(shí)現(xiàn)日志有三種格式,即邏輯日志、物理日志、物理邏輯日志。邏輯日志記錄了系統(tǒng)的每一次邏輯操作,并沒有涉及物理存儲(chǔ)位置信息;物理日記則記錄了磁盤物理位置的操作,其中并不包含系統(tǒng)進(jìn)行的邏輯操作;物理邏輯日志是物理日志和邏輯日志的混合,能夠提升開發(fā)的使用效率。
2? 搭建項(xiàng)目框架和理念
2.1? 網(wǎng)頁整體理念
本項(xiàng)目主要用于學(xué)生的個(gè)人信息管理,為了滿足項(xiàng)目對(duì)大數(shù)據(jù)的處理要求、對(duì)多人同時(shí)在線的需求,以及對(duì)多種數(shù)據(jù)的處理能力和嚴(yán)謹(jǐn)性的要求,我們將界面盡量地進(jìn)行了一系列的簡單化處理,確保網(wǎng)站在使用時(shí)既不會(huì)影響操作,也能使前端頁面更加簡潔化,項(xiàng)目方面使用前后端分離進(jìn)行開發(fā),對(duì)團(tuán)隊(duì)的默契以及合作能力要求更高,但是可以節(jié)省許多時(shí)間,同時(shí)我們也使用了最近較為流行的Spring Boot+MyBatis+MySQL框架,通過各個(gè)不同層之間的聯(lián)系,簡潔地完成開發(fā)的工作,注釋這一方面也有一定的要求,為了實(shí)現(xiàn)后期更好地維護(hù),關(guān)于數(shù)據(jù)處理和嚴(yán)謹(jǐn)性這一塊,經(jīng)過多次討論與研究,我們擬定了一份較為完善的方案。雖然其中會(huì)存在隱藏的問題,但是所帶來的便利是值得我們?nèi)タ紤]的。
(1)數(shù)據(jù)處理:關(guān)于數(shù)據(jù)處理,因?yàn)槭褂玫腗ySQL擁有好的龐大數(shù)據(jù)處理能力,加上它的速度較快、性能穩(wěn)定,不容易造成數(shù)據(jù)處理時(shí)數(shù)據(jù)的損失,以及邏輯的判定和驗(yàn)證,能夠正確快速地進(jìn)行處理數(shù)據(jù)。
(2)嚴(yán)謹(jǐn)性:對(duì)于四級(jí)權(quán)限的管理,我們通過多種驗(yàn)證以及定時(shí)方式,使賬號(hào)的操作更加安全,以此來提高對(duì)學(xué)生個(gè)人信息操作的嚴(yán)謹(jǐn)性。
2.2? 網(wǎng)站設(shè)計(jì)模式
網(wǎng)站的前端采用了響應(yīng)式設(shè)計(jì),這個(gè)設(shè)計(jì)的目的是更好地迎合大眾多元的操作,包括手機(jī)、電腦、平板等,不局限于單一設(shè)備的WebApp,能讓W(xué)ebApp在不同的環(huán)境情況下正常地運(yùn)行,不影響用戶的正常使用,更加體現(xiàn)了互聯(lián)網(wǎng)的方便、快捷。
2.3? 網(wǎng)站后端架構(gòu)
本項(xiàng)目使用Spring Boot[1]架構(gòu)實(shí)現(xiàn)整體的設(shè)計(jì),通過Spring Boot+MyBatis+MySQL的結(jié)構(gòu),向前端頁面提供API接口,前端與后端之間通過廣泛使用的JSON格式進(jìn)行前后端交互,同時(shí)我們也使用了Spring Security進(jìn)行了安全的控制,Security基本在于接口狀態(tài)的簡化,平時(shí)的接口都是呈現(xiàn),例如/user/AddUsers的這樣的接口形式,如果使用Security,接口的形式就會(huì)有所改變,會(huì)變成/user/1這樣的形式。之前的接口形式容易使用戶或者其他人明白這個(gè)接口具體的功能和使用的方法,但對(duì)于安全系數(shù)來說,有一定的危險(xiǎn)性,而使用Security的方式,就會(huì)讓接口的具體行動(dòng)隱藏起來,從而提高一定的安全系數(shù)。
數(shù)據(jù)存儲(chǔ)方面,相對(duì)于長時(shí)間存儲(chǔ)的數(shù)據(jù),我們使用的是MySQL,MySQL是一個(gè)小型的關(guān)系型數(shù)據(jù)庫,例如用戶信息、班級(jí)信息這些數(shù)據(jù),其操作快且準(zhǔn)確。同時(shí)我們也使用了Redis數(shù)據(jù)庫,可以存儲(chǔ)一些暫時(shí)退出即可釋放的數(shù)據(jù),例如短信驗(yàn)證、郵箱驗(yàn)證等等,如果使用MySQL存儲(chǔ)這些,速度、效率不能夠和Redis相較。同時(shí),在四級(jí)權(quán)限賬戶這個(gè)前提下,由于關(guān)系更加復(fù)雜繁多,如果沒有較好的邏輯性以及多次的測(cè)試和應(yīng)用,很容易造成各種問題的出現(xiàn),所以我們?cè)谇昂蠖私换ブ?,?yán)格通過各項(xiàng)測(cè)試來檢測(cè)代碼的可行性以及準(zhǔn)確度。[2]
3? 各個(gè)模塊設(shè)計(jì)與分析
因?yàn)楸卷?xiàng)目所設(shè)計(jì)的功能比較復(fù)雜,且具有很強(qiáng)的邏輯代碼,這里只介紹整體功能設(shè)計(jì)理念和四級(jí)權(quán)限的界面設(shè)計(jì)。
3.1? Web整體界面設(shè)計(jì)理念
對(duì)于學(xué)生管理,頁面使用了白藍(lán)兩個(gè)顏色,使得頁面更加簡潔,相對(duì)于學(xué)生管理系統(tǒng)而言,它的界面更偏向于辦公自動(dòng)化這一類的界面設(shè)計(jì),方便、清晰,讓使用者一目了然,不會(huì)有不知道如何操作的困擾,更加迎合了用戶的操作要求,網(wǎng)頁中對(duì)于各項(xiàng)信息的顯示也有不同的設(shè)置。[3]
3.2? 各個(gè)模塊設(shè)計(jì)
(1)網(wǎng)頁的建設(shè)更加簡潔方便,更加貼合學(xué)校的元素,模塊分為登陸、學(xué)生賬號(hào)、輔導(dǎo)員賬號(hào)、學(xué)院賬號(hào)以及校級(jí)賬號(hào)。
(2)登陸:網(wǎng)頁通過四級(jí)權(quán)限進(jìn)行驗(yàn)證登陸,使每個(gè)賬號(hào)擁有不同的功能以及顯示不同的頁面和操作,取消注冊(cè)功能是為了將一些惡意注冊(cè)攔截在外,各個(gè)賬號(hào)都通過最初賬號(hào)的導(dǎo)入進(jìn)行賬號(hào)注冊(cè),同時(shí)綁定手機(jī)號(hào)實(shí)名認(rèn)證之后才可以進(jìn)行操作,手機(jī)號(hào)也有找回密碼的功能,為了方便用戶忘記密碼時(shí)進(jìn)行找回。
(3)校級(jí)賬號(hào):首先是對(duì)于校級(jí)賬號(hào)的介紹,校級(jí)賬號(hào)可以對(duì)一切賬號(hào)、班級(jí)進(jìn)行操作,同時(shí)校級(jí)賬號(hào)不能超過三個(gè),這樣是為了防止過多的校級(jí)賬號(hào)導(dǎo)致操作混亂以及重復(fù)操作的情況發(fā)生。校級(jí)賬號(hào)包含各個(gè)列表,對(duì)各個(gè)信息的增刪改查功能,主要的操作是對(duì)院系賬號(hào)進(jìn)行權(quán)限的設(shè)置以及對(duì)輔導(dǎo)員的管理,操作圖如圖1所示。
(4)院系賬號(hào):四級(jí)權(quán)限的條件之一是同級(jí)之間不能操作,相對(duì)于校級(jí)賬號(hào),院系賬號(hào)對(duì)班級(jí)的管理更加強(qiáng)化。院系賬號(hào)之間只能查詢,不能進(jìn)行其他操作。對(duì)于班級(jí)這個(gè)功能,經(jīng)過討論之后,團(tuán)隊(duì)決定再增加一個(gè)班級(jí)信息表來對(duì)關(guān)系進(jìn)行穩(wěn)固,輔導(dǎo)員與班級(jí)之間息息相關(guān),操作過程有些復(fù)雜。
(5)輔導(dǎo)員賬號(hào):同上也可得知,輔導(dǎo)員賬號(hào)更多的是對(duì)學(xué)生個(gè)體進(jìn)行一系列的操作,包括學(xué)生的轉(zhuǎn)班級(jí)、轉(zhuǎn)專業(yè)、個(gè)人信息等等,輔導(dǎo)員賬號(hào)可以對(duì)學(xué)生賬號(hào)信息的隸屬班級(jí)、個(gè)人信息等進(jìn)行修改,同時(shí)數(shù)據(jù)庫根據(jù)操作進(jìn)行實(shí)時(shí)更新,保證輔導(dǎo)員賬號(hào)操作時(shí)的正確性。
(6)學(xué)生賬號(hào):學(xué)生賬號(hào)可以對(duì)自己的個(gè)人信息進(jìn)行修改,但這一過程不包括對(duì)班級(jí)、學(xué)號(hào)等這種一定性的數(shù)據(jù)進(jìn)行修改。
3.3? 四級(jí)權(quán)限界面設(shè)計(jì)
(1)四級(jí)權(quán)限是有學(xué)生、輔導(dǎo)員、院系以及學(xué)校四個(gè)等級(jí)的權(quán)限設(shè)置,這里通過前端頁面的賬號(hào)登錄控制返回來控制頁面顯示的各項(xiàng)控件,通過對(duì)傳來的數(shù)據(jù)進(jìn)行二次判定,確保權(quán)限的確定性。
(2)對(duì)于不同權(quán)限也有不同的頁面,通過登錄判定,顯示的頁面也有一些改變。
4? 結(jié)? 論
本文在WebApp網(wǎng)頁中主要完成對(duì)項(xiàng)目的整體邏輯梳理與實(shí)現(xiàn)、四級(jí)權(quán)限的精準(zhǔn)判斷,Spring Boot框架搭建使用、四級(jí)權(quán)限的功能不同化,實(shí)現(xiàn)了權(quán)限賬號(hào)、學(xué)生信息管理、學(xué)生管理、班級(jí)管理、輔導(dǎo)員管理、院系管理等模塊的開發(fā)設(shè)計(jì),實(shí)現(xiàn)了MySQL數(shù)據(jù)庫對(duì)于大量數(shù)據(jù)的操作、判定以及關(guān)系的構(gòu)架,同時(shí)使用Liunx服務(wù)器提升了頁面的穩(wěn)定性,確保快速以及準(zhǔn)確。
參考文獻(xiàn):
[1] 魏軍峰.基于B/S架構(gòu)資源管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) [J].電腦編程技巧與維護(hù),2018(10):67-69+90.
[2] 屈敬華,王曉孟.在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [J].計(jì)算機(jī)時(shí)代,2019(1):43-45.
[3] 張志,胡志勇.RESTful架構(gòu)在Web Service中的應(yīng)用 [J].自動(dòng)化技術(shù)與應(yīng)用,2018,37(10):33-37.
作者簡介:資進(jìn)(1997-),男,漢族,云南玉溪人,本科在讀,研究方向:UI設(shè)計(jì)圖設(shè)計(jì)、PSD平面圖;羅翔文(1996-),男,漢族,云南玉溪人,本科在讀,研究方向:Java后端開發(fā);王錦坤(1994-),男,漢族,福建泉州人,本科在讀,研究方向:Java后端開發(fā)、Web前端開發(fā);徐碧梅(1996-),女,漢族,廣西梧州人,本科在讀,研究方向:Web前端開發(fā)、Web前端交互;張憶先(1996-),女,漢族,福建寧德人,本科在讀,研究方向:Web前端開發(fā)、Web前端交互。