李煥 彭科 姜琳琳 朱進



摘? 要:隨著社會信息化的完善和高等教育事業(yè)的快速發(fā)展,傳統(tǒng)管理模式已無法適應高校的管理需要,因此建立一個現(xiàn)代化的學生檔案管理系統(tǒng)十分必要。文章以高校學生檔案管理工作流程現(xiàn)狀和需求為依據(jù),基于Java Web開發(fā)技術(shù)和MVC模式,完成學生成長檔案管理系統(tǒng)的開發(fā),實現(xiàn)了學生信息收集、信息管理、信息查詢和評價分析等功能。系統(tǒng)不僅為學生提供了更為便捷的服務,加強教師與同學們之間的密切聯(lián)系,同時進一步提升了學工管理的效率。
關(guān)鍵詞:學生檔案管理系統(tǒng);學生信息系統(tǒng);Java Web開發(fā);MVC模式
中圖分類號:TP311? ? ? ? ?文獻標識碼:A文章編號:2096-4706(2022)03-0005-04
Design and Implementation of Student Growth Archives Management System
LI Huan, PENG Ke, JIANG Linlin, ZHU Jin
(School of Geography Science and Geomatics Engineering, Suzhou University of Science and Technology, Suzhou? 215009, China)
Abstract: With the improvement of social informatization and the rapid development of higher education undertaking, the traditional management mode can not be adopt to the management needs of colleges and universities. Therefore, it is very necessary to establish a modern student archives management system. Based on the current situation and needs of college student archives management workflow, and based on Java Web development technology and MVC model, this paper completes the development of student growth archives management system, and realizes the functions of student information collection, information management, information inquiry, evaluation analysis and so on. The system not only provides more convenient service for students, but also strengthens the close relationship between teachers and students, and further improves the efficiency of student work management.
Keywords: student archives management system; student information system; Java Web development; MVC model
0? 引? 言
隨著社會信息化的完善和高等教育事業(yè)的快速發(fā)展,高等教育的規(guī)模日益龐大,學生人數(shù)也有了大幅度的增加,而因此所帶來的是學生管理工作量的加大,管理和統(tǒng)計工作越加困難,這些都是所有高校學生個人信息管理所需要迫切解決的問題。高校的學生個人信息管理是學生管理工作的一個重要組成部分,同時體現(xiàn)了學校的管理水平,一個完善的學生信息管理系統(tǒng)對于所有在校學生的信息錄入和管理具有關(guān)鍵作用。在校學生的信息管理工作十分復雜,包含了學生在校期間的整個學習過程和各個方面,從學生入學開始,到學生畢業(yè)離校,學生的各類檔案信息十分龐大,使得學生的信息管理工作日益繁重,工作內(nèi)容繁復且需要耗費大量人力、物力及時間。而越來越多的數(shù)據(jù)記錄資料管理起來也十分不易,且儲存不方便,傳統(tǒng)的手工作業(yè)和老舊的管理模式已無法適應信息化時代高等院校的管理需要[1]。
因此,建立一個基于網(wǎng)絡的現(xiàn)代化的學生信息管理系統(tǒng)是十分有必要的,建立完整準確的數(shù)據(jù)庫,對信息進行科學化和網(wǎng)絡化管理,實現(xiàn)學院內(nèi)部的信息互聯(lián)互通,達到各類信息資源溝通順暢,是學生信息管理工作發(fā)展的必然趨勢,也是學院管理工作的重中之重。
信息技術(shù)在我國逐漸被重視,并且將其作為教育發(fā)展的動力[2],著重發(fā)展相關(guān)信息技術(shù),并對其進行創(chuàng)新,最終利用該技術(shù)提升我國的教育事業(yè)。因而對高校學生信息管理系統(tǒng)進行革新研發(fā)具有十分重要的意義[3],主要體現(xiàn)在以下等幾個方面[4]:
(1)保證信息的完整性和準確性;
(2)教學管理制度化和規(guī)范化;
(3)降低管理成本,提高教學辦公效率;
(4)改善系統(tǒng)在運行高峰時期的穩(wěn)定性。
結(jié)合高校實際需求,本文設計實現(xiàn)了學生成長檔案管理系統(tǒng)。
1? 系統(tǒng)開發(fā)平臺
學生成長檔案管理系統(tǒng)是基于Java語言進行開發(fā),Java具有大量的封裝好的包可以進行調(diào)用,便于進行JavaWeb開發(fā)[5]。使用JSP和Servlet進行后臺的系統(tǒng)開發(fā),前端使用html+css+js語言進行開發(fā),將前端和后端語言進行結(jié)合。由于考慮到數(shù)據(jù)庫數(shù)據(jù)較大,本平臺使用MySQL數(shù)據(jù)庫進行開發(fā),便于存儲大量數(shù)據(jù)。開發(fā)工具使用Eclipse,操作系統(tǒng)為 Windows10。85B84264-B065-4501-B6D1-16683D056D0B
2? 系統(tǒng)功能設計
本系統(tǒng)分為三級用戶,包括學生、班主任和學工辦。根據(jù)用戶對于系統(tǒng)的需求、建議,以及未來的功能拓展需求,依據(jù)模塊化的劃分思想,采取按照用戶類型以及要完成的相關(guān)功能的方式進行劃分,在不同類型的模塊之下,將實際的模塊細分為多個不同功能的子模塊,如圖1所示。
2.1? 用戶登錄模塊
用戶登錄模塊的具體內(nèi)容有:
(1)登錄:用戶在輸入正確的用戶名、密碼及驗證碼后,選擇對應的角色進行登錄;
(2)修改密碼:用戶輸入舊密碼,在密碼正確的條件下設置新密碼,并返回登錄頁面用新密碼進行重新登錄;
(3)退出登錄:當用戶點擊退出登錄按鈕時,用戶退出登錄狀態(tài)。
2.2? 學生模塊
學生模塊的具體內(nèi)容有:
(1)個人信息:學生需填寫個人信息,如民族、籍貫、出生年月、政治面貌、照片等;
(2)學習情況:學生上傳大學四年規(guī)劃書及每學期的學習計劃與總結(jié);
(3)獲獎情況:學生上傳獲得獎項及照片;
(4)志愿活動:學生上傳志愿活動內(nèi)容及照片;
(5)老師評價:學生查看班主任每月對于自己的評價;
(6)任務空間:學生按照學工辦發(fā)布的任務上傳對應文件;
(7)勵志留言:學生可以上傳留言,學工辦審核通過后,在首頁展示。
2.3? 班主任模塊
班主任模塊的具體內(nèi)容有:
(1)班級整體信息:班主任查看班級所有同學的學習情況、獲獎情況、志愿活動,并可進行信息導出;
(2)學生個人信息:班主任查看每位同學的個人信息及其學習情況、獲獎情況、志愿活動,并對其進行評價;
(3)評價信息分析:記錄班主任對學生的所有評價;
(4)班主任工作手冊:班主任可以填寫班主任工作計劃、班主任周報告、學習情況分析、學業(yè)預警談話、集體獲獎情況、學生違紀情況、“班團一體化”建設總結(jié)、班級工作總結(jié)及導出工作手冊內(nèi)容。
2.4? 學工辦模塊
學工辦模塊的具體內(nèi)容有:
(1)學生信息管理:學工辦可以按班級篩選出學生個人信息、學習情況、獲獎情況、志愿活動,并將信息導出。學工辦同時可以導入新的學生名單;
(2)教師信息管理:學工辦可以查看、導入班主任名單,查看老師對學生的評價信息;
(3)班主任工作手冊:在線查看各個班級的班主任工作手冊同時可以導出內(nèi)容;
(4)任務空間:學工辦發(fā)布任務,向?qū)W生收集資料;
(5)學工辦信息管理:查看、導入學工辦信息;
(6)專業(yè)管理:添加、查看本學院所設專業(yè);
(7)首頁信息管理:學工辦審核學生發(fā)送的留言信息;
(8)賬號管理:查詢、查看所有人的賬號及密碼。
3? 數(shù)據(jù)庫設計
本系統(tǒng)使用MySQL數(shù)據(jù)庫,MySQL是在一些中小型網(wǎng)站中應用最為廣泛的關(guān)系型數(shù)據(jù)庫。按照前文系統(tǒng)功能模塊規(guī)劃,設計數(shù)據(jù)庫數(shù)據(jù)表,主要包括學生信息表、學生學習情況表、學生志愿情況表、學生獲獎情況表、老師信息表、老師評價表、用戶信息表等表格。以數(shù)據(jù)庫中用戶信息表為例,具體如表1所示,其余表不在這里一一贅述。
4? 系統(tǒng)部分功能的實現(xiàn)
4.1? 用戶登錄
用戶打開登錄頁面,在登錄頁面可以看到3個角色,即學生、班主任、學工辦,不同角色權(quán)限不同。在沒有登錄成功的條件下,登錄頁面以外的頁面是不允許訪問的,如果直接輸入登錄頁面之外的頁面網(wǎng)址,會被攔截器強制跳轉(zhuǎn)到登錄頁面[6],如圖2所示。具體代碼如下:
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) rep;
User user = (User) request.getSession().getAttribute(“user”);
String contextPath = request.getContextPath();
String uri = request.getRequestURI();
uri = uri.substring(uri.lastIndexOf(“/”)+1, uri.length());
if(user != null||uri.equalsIgnoreCase(“index.jsp”)||
uri.equalsIgnoreCase(“l(fā)ogin.jsp”)||
uri.equalsIgnoreCase(“LoginServlet”)){
chain.doFilter(request, response);//已登陸,放行
} else
{
response.sendRedirect(contextPath+“/index.jsp”);//沒有登錄,跳轉(zhuǎn)登錄頁面
}
4.2? 分頁顯示
學工辦和班主任在查看學生數(shù)據(jù)時,由于數(shù)據(jù)量大,所以采用分頁顯示數(shù)據(jù)的方法,使查看數(shù)據(jù)時更方便。分頁顯示的本質(zhì)是在刷新頁面的同時傳遞pageNo和pageCount參數(shù),控制刷新后顯示第pageNo頁,再通過公式(pageNo - 1) * pageCount計算出第pageNo頁對應的第一行是多少行,從第(pageNo - 1) * pageCount行開始,打印pageCount條記錄,以達成只顯示pageCount行的分頁效果。85B84264-B065-4501-B6D1-16683D056D0B
4.3? 二級聯(lián)動搜索
為了方便學工辦的管理,學工辦可以通過專業(yè)班級的篩選查看學生數(shù)據(jù)及班主任工作手冊內(nèi)容。專業(yè)班級的篩選采用二級聯(lián)動技術(shù),后端獲取專業(yè)和班級數(shù)據(jù),將多個字符串轉(zhuǎn)成jsonArray格式,并傳遞給前端,前端使用二級聯(lián)動,學工辦選擇專業(yè)后,出現(xiàn)該專業(yè)所有的班級供學工辦選擇,選擇好班級后,將獲取的參數(shù)傳遞給后端進行搜索,如圖3所示。具體代碼如下:
var major= ${majorString};//獲取專業(yè)數(shù)據(jù)
var clazz= ${clazzString};//獲取班級數(shù)據(jù)
var iNum1;
var iNum2;
$(function () {
//二級聯(lián)動
for (var i = 0; i < major.length; i++) {
$(‘#major).append(‘);
};
$(‘#major).change(function () {
$(‘#clazz).children().not(‘:eq(0)).remove();
iNum1 = $(this).children(‘option:selected).index();
var aaClazz = clazz [iNum1 - 1];
for (var j = 0; j < aaClazz.length; j++) {
$(‘#clazz).append(‘);
}
});
var xndata3 =‘${ major };
$(“#major option”).each(function () {
if ($(this).val() == xndata3) {
$(this).attr(“selected”, true);
$(‘#clazz).children().not(‘:eq(0)).remove();
iNum2 = $(this).index();
var aaClazz2 = clazz [iNum2 - 1];
for (var j = 0; j < aaCity2.length; j++) {
$(‘#clazz).append(‘);
}
}
})
var xndata4 =‘${clazz };
$(“#clazz option”).each(function () {
if ($(this).val() == xndata4) {
$(this).attr(“selected”, true);
}
})
})
4.4? 學生個人信息展示
學工辦查看學生個人信息,如圖4所示。點擊“詳情”按鈕,可以查看更多學生個人信息內(nèi)容。點擊“導入數(shù)據(jù)”,導入學生名單,學生以學號及身份證后六位登錄系統(tǒng),完善信息。點擊“導出數(shù)據(jù)”,將學生個人信息以Excel表格的形式導出。
5? 安全設計
5.1? 密碼存儲
用戶密碼如果直接存儲到數(shù)據(jù)庫中,可能會導致“撞庫”[7],即黑客攻陷了網(wǎng)站的數(shù)據(jù)庫后,嘗試將這些用戶的郵箱和密碼用于其他網(wǎng)站,如QQ、支付寶、淘寶等賬戶,如果用戶恰好使用了相同的密碼,則會造成重大的財產(chǎn)或其他損失。所以本系統(tǒng)就使用了MD5加密的辦法,用戶的密碼會轉(zhuǎn)換成其他亂碼存儲在數(shù)據(jù)庫中[8],從根本上避免了密碼泄露的可能性,包括系統(tǒng)管理員在內(nèi)的任何人均無法反推密碼原文。
5.2? 防止SQL注入
為了防止SQL注入,即攻擊者通過控制發(fā)送給SQL查詢的輸入?yún)?shù),操縱這些參數(shù)在SQL服務器端解析成代碼(而不是數(shù)據(jù))并執(zhí)行,那么后臺數(shù)據(jù)庫就遭到注入攻擊,達到惡意操作數(shù)據(jù)庫、拿到管理員權(quán)限等用途[9]。本系統(tǒng)在開發(fā)時使用Prepared Statement接口,在創(chuàng)建SQL執(zhí)行對象時就已經(jīng)將SQL語句邏輯鎖死,不會被用戶輸入內(nèi)容影響,可以避免SQL注入問題。
6? 結(jié)? 論
本系統(tǒng)主要借助MVC模式、MySQL數(shù)據(jù)庫以及各式調(diào)研形式等方法,建設基于學生成長信息檔案的多端管理平臺。目前,對系統(tǒng)進行軟件測試后發(fā)現(xiàn),系統(tǒng)運行穩(wěn)定,即將進行試運行,這不僅為學生提供了更為便捷的服務,加強教師與同學們之間的密切聯(lián)系,同時進一步提升了學工管理的效率。
參考文獻:
[1] 田佳.學生個人信息管理系統(tǒng)開發(fā)的意義 [J].新作文:教研,2017(12):1.
[2] 曹美甜.基于混合架構(gòu)的高校學生信息管理系統(tǒng)的設計與實現(xiàn) [D].長春:吉林大學,2015.
[3] 張保越.學生信息管理系統(tǒng)的設計與實現(xiàn) [D].長春:吉林大學,2015.
[4] 趙友貴.重慶正大軟件職業(yè)技術(shù)學院學生信息管理系統(tǒng)的設計與實現(xiàn) [D].成都:電子科技大學,2014.
[5] 韓洪勇,朱珍珍,姚連達.基于JSP和Servlet的學生信息管理系統(tǒng) [J].科技風,2020(19):74.
[6] 黃建茂.基于Web的高校學生信息管理系統(tǒng)中權(quán)限管理的設計與實現(xiàn) [J].三明學院學報,2011,28(6):18-23.
[7] 潘旭.高校學生信息管理系統(tǒng)的設計與實現(xiàn) [J].產(chǎn)業(yè)與科技論壇,2020,19(13):56-57.
[8] 任杰麟.MD5加密算法的安全性分析與改進 [J].農(nóng)業(yè)圖書情報學刊,2017,29(7):39-42.
[9] 李明.Web應用SQL注入漏洞分析及防御研究 [J].福建電腦,2020,36(5):25-27.
作者簡介:李煥(2000—),女,漢族,河北邯鄲人,本科在讀,研究方向:地理信息科學;彭科(1980—),男,漢族,江蘇溧陽人,講師,碩士,研究方向:思想政治教育;姜琳琳(2001—),女,漢族,江蘇無錫人,本科在讀,研究方向:地理信息科學;朱進(1983—),男,漢族,江蘇南京人,講師,博士,研究方向:地理信息科學。85B84264-B065-4501-B6D1-16683D056D0B