基于Java的學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì)_第1頁
基于Java的學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì)_第2頁
基于Java的學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì)_第3頁
基于Java的學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì)_第4頁
基于Java的學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì)_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、鄭 重 聲 明本人呈交的畢業(yè)設(shè)計(jì)論文,是在導(dǎo)師的指導(dǎo)下,獨(dú)立進(jìn)行研究工作所取得的成果,所有數(shù)據(jù)、圖片資料真實(shí)可靠。盡我所知,除文中已經(jīng)注明引用的內(nèi)容外,本學(xué)位論文的研究成果不包含他人享有著作權(quán)的內(nèi)容。對(duì)本論文所涉及的研究工作做出貢獻(xiàn)的其他個(gè)人和集體,均已在文中以明確的方式標(biāo)明。本學(xué)位論文的知識(shí)產(chǎn)權(quán)歸屬于培養(yǎng)單位。學(xué)生簽名: 日期: 致謝經(jīng)過兩三個(gè)月的畢業(yè)設(shè)計(jì)制作,成品基本上已經(jīng)開發(fā)完成,每個(gè)模塊的功能都能夠?qū)崿F(xiàn)。雖然這其中經(jīng)歷了許多磨難和挫折,但通過自己的努力和導(dǎo)師的幫助,最后還是順利完成了作品和畢業(yè)論文。首先,我要感謝我的導(dǎo)師洪波老師,她那嚴(yán)謹(jǐn)?shù)慕虒W(xué)態(tài)度,以及精益求己的工作作風(fēng)深深的影響著我

2、。在導(dǎo)師的悉心指導(dǎo)下,我成功的完成了作品,不管是中期的指導(dǎo),還是后期的修改,都給與我非常大的幫助,在此向洪波老師表示衷心的謝意。其次,就是感謝同學(xué)以及室友,在我遇到難題的時(shí)候,幫我出謀劃策,替我分擔(dān)工作。在我陷入苦難的時(shí)候,激勵(lì)我不要放棄,要堅(jiān)持。由于有這幫患難兄弟,才讓我在做畢業(yè)設(shè)計(jì)的這段時(shí)間顯得不是那么坎坷。最后,還得感謝我的家人,他們的支持和理解才能讓我成功的完成我大學(xué)四年的學(xué)業(yè)。 基于Java的學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì)摘要:21世紀(jì)是信息時(shí)代,信息技術(shù)的快速發(fā)展極大的改變了人們的生活方式以及工作方式,這給人們?cè)诠ぷ?、學(xué)習(xí)中帶來了很大的便利。世界變得越來越小,人們的眼界變得越來越來開闊,對(duì)

3、世界的認(rèn)識(shí)是越來越全面。本文主要是針對(duì)貧困地區(qū)的教學(xué)系統(tǒng)展開研究的,貧困山區(qū)的教職工任然采用傳統(tǒng)的人工模式來管理成績(jī),這樣既增加了教師的工作量,還浪費(fèi)了不少資源。 為了貧困山區(qū)能夠?qū)崿F(xiàn)信息化管理,而開發(fā)這個(gè)學(xué)生成績(jī)信息管理系統(tǒng)來給那些教職工帶來方便。本系統(tǒng)采用B/S(瀏覽器/服務(wù)器)結(jié)構(gòu),使用SSH(struts2、spring、heberinate)三大框架。B/S模式即網(wǎng)頁的模式,在線登入學(xué)生成績(jī)管理系統(tǒng)進(jìn)行操作。本系統(tǒng)有三個(gè)權(quán)限:管理員,教師,學(xué)生。每個(gè)權(quán)限都有各自操作的模塊,管理員可以管理教師和學(xué)生的基本信息,課程的安排,成績(jī)的錄入和導(dǎo)出;教師可以錄入成績(jī)以及學(xué)生成績(jī)的導(dǎo)出;學(xué)生只能查

4、看自己的成績(jī)。根據(jù)上述的需求,通過對(duì)需求的分析及各功能的詳細(xì)設(shè)計(jì),從而開發(fā)能夠滿足學(xué)校需求的管理系統(tǒng)。 關(guān)鍵詞:信息化;管理系統(tǒng);框架中圖分類號(hào):TP315The Design of Student Performance Management System Based on JavaAbstract: The 21st century is the information age, The rapid development of information technology has greatly changed peoples life style and working way. Th

5、is has brought a lot of convenience to people in work and study. The world is getting smaller and smaller, vision is becoming more and more open, to the world is more and more comprehensive.This paper mainly studies the teaching system of poor areas. The teachers in the mountainous areas of the poor

6、 mountain areas are managed by the traditional manual mode. Increases the workload of teachers, also wasted a lot of resources.In order to realize the information management in poor mountainous areas. And the development of this student achievement information management system to those who bring co

7、nvenience to teach. The system uses the B / S (browser / server) architecture, use SSH (struts2, spring, heberinate) three framework. B / S mode is web page mode, online student achievement management system for operation. This system has three permissions: administrators, teachers, students. Each a

8、uthority has its own module. Administrators can manage the basic information for teachers and students, organizing courses, score entry and export.Teachers can enter the export performance and export student achievement. Students can view their results.According to the above needs. Through the deman

9、d analysis and detailed design of each function. Thus developed to meet the needs of the management system school.Keywords: information technology; management System; frameworkClassification: TP315 目 次 TOC o 1-3 h z u HYPERLINK l _Toc421542971 摘要: PAGEREF _Toc421542971 h I HYPERLINK l _Toc421542972

10、目次 PAGEREF _Toc421542972 h III HYPERLINK l _Toc421542973 1 緒論 PAGEREF _Toc421542973 h 1 HYPERLINK l _Toc421542974 1.1 課題研究背景 PAGEREF _Toc421542974 h 1 HYPERLINK l _Toc421542975 1.2 課題研究的目的和意義 PAGEREF _Toc421542975 h 2 HYPERLINK l _Toc421542976 2 系統(tǒng)開發(fā)平臺(tái)和相關(guān)理論與技術(shù) PAGEREF _Toc421542976 h 3 HYPERLINK l _

11、Toc421542977 2.1 系統(tǒng)開發(fā)平臺(tái)的選擇 PAGEREF _Toc421542977 h 3 HYPERLINK l _Toc421542978 2.1.1 開法語言的選擇 PAGEREF _Toc421542978 h 3 HYPERLINK l _Toc421542979 2.1.2 開發(fā)結(jié)構(gòu)的選擇 PAGEREF _Toc421542979 h 4 HYPERLINK l _Toc421542980 2.1.3 數(shù)據(jù)庫的選擇 PAGEREF _Toc421542980 h 4 HYPERLINK l _Toc421542981 2.2 系統(tǒng)開發(fā)的理論與技術(shù) PAGEREF _

12、Toc421542981 h 4 HYPERLINK l _Toc421542982 2.2.1 MVC開發(fā)理論 PAGEREF _Toc421542982 h 4 HYPERLINK l _Toc421542983 2.2.2 SSH框架分析 PAGEREF _Toc421542983 h 5 HYPERLINK l _Toc421542984 3 系統(tǒng)具體需求分析 PAGEREF _Toc421542984 h 8 HYPERLINK l _Toc421542985 3.1 系統(tǒng)需求 PAGEREF _Toc421542985 h 8 HYPERLINK l _Toc421542986 3

13、.2 系統(tǒng)功能需求分析 PAGEREF _Toc421542986 h 8 HYPERLINK l _Toc421542987 3.2.1 系統(tǒng)功能組成 PAGEREF _Toc421542987 h 9 HYPERLINK l _Toc421542988 3.2.2 系統(tǒng)模塊框圖 PAGEREF _Toc421542988 h 10 HYPERLINK l _Toc421542989 4 系統(tǒng)詳細(xì)設(shè)計(jì) PAGEREF _Toc421542989 h 11 HYPERLINK l _Toc421542990 4.1 系統(tǒng)功能設(shè)計(jì) PAGEREF _Toc421542990 h 11 HYPER

14、LINK l _Toc421542991 4.2 數(shù)據(jù)庫的設(shè)計(jì) PAGEREF _Toc421542991 h 15 HYPERLINK l _Toc421542992 4.2.1 數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計(jì) PAGEREF _Toc421542992 h 15 HYPERLINK l _Toc421542993 5 系統(tǒng)功能的實(shí)現(xiàn)與測(cè)試 PAGEREF _Toc421542993 h 18 HYPERLINK l _Toc421542994 5.1 SSH框架的搭建 PAGEREF _Toc421542994 h 18 HYPERLINK l _Toc421542995 5.2 功能的實(shí)現(xiàn) PAGER

15、EF _Toc421542995 h 19 HYPERLINK l _Toc421542996 5.3 系統(tǒng)的測(cè)試 PAGEREF _Toc421542996 h 23 HYPERLINK l _Toc421542997 6 總結(jié) PAGEREF _Toc421542997 h 24 HYPERLINK l _Toc421542998 參考文獻(xiàn) PAGEREF _Toc421542998 h 25 HYPERLINK l _Toc421542999 作者簡(jiǎn)歷 PAGEREF _Toc421542999 h 26 HYPERLINK l _Toc421543000 學(xué)位論文數(shù)據(jù)集 PAGEREF

16、 _Toc421543000 h 27中國(guó)計(jì)量學(xué)院現(xiàn)代科技學(xué)院本科畢業(yè)設(shè)計(jì)(論文)1 緒論 隨著網(wǎng)絡(luò)的普及以及信息技術(shù)的快速發(fā)展,信息化管理逐漸不斷深入且廣泛的應(yīng)用到了日常生活當(dāng)中,信息化管理的實(shí)施在技術(shù)上已經(jīng)逐步成熟。上世紀(jì)90年代以來,管理系統(tǒng)已是一個(gè)不斷發(fā)展和逐漸走向成熟的一門新型學(xué)科,任何一個(gè)企業(yè)要生存和發(fā)展,并且把自己公司的內(nèi)部活動(dòng)有效率的組織起來,這就需要構(gòu)建開發(fā)與自身特點(diǎn)相符的信息化管理模式。1.1 課題研究背景 在我國(guó)的西北地區(qū)和一些貧困地區(qū),由于經(jīng)濟(jì)的落后,科技的不發(fā)達(dá),從而導(dǎo)致當(dāng)?shù)氐膶W(xué)校教育的落后,學(xué)生不能夠享受到良好的教育。國(guó)家對(duì)那些地區(qū)的教育資金的投入還是微不足道,教育

17、資源的短缺,和設(shè)備的不完善,那里的教職工任然用傳統(tǒng)的方式管理著學(xué)生的信息和成績(jī),每個(gè)學(xué)生的信息都是記錄在一個(gè)本子上,每一次成績(jī)的統(tǒng)計(jì)要不是一張紙或者是一個(gè)本子記入,而且每次登記成績(jī)的時(shí)候,實(shí)在是非常的耗費(fèi)精力和人力,還要消耗資源,最重要的是萬一到時(shí)候需要更改信息或者成績(jī)登記有誤,那就又是一件麻煩事了,因?yàn)橛行┲匾男畔⑺遣辉试S有涂改的痕跡,這時(shí)候就要重新登記一遍,這是多么麻煩的一件事。中學(xué)的考試甚多,加之學(xué)生又很多,要登記然后管理和統(tǒng)計(jì)多少學(xué)生90分以上,多少學(xué)生80分以上,還有多少學(xué)生沒通過,這是一個(gè)多么龐大的數(shù)據(jù),一般的普通中學(xué)學(xué)生就有兩三千人,教職工兩三百人,這么龐大的學(xué)校規(guī)模,需要錄

18、入他們的信息和對(duì)成績(jī)的管理,可想而知,是多么費(fèi)時(shí)的一件事。然后班級(jí)里登記完成績(jī)之后,又要拿去給學(xué)校教務(wù)處,然后教務(wù)處再把成績(jī)錄入到系統(tǒng)里面,那為何不直接由每個(gè)班的班主任把各自的班級(jí)錄入到系統(tǒng)里面,這是幾乎每個(gè)學(xué)校存在的缺陷,所以要解決這一問題,就要對(duì)現(xiàn)有的學(xué)生管理系統(tǒng)進(jìn)行進(jìn)一步的改善,從而實(shí)現(xiàn)對(duì)教師的權(quán)限開放,然后又適合那些邊緣地區(qū)教學(xué)系統(tǒng)不發(fā)達(dá)的地方,也讓他們感覺到有了這個(gè)管理系統(tǒng),能夠在教學(xué)質(zhì)量和教學(xué)效率上有很大的提升。學(xué)生成績(jī)管理系統(tǒng)是21世紀(jì)高中以及初中不可或缺的教學(xué)管理系統(tǒng)。有了這一套系統(tǒng),不僅可以跟蹤學(xué)生的學(xué)習(xí)成績(jī)和獎(jiǎng)懲情況,而且還減輕了教職工的工作負(fù)擔(dān)。數(shù)據(jù)庫的強(qiáng)大,相比于傳統(tǒng)的

19、信息管理模式,有了量的飛躍,可以存儲(chǔ)的數(shù)據(jù)可以說是無限制的,而且不會(huì)出錯(cuò),系統(tǒng)安全性的設(shè)計(jì),可以確保學(xué)生的信息不被泄露,備份功能,可以確保學(xué)生的信息不被遺失。綜上所述,開發(fā)學(xué)生管理系統(tǒng)對(duì)高中和初中是必須要做的一件事。1.2 課題研究的目的和意義開發(fā)學(xué)生成績(jī)管理系統(tǒng)的目的:顧名思義主要是對(duì)學(xué)生的成績(jī)進(jìn)行管理和教師可以對(duì)學(xué)生的成績(jī)錄入。所以當(dāng)老師改完一張?jiān)嚲砗?,就可以直接將成?jī)輸入到管理系統(tǒng)里,比以往要登記在紙上,然后還要交到教務(wù)處,再把成績(jī)輸入到系統(tǒng)里面來的方便多了。而且全班輸入完后,馬上可以統(tǒng)計(jì)自己班的平均分和不及格人數(shù),以及班級(jí)的排名,這樣老師就可以第一時(shí)間了解班級(jí)考試的情況,是比上次進(jìn)步了

20、還是退不了,進(jìn)步了的話,就要值得表揚(yáng),但也不能驕傲,退不了的話,老師就可以進(jìn)行下一步的工作,到底是哪里出了問題,哪里還需要改進(jìn),這樣老師的工作效率和學(xué)生的學(xué)習(xí)效率大大提高了,也相應(yīng)的給管理員減輕了負(fù)擔(dān)。開發(fā)這一管理模式,最主要的還是大眾化、兼容性,能夠滿足各大中學(xué)的管理需求,彌補(bǔ)一些學(xué)校管理系統(tǒng)存在的漏洞。尤其是對(duì)那些貧困地區(qū)的中學(xué),他們有的甚至連管理系統(tǒng)都沒有,在這高速發(fā)達(dá)的信息時(shí)代,不管是企業(yè)、國(guó)家機(jī)關(guān)、軍事還是學(xué)校,都已實(shí)現(xiàn)了信息化管理,信息化管理的好處就是:效率高,不容易出差錯(cuò),有很好的保密措施,查詢方便快捷1。有一個(gè)完善的學(xué)生成績(jī)管理系統(tǒng),可以更好的跟蹤學(xué)生的學(xué)習(xí)情況,老師也不必浪費(fèi)

21、許多時(shí)間在登記信息和成績(jī)這么繁瑣的事情上。這樣老師就可以專注地去提高自己的教學(xué)質(zhì)量,把心思花在學(xué)生的教育上。開發(fā)學(xué)生管理系統(tǒng)的主要意義有這幾個(gè)方面:第一:可以節(jié)省時(shí)間,學(xué)生和老師可以在線查找自已的成績(jī)和信息,而且能夠根據(jù)用戶需求進(jìn)行精確查找和模糊查找。第二:可以減少教職工在不重要的事情上花太多時(shí)間,實(shí)現(xiàn)成績(jī)自動(dòng)化管理,從而提高學(xué)校的教學(xué)質(zhì)量。第三:可以跟蹤每個(gè)學(xué)生的學(xué)習(xí)成績(jī),實(shí)現(xiàn)成績(jī)自動(dòng)化管理后,動(dòng)態(tài)掌握學(xué)生的學(xué)習(xí)情況,以此來督促學(xué)生。在這計(jì)算機(jī)技術(shù)飛速發(fā)展的時(shí)代,計(jì)算機(jī)逐步代替了傳統(tǒng)的手工操作,以減輕勞動(dòng)強(qiáng)度,提高效率。所以設(shè)計(jì)開發(fā)學(xué)生成績(jī)管理系統(tǒng)是非常有意義的。2 系統(tǒng)開發(fā)平臺(tái)和相關(guān)理論與

22、技術(shù) 本系統(tǒng)是面向全國(guó)的初中和高中的一款教學(xué)管理系統(tǒng),經(jīng)過本人對(duì)周邊中學(xué)的調(diào)查,和對(duì)貧困地區(qū)學(xué)校的信息采集,針對(duì)國(guó)內(nèi)的管理系統(tǒng)所存在的問題,從而開發(fā)這款學(xué)生成績(jī)管理系統(tǒng)。本節(jié)將重點(diǎn)介紹該系統(tǒng)的開發(fā)環(huán)境和理論與技術(shù)。2.1 系統(tǒng)開發(fā)平臺(tái)的選擇目前計(jì)算機(jī)語言有c、c+、c#、.net、Java、PHP、匯編語言等等。開發(fā)學(xué)生管理系統(tǒng)需要選擇合適的語言2。2.1.1 開法語言的選擇目前市面上的管理系統(tǒng)絕大部分用的都是Jsp、ASP.Net、PHP這三種語言。它們的共同點(diǎn)都是動(dòng)態(tài)網(wǎng)頁技術(shù),都鑲嵌在HTML代碼中,用語言引擎來解釋代碼并執(zhí)行代碼。而JSP的語言引擎是java虛擬機(jī),就是將jsp代碼編譯成

23、.class文件,并由Java虛擬機(jī)來解釋執(zhí)行.class文件11。在這三種語言的環(huán)境下,HTML代碼主要顯示靜態(tài)的頁面,而程序代碼進(jìn)行業(yè)務(wù)邏輯的處理。一般網(wǎng)頁的HTML代碼是通過web服務(wù)器運(yùn)行的,但是Jsp、ASP.Net、PHP這三種語言都要依賴環(huán)境虛擬機(jī)來編譯執(zhí)行程序代碼,并把返回結(jié)果嵌入到HTML代碼中,最后發(fā)送給瀏覽器,顯示結(jié)果。Jsp、ASP.Net、PHP是基于web服務(wù)的技術(shù)。它們的區(qū)別及特點(diǎn)如下:Jsp的特點(diǎn)無疑是跨平臺(tái)性,因?yàn)槭褂肑ava API,所以可以在Windows、Linux、Mac等系統(tǒng)中運(yùn)行10。從而擴(kuò)展了JSP使用web服務(wù)器的范圍,在者,JSP使用JDBC

24、操作數(shù)據(jù)庫,對(duì)那些運(yùn)行在不同操作系統(tǒng)的數(shù)據(jù)庫,避免了代碼的移植而需要更換數(shù)據(jù)庫的問題。ASP是有微軟開發(fā)的動(dòng)態(tài)語言,其特點(diǎn)與JSP非常相似,功能主要可以實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁,實(shí)現(xiàn)用戶的動(dòng)態(tài)交互功能,它的功能也就是它的特點(diǎn),不同于HTML的交互功能,HTML只能簡(jiǎn)單的訪問而無法動(dòng)態(tài)的交互,是一種靜態(tài)網(wǎng)站。開發(fā)工具使用微軟開發(fā)的Visual Studio這個(gè)軟件,運(yùn)行環(huán)境也非常局限,只能運(yùn)行在微軟的服務(wù)器產(chǎn)品IIS上。PHP的特點(diǎn)也是跨平臺(tái)性,支持幾乎所有的數(shù)據(jù)庫系統(tǒng)和操作系統(tǒng),在市場(chǎng)上也較為普及。CGI腳本語言是一種強(qiáng)大的PHP語言,語法包含了C、PHP和Java的新型的一種語言,速度執(zhí)行快,效率高,一

25、般比Java,ASP的運(yùn)行速度快,內(nèi)嵌有加速引擎,性能穩(wěn)定,資源占用少,代碼運(yùn)行速度快。并且與Java一樣具有很好的可移植性和可擴(kuò)展性,PHP可以運(yùn)行在幾乎所有的服務(wù)器上,屬于開放軟件,代碼也完全公開,任何程序員可以為PHP擴(kuò)展附加想要的功能。結(jié)合實(shí)際情況和開發(fā)的環(huán)境,以及本人對(duì)這三種語言的了解程度,該學(xué)生成績(jī)管理系統(tǒng)使用Jsp語言開發(fā),即用HTML語言開發(fā)頁面,Java語言處理后臺(tái)的業(yè)務(wù)邏輯。2.1.2 開發(fā)結(jié)構(gòu)的選擇Web開發(fā)是目前較為流行的開發(fā)體系,Java Web主要有兩種開發(fā)結(jié)構(gòu):C/S開發(fā)結(jié)構(gòu)和B/S開發(fā)結(jié)構(gòu)5。C/S結(jié)構(gòu)是一種客戶機(jī)與服務(wù)器的訪問交互,而B/S是一種瀏覽器與服務(wù)器

26、的訪問交互,本學(xué)生管理系統(tǒng)屬于一個(gè)網(wǎng)站,需要在線登入查詢學(xué)生的信息,所以用到的結(jié)構(gòu)就是B/S結(jié)構(gòu)。2.1.3 數(shù)據(jù)庫的選擇這些數(shù)據(jù)的查詢以及信息的增刪改,數(shù)據(jù)庫都是缺一不可的后臺(tái),常用的數(shù)據(jù)庫有:Oracle、Sql Server、MySql、Access等等。Oracle:現(xiàn)在大型企業(yè)的主流數(shù)據(jù)庫,價(jià)格昂貴,但性能非常優(yōu)秀4。Sql Server:稍微貴些,但只能運(yùn)行在Windows操作系統(tǒng)下,絲毫沒有一點(diǎn)開放性,對(duì)跨平臺(tái)的操作兼容性差,而且對(duì)系統(tǒng)的穩(wěn)定性要求很高。Access:操作簡(jiǎn)潔、方便,不依賴Server也可以對(duì)數(shù)據(jù)庫操作,但安全性不夠,加了用戶密碼容易被破解。MySql:具有執(zhí)行速

27、度快、穩(wěn)定性好、使用方便等特點(diǎn),已經(jīng)成為世界上最流行的開放數(shù)據(jù)庫之一。同時(shí), 由于它的跨平臺(tái)性,MySQL數(shù)據(jù)庫能運(yùn)行Linllx、Windows、ax、HPUX、AIX、Netware等2O多個(gè)平臺(tái)上7。綜上所述,采用的數(shù)據(jù)庫是MySQL。2.2 系統(tǒng)開發(fā)的理論與技術(shù) 系統(tǒng)開發(fā)的理論最實(shí)用的就是MVC設(shè)計(jì)模式,它是系統(tǒng)設(shè)計(jì)中的典型結(jié)構(gòu)之一。用到的技術(shù)無非是SSH(Struts2、Spring、Hibernate)或者SSM(Struts2、Spring、Mybatis)三大框架。2.2.1 MVC開發(fā)理論學(xué)生管理系統(tǒng)的開發(fā)通過應(yīng)用MVC開發(fā)模式,使其代碼結(jié)構(gòu)分成三層,以便設(shè)計(jì)結(jié)構(gòu)清晰明了。V

28、:(view)視圖,即用戶界面,相當(dāng)于與后臺(tái)交互的一個(gè)端口。在B/S結(jié)構(gòu)下,視圖就是瀏覽器,瀏覽器向用戶顯示從后臺(tái)返回的相關(guān)數(shù)據(jù),并能夠接受用戶輸入的數(shù)據(jù),但是它不進(jìn)行任何業(yè)務(wù)邏輯上的處理。M:(Model)模型,它主要提供業(yè)務(wù)邏輯,就是對(duì)業(yè)務(wù)邏輯,和前臺(tái)傳過來的數(shù)據(jù)進(jìn)行處理,包括對(duì)數(shù)據(jù)的存取,加工操作。一個(gè)Model可以為多個(gè)view提供數(shù)據(jù)及業(yè)務(wù)上的處理。這樣就實(shí)現(xiàn)了模型的可重用性,簡(jiǎn)化了代碼,提高了效率。C:(Controller)控制,主要負(fù)責(zé)控制視圖與模型的流程。它就相當(dāng)于一個(gè)多用開關(guān),當(dāng)客戶端發(fā)送一個(gè)請(qǐng)求,開關(guān)端接受到請(qǐng)求,通過解析這個(gè)請(qǐng)求,需要發(fā)送給哪個(gè)模型,開關(guān)就往哪里打,控制

29、端并不需要對(duì)數(shù)據(jù)進(jìn)行處理,它只是一個(gè)橋梁,起到交接作用,最后的數(shù)據(jù)是通過模型調(diào)用相應(yīng)的方法進(jìn)行處理。2.2.2 SSH框架分析Struts2是系統(tǒng)開發(fā)的基礎(chǔ)框架,主要控制頁面的跳轉(zhuǎn)流程,即頁面導(dǎo)航的作用6。當(dāng)客戶端發(fā)送一個(gè)HttpServletRequest請(qǐng)求login.action,然后控制器根據(jù)請(qǐng)求調(diào)用合適的Action,通過調(diào)用Action的Execute方法,獲取從客戶端傳過來的參數(shù),執(zhí)行一定的業(yè)務(wù)邏輯,最后將處理結(jié)果返回到瀏覽器并顯示。其流程如圖:2.1所示。圖2.1 Struts2框架的基本流程Spring是一個(gè)構(gòu)造Java應(yīng)用程序的輕量級(jí)框架,它即可以構(gòu)建web程序,也可以構(gòu)建

30、Java程序3。Spring的核心主要是IOC控制反轉(zhuǎn),它不需要new一個(gè)對(duì)象,代碼全程都不需要?jiǎng)?chuàng)建對(duì)象,而是通過Spring框架本身注入對(duì)象。即使用IOC容器,就不需要留心組件的創(chuàng)建;它的生存周期也大可不管;組件之間就可以很容易共享;測(cè)試也簡(jiǎn)單多了。其流程如圖2.2所示。A: 不使用Spring IOCB:使用Spring IOC圖2.2 Spring IOC流程Hibrenate是實(shí)現(xiàn)對(duì)象/關(guān)系映射和數(shù)據(jù)庫交互,JDBC訪問數(shù)據(jù)庫的代碼就封裝在 Hibrenate,并且還封裝了一些簡(jiǎn)單的SQL語句,操作數(shù)據(jù)庫時(shí),只需調(diào)用其對(duì)象就可以實(shí)現(xiàn)簡(jiǎn)單的增刪改操作13。其流程如圖2.3所示。圖2.3

31、Hibrenate框架的基本流程關(guān)于開發(fā)學(xué)生成績(jī)管理系統(tǒng),總的可以分三層:顯示層,業(yè)務(wù)邏輯層和數(shù)據(jù)庫層。顯示層就用JSP代碼來完成,頁面之間的跳轉(zhuǎn)即客戶端跳轉(zhuǎn),還有服務(wù)器跳轉(zhuǎn)都用Struts2這個(gè)框架來控制,很好的將jsp里的Java代碼分離開來。使用Hibernate框架又很好的將訪問數(shù)據(jù)庫的代碼與Action(處理業(yè)務(wù)邏輯)的代碼實(shí)現(xiàn)了分離,降低了耦合度。然后Spring的引用,完美的與Struts2、Hibernate進(jìn)一步整合,并使用它的IOC控制反轉(zhuǎn)對(duì)控制邏輯和業(yè)務(wù)對(duì)象實(shí)現(xiàn)完全分離9。其流程如圖2.4所示。圖2.4 SSH框架的總流程3 系統(tǒng)具體需求分析在公司里,當(dāng)接到一個(gè)項(xiàng)目的時(shí)候

32、,首先要了解的是客戶的需求是什么,要站在客戶的角度去思考問題,有不明白的地方,就要第一時(shí)間提出來,不要到時(shí)候一拿到項(xiàng)目,不問清楚就安排下去讓人做,這樣的結(jié)果就是納品的時(shí)候完全已經(jīng)偏離了客戶的需求。在我們開發(fā)這個(gè)學(xué)生成績(jī)管理系統(tǒng)之前,首先考慮的就是學(xué)校的需求,在者就是經(jīng)濟(jì)上、技術(shù)上的可行性,當(dāng)三者都達(dá)到指標(biāo)的時(shí)候,我們就可以著手進(jìn)行系統(tǒng)的開發(fā)。3.1 系統(tǒng)需求開發(fā)本系統(tǒng)主要是面向初中和高中,只要抓住三個(gè)重點(diǎn)進(jìn)行分析,就可以完成該系統(tǒng)的具體分析。第一,學(xué)生生源的龐大,需要采集的信息就越多;第二,學(xué)校的考試次數(shù)多,成績(jī)的錄入需要消耗大量的教師資源;第三,要怎么樣才能夠提高學(xué)校的教學(xué)質(zhì)量。但是在分析這

33、三點(diǎn)之前,還要了解學(xué)校的日常工作流程。學(xué)校每年會(huì)有一屆老生畢業(yè),也就會(huì)有一屆新生入學(xué),入學(xué)之前,學(xué)校教務(wù)處就會(huì)在學(xué)生管理系統(tǒng)中添加班級(jí),然后每個(gè)班級(jí)都會(huì)安排一個(gè)班主任。當(dāng)新生入學(xué)報(bào)道時(shí),教務(wù)處又會(huì)將學(xué)生的信息錄入到學(xué)生管理系統(tǒng)中進(jìn)行維護(hù)。一個(gè)學(xué)校有三個(gè)年段,然后教務(wù)處會(huì)安排一個(gè)年段組長(zhǎng),對(duì)每個(gè)班級(jí)進(jìn)行課程安排,即每門課程所對(duì)應(yīng)的老師。每次考試以后,各班的班主任就可以把本班的成績(jī)錄入到學(xué)生成績(jī)管理系統(tǒng)中,然后在由年段組長(zhǎng)統(tǒng)計(jì)匯總各班的成績(jī)情況。管理員:即教務(wù)處,可以管理學(xué)生和教師的基本信息狀況,還可以打印學(xué)生和老師的全部信息。老師:可以錄入本班學(xué)生的成績(jī),查看學(xué)生的成績(jī)。并導(dǎo)出到excel表進(jìn)行

34、打印。學(xué)生:可以查看自己的課程以及成績(jī),還有班級(jí)的排名和年段的排名。3.2 系統(tǒng)功能需求分析本系統(tǒng)的設(shè)計(jì)限制了三個(gè)權(quán)限,管理員,教師,還有學(xué)生。系統(tǒng)管理員是權(quán)限最大的,可以對(duì)教師與學(xué)生的基本信息進(jìn)行管理,其次是教師可以對(duì)學(xué)生的成績(jī)進(jìn)行操作,權(quán)限最小的就是學(xué)生,只能查看自己的基本信息和成績(jī)??偟臋?quán)限:管理員教師學(xué)生。3.2.1 系統(tǒng)功能組成開發(fā)學(xué)生成績(jī)管理系統(tǒng)實(shí)現(xiàn)學(xué)校的日常管理,需要如下這些功能:用戶登入:登入類型有三個(gè),需要進(jìn)行用戶類型校驗(yàn)。賬號(hào)維護(hù):對(duì)密碼的修改,可以防止密碼的泄露。班級(jí)管理:對(duì)班級(jí)的信息執(zhí)行增刪改查。教師管理:對(duì)教師的信息執(zhí)行增刪改查。學(xué)生管理:對(duì)學(xué)生的信息執(zhí)行增刪改查。課

35、程管理:對(duì)課程的信息執(zhí)行增刪改查。成績(jī)管理:可以對(duì)每個(gè)學(xué)生的成績(jī)執(zhí)行增刪改查,并排序,之后把頁面信息導(dǎo)出到excel表,進(jìn)行打印。 其整個(gè)系統(tǒng)的框圖如3.1所示用戶登入用戶類型校驗(yàn)學(xué)生老師管理員賬號(hào)維護(hù)成績(jī)管理個(gè)人信息成績(jī)管理個(gè)人信息賬號(hào)維護(hù)成績(jī)管理學(xué)生管理課程管理教師管理班級(jí)管理排序并導(dǎo)出成績(jī)查詢執(zhí)行增刪改查執(zhí)行增刪改查執(zhí)行增刪改查排序并導(dǎo)出圖3.1 系統(tǒng)整體框圖3.2.2 系統(tǒng)模塊框圖(1)管理員的權(quán)限最大,可以對(duì)教師和學(xué)生的信息進(jìn)行操作,可以錄入課程和成績(jī),并實(shí)現(xiàn)成績(jī)的排序?qū)С觥F淇驁D如3.2所示。賬號(hào)維護(hù)班級(jí)管理教師管理執(zhí)行增刪改查課程管理管理員用戶學(xué)生管理排序并導(dǎo)出成績(jī)管理圖3.2管

36、理員框圖(2) 教師可以管理自己的個(gè)人信息和賬號(hào),可以對(duì)學(xué)生的成績(jī)進(jìn)行錄入并導(dǎo)出。其框圖如3.3所示。賬號(hào)維護(hù)個(gè)人信息執(zhí)行增刪改查教師排序并導(dǎo)出成績(jī)管理圖3.3 教師框圖(3)學(xué)生可以管理自己的個(gè)人信息和賬號(hào),只能查看成績(jī)。其框圖如3.4所示。賬號(hào)維護(hù)個(gè)人信息執(zhí)行增刪改查學(xué)生成績(jī)查詢成績(jī)管理圖3.4 學(xué)生框圖4 系統(tǒng)詳細(xì)設(shè)計(jì)根據(jù)學(xué)生成績(jī)管理系統(tǒng)的整個(gè)架構(gòu)框圖,對(duì)每個(gè)模塊,以及每個(gè)模塊的子模塊進(jìn)行詳細(xì)的設(shè)計(jì),比如登入界面的用戶類型的校驗(yàn)它的流程是怎樣的,主頁面對(duì)應(yīng)的各模塊的增刪改查的流程的設(shè)計(jì),還有導(dǎo)出功能用到的方法,排序用到的算法等等。4.1 系統(tǒng)功能設(shè)計(jì) (1)系統(tǒng)登入驗(yàn)證當(dāng)用戶在瀏覽器里輸

37、入系統(tǒng)運(yùn)行的地址,系統(tǒng)就會(huì)顯示登入界面,然后輸入用戶名,密碼,用戶類型以及驗(yàn)證碼,點(diǎn)擊“登入”按鈕,系統(tǒng)對(duì)用戶輸入的信息進(jìn)行處理,然后登入成功跳轉(zhuǎn)到主界面。如果用戶名,密碼,用戶類型為空時(shí),文本空右邊就會(huì)顯示: “請(qǐng)輸入用戶名!”,“請(qǐng)輸入密碼!”,“請(qǐng)選擇用戶類型!”等相應(yīng)提示,輸錯(cuò)又會(huì)提示“用戶名和密碼錯(cuò)誤!”。登入超時(shí)是,系統(tǒng)彈出異常提示頁面,登入失敗。登入驗(yàn)證流程如圖:4.1所示。圖4.1系統(tǒng)登入驗(yàn)證流程(2)系統(tǒng)賬號(hào)維護(hù)添加賬號(hào):當(dāng)用戶進(jìn)入主界面,左邊是管理主菜單,點(diǎn)擊系統(tǒng)賬號(hào)維護(hù)里的添加賬號(hào),有兩個(gè)文本框,然后輸入用戶名和密碼,點(diǎn)提交,賬號(hào)添加成功。訪問數(shù)據(jù)庫出錯(cuò)時(shí),就會(huì)在頁面上提

38、示“請(qǐng)重新輸入!”其流程如圖:4.2所示。圖4.2系統(tǒng)賬號(hào)維護(hù)流程修改賬號(hào):點(diǎn)擊修改按鈕,在文本框里就會(huì)查找出系統(tǒng)原本的賬號(hào),然后修改賬號(hào)和密碼點(diǎn)提交,彈出一個(gè)小框,提示修改成功。訪問數(shù)據(jù)庫出錯(cuò)時(shí),就會(huì)在頁面上提示“修改賬號(hào)操作失?。 逼淞鞒倘鐖D:4.3所示。圖4.3修改賬號(hào)流程 刪除賬號(hào):點(diǎn)擊刪除按鈕,頁面就會(huì)彈出一個(gè)提示小框并顯示:“是否要?jiǎng)h除這條記錄”,然后點(diǎn)確定,刪除成功。當(dāng)訪問數(shù)據(jù)庫異常,則系統(tǒng)跳轉(zhuǎn)至錯(cuò)誤提示頁面,用戶點(diǎn)擊“返回”按鈕,進(jìn)入賬戶一覽頁面。其流程如圖:4.4所示。圖4.4刪除賬號(hào)流程賬號(hào)維護(hù)總組件關(guān)系如圖所示Struts2配置映射文件:struts.xml賬號(hào)初始化Zh

39、aoAccountPage.jsp賬號(hào)維護(hù)列表Index.htmlZhaoAccountAction異常管理請(qǐng)求注入組件更新error.jspupdateZhaoAccount.jsp添加ZhaoAccountServiceaddZhaoAccountPage.jsp接口實(shí)現(xiàn)DB處理對(duì)象ZhaoAccountServiceImplIHibernate ORM注入組件ZhaoAccountDAOImplIZhaoAccountSpring容器的管理:application.xmlZhaoAccountDAO圖4.5 賬號(hào)維護(hù)總組件關(guān)系學(xué)生管理總組件關(guān)系如圖所示:Struts2配置映射文件:str

40、uts.xml教師管理列表教師初始化StuAccountPage.jspIndex.htmlStuAccountAction管理請(qǐng)求異常更新注入組件updateStuAccount.jsp添加error.jspStuAccountService處理對(duì)象addStuAccountPage.jspDB接口實(shí)現(xiàn)StuAccountDAOImplIHibernate ORMStuAccountServiceImplI注入組件StuAccountDAOSpring容器的管理:application.xmlStuAccount圖4.6 學(xué)生管理總組件關(guān)系(2)成績(jī)的排名在成績(jī)排名中用到了排序的算法,在Ja

41、va中排序算法其實(shí)有12種左右,其中最常用的也就三種:冒泡排序,快速排序,選擇排序。冒泡排序:其實(shí)從字面上就可以理解,冒泡就是氣泡浮上來了,也就是說輕的氣泡一定要上浮,重的氣泡要在輕的氣泡的下面,這樣一來,假如說有一數(shù)組a1n,根據(jù)冒泡這一原理,兩兩比較,輕的在上,重的在下,反復(fù)進(jìn)行比較,直到輕的都在上面為止。示列如表:表4.7冒泡法演示8880918576原來的數(shù)組8880918576第一次比較演示(8876)交換(8076)交換(9176)交換(8576)交換7688809185第二次比較演示(8880)交換(8085)交換7680888591第三次比較演示 (8885)交換(8591)不

42、交換7680858891第四次比較演示 (8591)不交換7680858891最終結(jié)果選擇排序:它就是進(jìn)行每一次等待排序的數(shù)組元素中挑出最min或最max的那一個(gè),按照順序放在已排好元素的最前或最后。示列如表:表4.8選擇排序演示8880918576原來的數(shù)組8880918576第一次比較演示在這五個(gè)數(shù)中選出最min=767680918588第二次比較演示在這四個(gè)數(shù)中選出最min=807680918588第三次比較演示 在三個(gè)數(shù)中選出最min=857680859188第四次比較演示 最min=887680858891最終結(jié)果但是本系統(tǒng)采用ArrayList排序,它會(huì)自動(dòng)調(diào)用一個(gè)內(nèi)置的方法來實(shí)現(xiàn)

43、降序或升序進(jìn)行對(duì)成績(jī)排序,然后通過ArrayList遍歷輸出顯示到頁面。(3)成績(jī)導(dǎo)出到excel表成績(jī)的導(dǎo)出方便了老師打印成績(jī)排名表,大大提高了老師的工作效率。怎么樣實(shí)現(xiàn)這個(gè)導(dǎo)出功能:導(dǎo)出功能導(dǎo)出的文件默認(rèn)是excel表格式,先創(chuàng)建一個(gè)輸出流對(duì)象,通過一個(gè)方法設(shè)定好表的名字,然后設(shè)定好導(dǎo)出表的字段。4.2 數(shù)據(jù)庫的設(shè)計(jì) 數(shù)據(jù)庫是數(shù)據(jù)存儲(chǔ)的一個(gè)可以管理的倉(cāng)庫,是一個(gè)可以存儲(chǔ)數(shù)據(jù)且存儲(chǔ)內(nèi)存龐大的倉(cāng)庫,數(shù)據(jù)不單單是指我們平時(shí)所說的12345這些數(shù)字,它也可以是圖片,表格,視屏,音頻以及文件。對(duì)于學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)庫是非常重要的,沒有了數(shù)據(jù)庫,學(xué)生成績(jī)管理系統(tǒng)就相當(dāng)于沒有了內(nèi)臟的一個(gè)驅(qū)殼,根本就失

44、去了它原本的作用。4.2.1 數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫是數(shù)據(jù)存儲(chǔ)的一個(gè)可以管理的倉(cāng)庫,因?yàn)榭梢怨芾?,所以要怎樣管理?shù)據(jù)庫才能使數(shù)據(jù)庫在安全性上達(dá)到指標(biāo),數(shù)據(jù)庫的安全性實(shí)際上就是對(duì)數(shù)據(jù)庫加密,加密方式其實(shí)有兩種,一種是數(shù)據(jù)庫本身加密,就是當(dāng)你打開數(shù)據(jù)庫時(shí)是需要輸入賬號(hào)和密碼的,這是第一層加密,這一層加密其實(shí)是很容易可以破解的。第二種加密就是代碼的加密,這種加密方式安全性能高,不容易被破解。其次就是數(shù)據(jù)表結(jié)構(gòu)的設(shè)計(jì),表結(jié)構(gòu)的合理性直接關(guān)系到數(shù)據(jù)操作的效率,表結(jié)構(gòu)的合理性優(yōu)化,可以提高數(shù)據(jù)庫運(yùn)行效率,也可以保證學(xué)生成績(jī)管理系統(tǒng)的對(duì)數(shù)據(jù)的一致性和完整性。設(shè)計(jì)數(shù)據(jù)庫時(shí),要確定所要存儲(chǔ)這些信息的字段,字段之

45、間有什么聯(lián)系,從而確定主鍵和外鍵,然后設(shè)計(jì)需要建幾張表。每張表之間的相互關(guān)系是怎樣的,盡量將表結(jié)構(gòu)優(yōu)化到最佳。(1)下面是數(shù)據(jù)表結(jié)構(gòu)的設(shè)計(jì),總共設(shè)計(jì)6張表: 管理員表(管理員id,用戶名,密碼) 班級(jí)表(班級(jí)_id,班級(jí)_name,年級(jí),教師_id) 教師表(教師_id,教師_no,教師_ name,年齡,用戶名,密碼,聯(lián)系方式) 學(xué)生表(學(xué)生_id,學(xué)號(hào),學(xué)生_ name,性別,年齡,用戶名,密碼,聯(lián)系方式) 課程表(課程_id,課程_no,課程_ name,課程_jiangci,課程_ weekly,學(xué)分)成績(jī)表(學(xué)生_id,課程_id,班級(jí)_id,成績(jī))(2)數(shù)據(jù)庫表實(shí)例設(shè)計(jì)本系統(tǒng)運(yùn)用的

46、數(shù)據(jù)庫是MySQL數(shù)據(jù)庫,MySQL數(shù)據(jù)庫是一個(gè)小型的數(shù)據(jù)庫,體積小,占用資源小,用于學(xué)生的研究是最佳的選擇。接下來對(duì)本系統(tǒng)的這六張表進(jìn)行展開分析。管理員表有3個(gè)字段,管理員id作為主鍵,且不能為空,其他兩個(gè)字段為用戶名與密碼,也不能為空。具體的結(jié)構(gòu)如表4.9所示。 表4.9管理員表字段名類型長(zhǎng)度可否為null主鍵外鍵userIdint10否是否userNamevarchar20否否否userPasswordvarchar20否否否班級(jí)表有4個(gè)字段,班級(jí)id作為主鍵,教師id作為外鍵,其它兩個(gè)字段為班級(jí)名稱和年級(jí)。具體的結(jié)構(gòu)如表4-10所示。 表4.10班級(jí)信息表字段名類型長(zhǎng)度可否為null主

47、鍵外鍵classIdint10否是否classNamevarchar20是否否nianJiint10是否否teacherIdint10是否是教師表有8個(gè)字段,教師id為主鍵,且不可為空,其余的字段都可以為空,具體的結(jié)構(gòu)如表4.11所示。 表4.11 教師信息表字段名類型長(zhǎng)度可否為null主鍵外鍵teacherIdint10否是否teaNumvarchar10是否teaNamevarchar20sexchar1ageint3teaUservarchar20teaPWvarchar20telephoneint20學(xué)生表有8個(gè)字段,學(xué)生id作為主鍵,且不能為空,其余字段可以為空,其具體結(jié)構(gòu)如表4.1

48、2所示。 表4.12 學(xué)生信息表字段名類型長(zhǎng)度可否為null主鍵外鍵studentIdint10否是否stuNumvarchar20是否stuNamevarchar20sexchar1ageint3stuUservarchar20stuPWvarchar20telephoneint20課程表有6個(gè)字段,課程 id作為主鍵,且不能為空,其余字段可以為空,其具體結(jié)構(gòu)如表4.13所示。 表4.13課程信息表字段名類型長(zhǎng)度可否為null主鍵外鍵courseIdint10否是否courseNumvarchar20是否courseNamevarchar20courseJciint2courseZciint

49、2creditint2成績(jī)表有4個(gè)字段,學(xué)生id,課程id,班級(jí)id三個(gè)字段作為主鍵,且不能為空,成績(jī)字段也不能為空。其具體結(jié)構(gòu)如表4.14所示。 表4.14成績(jī)表字段名類型長(zhǎng)度可否為null主鍵外鍵stuIdint10否是否courseIdint10classIdint10gradeint3 以上就是數(shù)據(jù)庫表的設(shè)計(jì),它們每張表之間都有一定的表關(guān)聯(lián),也就是關(guān)系數(shù)據(jù)庫模型,根據(jù)表里的字段的相互關(guān)系,然后訪問數(shù)據(jù)庫。5 系統(tǒng)功能的實(shí)現(xiàn)與測(cè)試本章主要講解系統(tǒng)的登入權(quán)限管理的代碼流程的分析,以及成績(jī)導(dǎo)出功能的詳解,其它模塊的流程分析已經(jīng)在第四章詳細(xì)講過了。其次,當(dāng)學(xué)生成績(jī)管理系統(tǒng)開發(fā)完成后,測(cè)試是必不

50、可少的關(guān)鍵的一個(gè)步驟,它可以檢測(cè)出系統(tǒng)各功能是否符合規(guī)定的要求。測(cè)試分為兩種,一種是黑盒測(cè)試,主要對(duì)系統(tǒng)的功能測(cè)試,是否能夠正常運(yùn)行。還有一種是白盒測(cè)試,主要是對(duì)代碼的測(cè)試,通過調(diào)用debug對(duì)相應(yīng)的case進(jìn)行運(yùn)行測(cè)試,簡(jiǎn)單的說就調(diào)一遍代碼的運(yùn)行流程,看看每個(gè)邏輯以及參數(shù)值是否正確。5.1 SSH框架的搭建當(dāng)我們寫程序之前,一定要先搭建好整個(gè)系統(tǒng)的框架,很顯然開發(fā)學(xué)生管理系統(tǒng)引入了SSH框架,所以我們要先把整個(gè)配置流程給做好,其次就是在這框架里寫代碼,這樣開發(fā)效率就大大提高了。(1)Hibrenate框架搭建Hibrenate的作用是實(shí)現(xiàn)實(shí)體類與數(shù)據(jù)庫表的映射關(guān)系。這關(guān)系的的配置文件是*.h

51、bm.xml。其字段的所有信息都存儲(chǔ)在t_*信息表里。然后還要?jiǎng)?chuàng)建Javabeen,對(duì)been的屬性實(shí)現(xiàn)set和get方法。之后構(gòu)建數(shù)據(jù)庫訪問類,其命名為:*DAO.java, 并繼承HibernateDaoSupport這個(gè)類。*.hbm.xml配置信息如下: . (2)Spring框架的搭建 Spring框架在這學(xué)生成績(jī)管理系統(tǒng)起數(shù)據(jù)庫連接池的作用,數(shù)據(jù)庫的配置以及訪問數(shù)據(jù)庫的用戶名和密碼也是寫在這個(gè)配置中,本系統(tǒng)的數(shù)據(jù)庫用戶名為:root,密碼:123456。其中sessionFactory是數(shù)據(jù)庫連接池,連接池里可以獲取許多數(shù)據(jù)庫連接,獲取到的連接就是這個(gè)session,session

52、代表一個(gè)數(shù)據(jù)庫連接,F(xiàn)actory相當(dāng)于session的工廠,并且Factory可以創(chuàng)建很多的session。其次Spring的還有個(gè)作用就是類的加載,整個(gè)業(yè)務(wù)邏輯中就不需要new一個(gè)對(duì)象來間接訪問,直接通過Spring自身的作用引用類就行了,并在該類中實(shí)現(xiàn)其屬性的set和get方法。配置文件代碼如下:(3)Struts2框架的搭建Struts框架其實(shí)就是實(shí)現(xiàn)頁面跳轉(zhuǎn)的一個(gè)控制器。Jsp頁面提交一個(gè)請(qǐng)求,通過form表單的action的名稱找到Struts配置文件的相對(duì)應(yīng)的action名稱,然后在通過class類的配置路徑跳到*Action.java,調(diào)用里面的方法執(zhí)行業(yè)務(wù)邏輯,成功retur

53、n succeed,跳到成功的界面,return error,跳到顯示錯(cuò)誤的界面。5.2 功能的實(shí)現(xiàn)本章主要對(duì)學(xué)生成績(jī)管理系統(tǒng)重要的功能進(jìn)行代碼分析。(1)登入功能每個(gè)用戶要進(jìn)入本系統(tǒng)進(jìn)行操作,都要輸入用戶名和密碼,還要選擇用戶類型。其界面實(shí)現(xiàn)如圖5.1所示。 圖5.1 用戶登入界面當(dāng)頁面的文本框輸入用戶名、密碼以及用戶類型,點(diǎn)擊登入按鈕,之后就會(huì)觸發(fā)控件onclick=check(),進(jìn)入function check()這個(gè)方法,用if語句做判斷,為空時(shí)就會(huì)提示“請(qǐng)輸入用戶名”和“請(qǐng)輸入密碼”,return false。輸入有值時(shí),通過loginService這個(gè)類調(diào)用其login()方法,

54、將用戶名、密碼和用戶類型傳給這個(gè)loginService類,再通過login()方法里的if判斷語句,進(jìn)行用戶類型的判斷:當(dāng)userType=1時(shí),用戶類型為管理員;當(dāng)userType=2時(shí),用戶類型為教師;當(dāng)userType=3時(shí),用戶類型為學(xué)生。(3)賬號(hào)維護(hù)功能用戶通過賬號(hào)、密碼和用戶類型進(jìn)入主界面,主界面的左邊有六個(gè)模塊:系統(tǒng)Manage,班級(jí)Manage,教師Manage,學(xué)生Manage,課程Manage,成績(jī)Manage。其功能界面如圖5.1所示。圖5.1 管理員功能主界面圖 eq oac(,1) 賬戶添加:在jsp頁面的文本框里輸入用戶名和密碼點(diǎn)提交,通過form action

55、=adminAdd.action這個(gè)標(biāo)簽,找到Struts配置文件相應(yīng)的action的name,然后通過class路徑=adminAction,method=adminAdd,找到adminAction這個(gè)類并調(diào)用adminAdd這個(gè)方法實(shí)現(xiàn)賬戶的添加,并返回成功提示:操作成功。其功能界面如圖5.2所示。圖5.2 賬戶添加功能界面圖 eq oac(,2) 賬戶刪除:當(dāng)在頁面上點(diǎn)擊刪除c賬戶時(shí),就會(huì)觸發(fā)onclick=adminDelete控件,跳轉(zhuǎn)到function adminDelete這個(gè)方法,通過property標(biāo)簽從值棧里取出userId,把這個(gè)userId傳給function adm

56、inDelete這個(gè)方法,根據(jù)Struts的配置文件然后跳轉(zhuǎn)到adminAction這個(gè)類,調(diào)用adminDelete方法,根據(jù)從頁面?zhèn)鬟^來的userId進(jìn)行刪除,并返回提示:刪除成功!。其功能界面如圖5.3所示。 圖5.3 賬戶刪除功能界面圖 eq oac(,3)修改密碼功能在jsp界面的文本框里首先需要輸入原密碼:222222,然后輸入新密碼:123456,再確認(rèn)密碼,點(diǎn)擊“修改”按鈕。觸發(fā)onclick=check()控件,調(diào)用function check()方法,通過if語句判斷:原密碼是否正確?新密碼是否為空?確認(rèn)密碼是否與新密碼一致?然后調(diào)用loginService類,實(shí)現(xiàn)admi

57、nPwEdit方法,將新密碼傳進(jìn)這個(gè)方法進(jìn)行業(yè)務(wù)邏輯處理,返回成功并提示:修改成功。其功能界面如圖5.4所示。 圖5.4 修改賬戶功能界面圖(2)學(xué)生信息管理模塊功能學(xué)生信息管理主要是對(duì)每個(gè)學(xué)生的信息執(zhí)行添加,修改,刪除和查找的操作。其中添加、修改和刪除與上一小節(jié)的賬號(hào)的增刪改類似。這里主要分析學(xué)生的查找功能,可以按照學(xué)生的學(xué)號(hào)進(jìn)行精確查找。當(dāng)在jsp頁面的查找文本框里輸入:10313102這個(gè)學(xué)號(hào),點(diǎn)查詢,通過form action=search.action表單,根據(jù)Struts配置文件找到對(duì)應(yīng)的action的name=search,然后解析class=stuAction,method=s

58、earch,找到stuAction類,調(diào)用search方法,利用request.getParameter這個(gè)方法取得學(xué)號(hào):10313102,然后在list集合里取得這個(gè)學(xué)號(hào)的所用信息,并顯示到頁面上。其功能界面如圖5.5所示。圖5.5學(xué)生精確查找界面圖(3)導(dǎo)出功能導(dǎo)出功能是以excel格式將數(shù)據(jù)庫里的數(shù)據(jù)導(dǎo)出到本地,點(diǎn)擊生成報(bào)表,就會(huì)出現(xiàn)一個(gè)下載框,點(diǎn)下載,生成了一張成績(jī)表。其功能界面如圖5.2所示。 圖5.6導(dǎo)出功能界面圖當(dāng)點(diǎn)擊生成報(bào)表,它就會(huì)觸發(fā)onlick=createTable這個(gè)控件,進(jìn)到function createTable()這個(gè)方法,通過window.location.hr

59、ef=/createTable.action,找到struts配置文件的路徑:action name= createTable class= rankingAction method= createTable,跳轉(zhuǎn)到rankingAction這個(gè)類,調(diào)用createTable這個(gè)方法進(jìn)行處理。5.3 系統(tǒng)的測(cè)試本章主要對(duì)學(xué)生成績(jī)管理系統(tǒng)的功能進(jìn)行測(cè)試,即黑盒測(cè)試。通過對(duì)頁面的操作,測(cè)試每個(gè)功能是否能正常運(yùn)行。(1)對(duì)每個(gè)輸入框的測(cè)試,主要是輸一些臨界值和一些特殊的字符,看它能否添加成功,還是會(huì)顯示出錯(cuò)提示?如果能添加成功,說明攔截器設(shè)計(jì)有問題,沒有把這些特殊的字符給過濾掉。如果有了錯(cuò)誤的提示,說明運(yùn)行成功了。(2)對(duì)每個(gè)模塊的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論