




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
-.z畢業(yè)論文(設(shè)計(jì))題目學(xué)生成績(jī)管理系統(tǒng)學(xué)生**學(xué)號(hào)院系計(jì)算機(jī)與軟件學(xué)院專(zhuān)業(yè)計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)指導(dǎo)教師二O一O年五月二十日-.z聲明本人*重聲明:持以“**、創(chuàng)新〞的科學(xué)精神從事研究工作。本論文是我個(gè)人在導(dǎo)師指導(dǎo)下進(jìn)展的研究工作和取得的研究成果。本論文中除引文外,所有實(shí)驗(yàn)、數(shù)據(jù)和有關(guān)材料均是真實(shí)的。本論文中除引文和致謝的內(nèi)容外,沒(méi)有抄襲其他人或其他機(jī)構(gòu)已經(jīng)發(fā)表或撰寫(xiě)過(guò)的研究成果。其他同志對(duì)本研究所做的奉獻(xiàn)均已在論文中作了聲明并表示了謝意。作者簽名:日期:目錄TOC\o"1-3"\u1、研究現(xiàn)狀12、技術(shù)和工具12.1、C/S構(gòu)造和B/S構(gòu)造的比照分析12.2、JSP開(kāi)發(fā)工具介紹22.3、J2EE架構(gòu)介紹3、Struts框架3、Spring框架4、Hibernate框架42.4、MySQL開(kāi)發(fā)工具介紹53、主要功能64、系統(tǒng)設(shè)計(jì)74.1、數(shù)據(jù)庫(kù)設(shè)計(jì)74.2、創(chuàng)立映射文件和持久化類(lèi)94.3、編寫(xiě)DAO層104.4、功能模塊設(shè)計(jì)10、登陸注銷(xiāo)模塊10、top.java、home.java文件以及editSuccess.jsp、addSuccess.jsp文件11、班級(jí)管理模塊12、學(xué)年管理模塊13、課程管理模塊14、學(xué)生管理模塊16、教師管理模塊16、課程分配模塊16、成績(jī)管理模塊17、成績(jī)查看模塊174.4.11、個(gè)人信息管理模塊184.5、配置文件19、配置struts.*ml文件19、配置applicationConte*t.*ml 195、系統(tǒng)介紹205.1登陸界面205.2管理員界面215.3、教師界面255.4、學(xué)生界面286、完畢語(yǔ)29-.z學(xué)生成績(jī)管理系統(tǒng)王瀟〔**信息工程大學(xué)計(jì)軟院計(jì)科系,**210044〕摘要:本系統(tǒng)采用的是B/S構(gòu)造,使用的工具是JSP和MySQL。該系統(tǒng)可以對(duì)學(xué)生的根本信息和成績(jī)進(jìn)展管理,包括學(xué)生根本信息的錄入和修改,學(xué)生成績(jī)的錄入,成績(jī)的管理以及成績(jī)查詢(xún)等功能,該系統(tǒng)有三種用戶(hù),按權(quán)限從高到低分別為:管理員、教師和學(xué)生。管理員管理教師和學(xué)生的根本信息,教師和學(xué)生都可直接從網(wǎng)上查詢(xún)成績(jī)信息和修改本人的密碼。學(xué)生成績(jī)管理系統(tǒng)可以提高學(xué)校成績(jī)管理水平,實(shí)現(xiàn)數(shù)字化校園。關(guān)鍵字:成績(jī)管理JSPMySQLB/SJ2EE1、研究現(xiàn)狀學(xué)生成績(jī)管理是教學(xué)過(guò)程中的一個(gè)重要環(huán)節(jié),工作量繁重而且易出錯(cuò)。它包括學(xué)生成績(jī)匯總,每個(gè)學(xué)生成績(jī)單的填寫(xiě)和發(fā)放,教師對(duì)學(xué)生成績(jī)的統(tǒng)計(jì)分析,學(xué)生名次的排列,以及不及格人數(shù)統(tǒng)計(jì)和,并且為不及格的學(xué)生安排補(bǔ)考和補(bǔ)考成績(jī)的填寫(xiě)等很多復(fù)雜的方面。人工完成這些工作,不僅費(fèi)時(shí)費(fèi)力,而且一不小心就會(huì)出錯(cuò)。使用數(shù)據(jù)庫(kù)技術(shù)進(jìn)展數(shù)據(jù)處理,將很大程度上解決這個(gè)問(wèn)題。編寫(xiě)一個(gè)適合學(xué)校使用的學(xué)生成績(jī)管理系統(tǒng),可以把工作人員從繁重的工作里解放出來(lái),不但能節(jié)約人力,而且提高了工作效率,減少了出錯(cuò)的頻率。這對(duì)于學(xué)校來(lái)說(shuō),是一個(gè)十分劃算的方法。2、技術(shù)和工具2.1、C/S構(gòu)造和B/S構(gòu)造的比照分析本系統(tǒng)采用B/S構(gòu)造,即瀏覽器\效勞器構(gòu)造。B/S構(gòu)造是在C/S構(gòu)造〔客戶(hù)機(jī)/效勞器構(gòu)造〕的根底上建立的,這種構(gòu)造使用戶(hù)界面完全通過(guò)瀏覽器實(shí)現(xiàn),并采用三層體系構(gòu)造,解決了兩層體系構(gòu)造中的缺點(diǎn)。把應(yīng)用邏輯獨(dú)立出來(lái)形成一個(gè)中間層,中間層存在于客戶(hù)層與存儲(chǔ)層之間。比傳統(tǒng)C/S構(gòu)造更加優(yōu)越。優(yōu)點(diǎn)有以下幾方面:〔1〕、系統(tǒng)一般只有初期一次性投入本錢(qián),維護(hù)和升級(jí)簡(jiǎn)單,本錢(qián)低。B/S構(gòu)造的客戶(hù)端只是瀏覽器,維護(hù)和升級(jí)只需在效勞器進(jìn)展,無(wú)論有多少用戶(hù)使用,都不會(huì)影響效勞器升級(jí)。而C/S構(gòu)造對(duì)客戶(hù)端要求很高,每個(gè)客戶(hù)端必須安裝應(yīng)用軟件,升級(jí)對(duì)象包括客戶(hù)機(jī)和效勞器,相當(dāng)于重新設(shè)計(jì)系統(tǒng),工程浩大?!?〕、使用更加方便靈活,*圍廣。B/S構(gòu)造建立在廣域網(wǎng)上,對(duì)客戶(hù)端沒(méi)有要求,只要能夠進(jìn)入瀏覽器,用戶(hù)可以在任一臺(tái)電腦上登錄系統(tǒng),查詢(xún)成績(jī)信息。C/S構(gòu)造作用與局域網(wǎng),對(duì)客戶(hù)端要求高,適用*圍小,用戶(hù)離開(kāi)固定區(qū)域,便無(wú)法進(jìn)入系統(tǒng),如學(xué)生放假回家就不能查詢(xún)成績(jī)。〔3〕、數(shù)據(jù)響應(yīng)及時(shí),實(shí)時(shí)性高。B/S構(gòu)造可以看到當(dāng)前進(jìn)展的業(yè)務(wù),方便快速處理,而C/S構(gòu)造只能給出事后數(shù)據(jù)?!?〕、數(shù)據(jù)一致性高。B/S構(gòu)造的一切數(shù)據(jù)都存放在總效勞器中,對(duì)數(shù)據(jù)的修改也是在效勞器中進(jìn)展的,任何用戶(hù)都可以得到一致的信息。而C/S構(gòu)造同步性較差,一個(gè)地方出現(xiàn)缺陷,整個(gè)系統(tǒng)都必須重新部署,來(lái)保證數(shù)據(jù)一致,效率低。2.2、JSP開(kāi)發(fā)工具介紹JSP(JavaServerPages)是由SunMicrosystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點(diǎn)類(lèi)似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁(yè)HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件(*.jsp)。JSP在多個(gè)方面加速了動(dòng)態(tài)Web頁(yè)面的開(kāi)發(fā),有以下幾個(gè)方面的優(yōu)點(diǎn):〔1〕、將內(nèi)容的生成和顯示進(jìn)展別離使用JSP技術(shù),Web頁(yè)面開(kāi)發(fā)人員可以使用HTML或者*ML標(biāo)識(shí)來(lái)設(shè)計(jì)和格式化最終頁(yè)面。使用JSP標(biāo)識(shí)或者小腳本來(lái)生成頁(yè)面上的動(dòng)態(tài)內(nèi)容〔內(nèi)容是根據(jù)請(qǐng)求來(lái)變化的,例如請(qǐng)求**信息或者特定的一瓶酒的價(jià)格〕。生成內(nèi)容的邏輯被封裝在標(biāo)識(shí)和JavaBeans組件中,并且捆綁在小腳本中,所有的腳本在效勞器端運(yùn)行。如果核心邏輯被封裝在標(biāo)識(shí)和Beans中,則Web管理人員和頁(yè)面設(shè)計(jì)者,能夠編輯和使用JSP頁(yè)面,而不影響內(nèi)容的生成。在效勞器端,JSP引擎解釋JSP標(biāo)識(shí)和小腳本,生成所請(qǐng)求的內(nèi)容〔例如,通過(guò)JavaBeans組件,使用JDBCTM技術(shù)數(shù)據(jù)庫(kù),或者包含文件〕,并且將結(jié)果以HTML〔或者*ML〕頁(yè)面的形式發(fā)送回瀏覽器。這有助于作者保護(hù)自己的代碼,而又保證任何基于HTML的Web瀏覽器的完全可用性。〔2〕、強(qiáng)調(diào)可重用的組件絕大多數(shù)JSP頁(yè)面依賴(lài)于可重用的,跨平臺(tái)的組件〔JavaBeans或者Enterprise
JavaBeansTM組件〕來(lái)執(zhí)行應(yīng)用程序所要求的更為復(fù)雜的處理。開(kāi)發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者或者客戶(hù)團(tuán)體所使用?;诮M件的方法加速了總體開(kāi)發(fā)過(guò)程,并且使得各種組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開(kāi)發(fā)努力中得到平衡?!?〕、采用標(biāo)識(shí)簡(jiǎn)化頁(yè)面開(kāi)發(fā)Web頁(yè)面開(kāi)發(fā)人員不會(huì)都是熟悉腳本語(yǔ)言的編程人員。JavaServer
Page技術(shù)封裝了許多功能,這些功能是在易用的、與JSP相關(guān)的*ML標(biāo)識(shí)中進(jìn)展動(dòng)態(tài)內(nèi)容生成所需要的。標(biāo)準(zhǔn)的JSP標(biāo)識(shí)能夠和實(shí)例化JavaBeans組件,設(shè)置或者檢索組件屬性,下載Applet,以及執(zhí)行用其他方法更難于編碼和耗時(shí)的功能。通過(guò)開(kāi)發(fā)定制化標(biāo)識(shí)庫(kù),JSP技術(shù)是可以擴(kuò)展的。今后,第三方開(kāi)發(fā)人員和其他人員可以為常用功能創(chuàng)立自己的標(biāo)識(shí)庫(kù)。這使得Web頁(yè)面開(kāi)發(fā)人員能夠使用熟悉的工具和如同標(biāo)識(shí)一樣的執(zhí)行特定功能的構(gòu)件來(lái)工作?!?〕、強(qiáng)大的可伸縮性從只有一個(gè)小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺(tái)效勞器進(jìn)展集群和負(fù)載均衡,到多臺(tái)Application進(jìn)展事務(wù)處理,消息處理,一臺(tái)效勞器到無(wú)數(shù)臺(tái)效勞器,Java顯示了一個(gè)巨大的生命力?!?〕、平臺(tái)適應(yīng)性更廣這是JSP比ASP的優(yōu)越之處,幾乎所有的平臺(tái)都支持Java、JSP+JavaBeans,他們可以在任何平臺(tái)下暢通無(wú)阻。從一個(gè)平臺(tái)移植到另外一個(gè)平臺(tái),JSP和JavaBeans甚至不用重新編譯,因?yàn)镴ava字節(jié)碼都是標(biāo)準(zhǔn)的與平臺(tái)無(wú)關(guān)的。另外,JSP技術(shù)很容易整合到多種應(yīng)用體系構(gòu)造中,以利用現(xiàn)存的工具和技巧,并且擴(kuò)展到能夠支持企業(yè)級(jí)的分布式應(yīng)用。作為采用Java技術(shù)家族的一局部,以及Java
2〔企業(yè)版體系構(gòu)造〕的一個(gè)組成局部,JSP技術(shù)能夠支持高度復(fù)雜的基于Web的應(yīng)用。由于JSP頁(yè)面的內(nèi)置腳本語(yǔ)言是基于Java編程語(yǔ)言的,而且所有的JSP頁(yè)面都被編譯成為Java
Servlet,JSP頁(yè)面就具有Java技術(shù)的所有好處,包括強(qiáng)健的存儲(chǔ)管理和平安性。作為Java平臺(tái)的一局部,JSP擁有Java編程語(yǔ)言“一次編寫(xiě),各處運(yùn)行〞的特點(diǎn)。隨著越來(lái)越多的供給商將JSP支持添加到他們的產(chǎn)品中,您可以使用自己所選擇的效勞器和工具,更改工具或效勞器并不影響當(dāng)前的應(yīng)用。當(dāng)與Java
2平臺(tái),企業(yè)版(J2EE)和Enterprise
JavaBeans技術(shù)整合時(shí),JSP頁(yè)面將提供企業(yè)級(jí)的擴(kuò)展性和性能,這對(duì)于在虛擬企業(yè)中部署基于Web的應(yīng)用是必需的。2.3、J2EE架構(gòu)介紹J2EE〔Java2Platform,EnterpriseEdition〕以Java2為技術(shù)根底,是一套全然不同于傳統(tǒng)應(yīng)用開(kāi)發(fā)的技術(shù)架構(gòu),包含許多組件,主要可簡(jiǎn)化且規(guī)*應(yīng)用系統(tǒng)的開(kāi)發(fā)與部署,進(jìn)而提高可移植性、平安與再用價(jià)值。J2EE核心是一組技術(shù)規(guī)*與指南,其中所包含的各類(lèi)組件、效勞架構(gòu)及技術(shù)層次,均有共通的標(biāo)準(zhǔn)及規(guī)格,讓各種依循J2EE架構(gòu)的不同平臺(tái)之間,存在良好的兼容性,解決過(guò)去企業(yè)后端使用的信息產(chǎn)品彼此之間無(wú)法兼容,,企業(yè)內(nèi)部或外部難以互通的窘境。J2EE平臺(tái)使用了一個(gè)多層的分布式應(yīng)用程序模型,該模型具有重用組件的能力、基于擴(kuò)展標(biāo)記語(yǔ)言的數(shù)據(jù)交換、統(tǒng)一的平安模式和靈活的事務(wù)控制。典型的J2EE三層構(gòu)造,分為表現(xiàn)層、中間層〔業(yè)務(wù)邏輯層〕和數(shù)據(jù)效勞層。三層體系將業(yè)務(wù)規(guī)則、數(shù)據(jù)及合法性校驗(yàn)等工作放在中間層處理??蛻?hù)端不直接與數(shù)據(jù)庫(kù)交互,而是通過(guò)組件與中間層建立連接,再由中間層與數(shù)據(jù)庫(kù)交互。J2EE的具體實(shí)現(xiàn)采用三大核心框架:Struts、Spring、Hibernate。下面簡(jiǎn)單介紹一下三種核心框架。、Struts框架Struts最早是作為ApacheJakarta工程的組成局部,工程的創(chuàng)立者希望通過(guò)對(duì)該工程的研究,改良和提高JavaServerPages、Servlet、標(biāo)簽庫(kù)以及面向?qū)ο蟮募夹g(shù)水準(zhǔn)。Struts這個(gè)名字來(lái)源于在建筑和舊式飛機(jī)中使用的支持金屬架。這個(gè)框架之所以叫"Struts",是為了提醒我們記住那些支撐我們房屋,建筑,橋梁,甚至我們踩高蹺時(shí)候的根底支撐。這也是一個(gè)解釋Struts在開(kāi)發(fā)Web應(yīng)用程序中所扮演的角色的精彩描述。Struts是一種基于MVC經(jīng)典設(shè)計(jì)模式的開(kāi)放源代碼的應(yīng)用框架,也是目前Web開(kāi)發(fā)中比擬成熟的一種框架。通過(guò)把Servlet、JSP、JavaBean、自定義標(biāo)簽和信息資源整合到一個(gè)統(tǒng)一的框架中,為Web開(kāi)發(fā)提供具有高可配置性的MVC開(kāi)發(fā)模式。和其他的java架構(gòu)一樣,Struts也是面向?qū)ο笤O(shè)計(jì),將MVC模式"別離顯示邏輯和業(yè)務(wù)邏輯"的能力發(fā)揮得淋漓盡致。Structs框架的核心是一個(gè)彈性的控制層,基于如JavaServlets,JavaBeans,ResourceBundles與*ML等標(biāo)準(zhǔn)技術(shù),以及Jakartamons的一些類(lèi)庫(kù)。Struts有一組相互協(xié)作的類(lèi)〔組件〕、Servlet以及jsptaglib組成?;趕truts構(gòu)架的web應(yīng)用程序根本上符合JSP。MVC是"Model-View-Controller"的縮寫(xiě),中文翻譯為"模型-視圖-控制器"。就像字面的意思,MVC模式的構(gòu)造是由模型〔Model〕、視圖〔View〕、控制器〔Controller〕三局部組成的。模型:應(yīng)用程序的主體局部,用于表現(xiàn)業(yè)務(wù)數(shù)據(jù),或者業(yè)務(wù)邏輯。視圖:應(yīng)用程序中用戶(hù)界面相關(guān)的局部,是用戶(hù)看到并與之交互的界面。控制器:用于根據(jù)用戶(hù)的輸入,控制用戶(hù)界面數(shù)據(jù)顯示,更新Model對(duì)象狀態(tài)。Struts體系構(gòu)造實(shí)現(xiàn)了MVC設(shè)計(jì)模式的概念,它將Model、View和Controller分別映射到Web應(yīng)用的組件。、Spring框架Spring是一個(gè)開(kāi)源框架,它由RodJohnson創(chuàng)立。它是為了解決企業(yè)應(yīng)用開(kāi)發(fā)的復(fù)雜性而創(chuàng)立的??蚣艿闹饕獌?yōu)勢(shì)之一就是其分層架構(gòu),分層架構(gòu)允許用戶(hù)選擇使用哪一個(gè)框架,這也是Spring與Spring和Hibernate等其它框架不同的地方。Spring致力于J2EE應(yīng)用的各層的解決方案,而不是僅僅專(zhuān)注于*一層的方案??梢哉f(shuō)Spring是企業(yè)應(yīng)用開(kāi)發(fā)的“一站式〞選擇,并貫穿表現(xiàn)層、業(yè)務(wù)層及持久層。然而,Spring并不想取代那些已有的框架,而是與它們無(wú)縫地整合。Spring使用根本的JavaBean來(lái)完成以前只可能由E完成的事情。然而,Spring的用途不僅限于效勞器端的開(kāi)發(fā)。從簡(jiǎn)單性、可測(cè)試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。簡(jiǎn)單來(lái)說(shuō),Spring是一個(gè)輕量級(jí)的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。Spring框架是一個(gè)分層架構(gòu),由7個(gè)定義良好的模塊組成。Spring模塊構(gòu)建在核心容器之上,核心容器定義了創(chuàng)立、配置和管理bean的方式。組成Spring框架的每個(gè)模塊〔或組件〕都可以單獨(dú)存在,或者與其他一個(gè)或多個(gè)模塊聯(lián)合實(shí)現(xiàn)。、Hibernate框架Hibernate是一個(gè)開(kāi)放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)展了非常輕量級(jí)的對(duì)象封裝,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù)。Hibernate可以應(yīng)用在任何使用JDBC的場(chǎng)合,既可以在Java的客戶(hù)端程序?qū)嵱茫部梢栽赟ervlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用E的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。Hibernate是一個(gè)高性能的ORM持久性和查詢(xún)效勞。Hibernate不僅管理Java類(lèi)到數(shù)據(jù)庫(kù)表的映射〔包括從Java數(shù)據(jù)類(lèi)型到SQL數(shù)據(jù)類(lèi)型的映射〕,還提供數(shù)據(jù)查詢(xún)和獲取數(shù)據(jù)的方法,可以大幅度減少開(kāi)發(fā)時(shí)人工使用SQL和JDBC處理數(shù)據(jù)的時(shí)間。它的設(shè)計(jì)目標(biāo)是將軟件開(kāi)發(fā)人員從大量一樣的數(shù)據(jù)持久層相關(guān)編程工作中解放出來(lái)。無(wú)論是從設(shè)計(jì)草案還是從一個(gè)遺留數(shù)據(jù)庫(kù)開(kāi)場(chǎng),開(kāi)發(fā)人員都可以采用Hibernate。Hibernate是一個(gè)JDO工具,它的工作原理是通過(guò)文件把值對(duì)象和數(shù)據(jù)庫(kù)表之間建立起一個(gè)映射關(guān)系,這樣,只需要操作這些值對(duì)象和Hibernate提供的一些根本類(lèi),就可以到達(dá)使用數(shù)據(jù)庫(kù)的目的。例如,使用Hibernate的查詢(xún),可以直接返回包含*個(gè)值對(duì)象的列表〔List〕,而不必向傳統(tǒng)的JDBC方式一樣把結(jié)果集的數(shù)據(jù)逐個(gè)裝載到一個(gè)值對(duì)象中,為編碼工作節(jié)省了大量時(shí)間。Hibernate提供的HQL是一種類(lèi)SQL語(yǔ)言,它和EQL一樣都是提供對(duì)象化的數(shù)據(jù)庫(kù)查詢(xún)方式,但HQL在功能和使用方式上都非常接近標(biāo)準(zhǔn)的SQL。2.4、MySQL開(kāi)發(fā)工具介紹SQL全稱(chēng)是“構(gòu)造化查詢(xún)語(yǔ)言(StructuredQueryLanguage)〞,是一種數(shù)據(jù)庫(kù)查詢(xún)和程序設(shè)計(jì)語(yǔ)言,用于存取數(shù)據(jù)以及查詢(xún)、更新和管理關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)。SQL集數(shù)據(jù)查詢(xún)、數(shù)據(jù)操縱、數(shù)據(jù)定義和數(shù)據(jù)控制功能為一體,功能強(qiáng)大且簡(jiǎn)潔易懂,其主要特點(diǎn)有以下幾個(gè)方面?!?〕、綜合統(tǒng)一。SQL集數(shù)據(jù)定義語(yǔ)言DDL、數(shù)據(jù)操縱語(yǔ)言DML、數(shù)據(jù)控制語(yǔ)言DCL的功能于一體,可以獨(dú)立完成數(shù)據(jù)庫(kù)的所有活動(dòng)。對(duì)于非關(guān)系模型的數(shù)據(jù)語(yǔ)言來(lái)說(shuō),數(shù)據(jù)庫(kù)運(yùn)行后,假設(shè)要修改模式,必須對(duì)數(shù)據(jù)庫(kù)進(jìn)展重裝,十分繁瑣。使用SQL,用戶(hù)可以在數(shù)據(jù)庫(kù)運(yùn)行后,隨時(shí)修改數(shù)據(jù)庫(kù)系統(tǒng)的模式,不影響該數(shù)據(jù)庫(kù)的運(yùn)行,而且數(shù)據(jù)構(gòu)造單一,實(shí)體和實(shí)體間的聯(lián)系都用關(guān)系表示,使該語(yǔ)言更加簡(jiǎn)單。這些特點(diǎn)使數(shù)據(jù)庫(kù)系統(tǒng)擁有良好的可擴(kuò)展性和統(tǒng)一性,降低了操作復(fù)雜性。〔2〕、高度非過(guò)程化。非關(guān)系數(shù)據(jù)庫(kù)的語(yǔ)言是過(guò)程化的,必須指定存取路徑。而SQL只需提出做什么,不用管怎么做,由系統(tǒng)自動(dòng)完成存取路徑的選擇以及SQL的操作過(guò)程,使用戶(hù)更方便,提高了數(shù)據(jù)的獨(dú)立性?!?〕、面向集合的操作方式。SQL直接對(duì)集合進(jìn)展操作,所有操作如插入、刪除、修改等都是針對(duì)元組的集合,而不是對(duì)一條條的紀(jì)錄進(jìn)展逐一操作。減少了工作量,降低了出錯(cuò)率?!?〕、以同一種語(yǔ)法構(gòu)造提供多種使用方式。SQL既是獨(dú)立的語(yǔ)言,又是嵌入式語(yǔ)言。它可以獨(dú)立使用,進(jìn)展數(shù)據(jù)庫(kù)操作,也可以嵌入到如C、Java等高級(jí)語(yǔ)言中使用。而且,不管哪一種方式,語(yǔ)法構(gòu)造根本不變,使SQL的使用更加靈活方便。此外,SQL十分接近英語(yǔ)口語(yǔ),語(yǔ)言簡(jiǎn)潔,甚至核心動(dòng)詞只有九個(gè),即使是初學(xué)者也能快速上手。3、主要功能該系統(tǒng)有以下幾個(gè)功能:1、密碼效勞。每個(gè)人都有初始密碼,登陸進(jìn)系統(tǒng)后,用戶(hù)可以自行修改。2、管理教師和學(xué)生的根本信息,包括學(xué)生的**、**、性別、班級(jí)、聯(lián)系方式以及每學(xué)期所學(xué)科目和該科目的任課教師,教師的**、職員號(hào)、性別、聯(lián)系方式以及所教授的科目等多個(gè)方面。只有管理員有權(quán)限使用此功能,對(duì)教師和學(xué)生的信息進(jìn)展添加、刪除和修改。3、管理學(xué)生成績(jī)??荚囃旰?,教師可以直接將學(xué)生各科目的成績(jī)輸入系統(tǒng),保證了成績(jī)的及時(shí)性。如果出現(xiàn)錯(cuò)誤,學(xué)生可以向教師申請(qǐng),經(jīng)核實(shí)有誤后由該授課教師對(duì)學(xué)生的錯(cuò)誤成績(jī)進(jìn)展修改。4、成績(jī)的查詢(xún)功能。教師輸入成績(jī)后,所有用戶(hù)都可在網(wǎng)上查詢(xún)學(xué)生的成績(jī)。不同用戶(hù)有不同權(quán)限,學(xué)生只可查詢(xún)本人成績(jī),教師可以查詢(xún)所有學(xué)生成績(jī)。5、提供操作界面。針對(duì)不同的用戶(hù)權(quán)限,提供不同的操作界面,用戶(hù)可以通過(guò)界面直接使用以上所述功能,操作簡(jiǎn)單易懂。學(xué)生成績(jī)管理系統(tǒng)登陸界面學(xué)生成績(jī)管理系統(tǒng)登陸界面管理員管理教師和學(xué)生的根本信息教師查詢(xún)學(xué)生成績(jī)輸入學(xué)生成績(jī)學(xué)生查詢(xún)本人成績(jī)修改本人的密碼圖3.1學(xué)生成績(jī)管理系統(tǒng)整體構(gòu)造圖修改本人的密碼修改本人的密碼4、系統(tǒng)設(shè)計(jì)4.1、數(shù)據(jù)庫(kù)設(shè)計(jì)根據(jù)系統(tǒng)的功能要求,主要構(gòu)造以下幾個(gè)表:〔1〕、學(xué)生表:學(xué)生編號(hào)、學(xué)生**、性別、、地址、登陸密碼、班級(jí)號(hào)、**〔關(guān)鍵字為學(xué)生編號(hào)〕如下列圖4.1學(xué)生表。圖4.1學(xué)生表〔2〕、教師表:教師編號(hào)、教師**、工號(hào)、登陸密碼、性別、地址、〔關(guān)鍵字為教師編號(hào)〕如下列圖4.2教師表。圖4.2教師表〔3〕、管理員表:管理員編號(hào)、用戶(hù)名、登陸密碼、〔關(guān)鍵字為管理員編號(hào)〕如下列圖4.3管理員表。圖4.3管理員表〔4〕、學(xué)年表:學(xué)年編號(hào)、學(xué)年名、是否為當(dāng)前學(xué)年〔關(guān)鍵字為學(xué)年編號(hào)〕如下列圖4.4學(xué)年表。圖4.4學(xué)年表〔5〕、班級(jí)表:班級(jí)編號(hào)、班級(jí)名稱(chēng)〔關(guān)鍵字為班級(jí)編號(hào)〕如下列圖4.5班級(jí)表。圖4.5班級(jí)表〔6〕、課程表:課程編號(hào)、課程名稱(chēng)、開(kāi)科學(xué)年〔關(guān)鍵字為課程編號(hào)〕如下列圖4.6課程表。圖4.6課程表〔7〕、課程分配表:課程分配編號(hào)、授課教師編號(hào)、開(kāi)課班級(jí)編號(hào)、課程名稱(chēng)編號(hào)〔關(guān)鍵字為課程安排編號(hào)〕如下列圖4.7課程安排表。圖4.7課程安排表〔8〕、成績(jī)表:成績(jī)編號(hào)、成績(jī)分值、學(xué)生編號(hào)、教師編號(hào)、課程編號(hào)、學(xué)年編號(hào)〔關(guān)鍵字為成績(jī)編號(hào)〕如下列圖4.8成績(jī)表。圖4.8成績(jī)表4.2、創(chuàng)立映射文件和持久化類(lèi)Hibernate映射文件包含了對(duì)象/關(guān)系映射〔O/RMapping〕所需的元數(shù)據(jù)。元數(shù)據(jù)包含持久化類(lèi)的聲明和屬性到數(shù)據(jù)庫(kù)的映射〔指向字段和其他實(shí)體的外鍵關(guān)聯(lián)〕。持久化類(lèi)是指其實(shí)例需要被Hibernate持久化到數(shù)據(jù)庫(kù)中的類(lèi)。持久化類(lèi)通常都是域模型中的實(shí)體域類(lèi),一般都是一*數(shù)據(jù)庫(kù)表對(duì)應(yīng)一個(gè)持久化類(lèi)。由上可示,本系統(tǒng)共有8個(gè)數(shù)據(jù)表,需要為每一個(gè)數(shù)據(jù)表編寫(xiě)映射文件和持久化類(lèi):學(xué)生表對(duì)應(yīng)的映射文件和持久化類(lèi)為和Student.java;教師表對(duì)應(yīng)的映射文件和持久化類(lèi)為和Teacher.java;管理員表對(duì)應(yīng)的映射文件和持久化類(lèi)為和Admin.java;學(xué)年表對(duì)應(yīng)的映射文件和持久化類(lèi)為和Schoolyear.java;班級(jí)表對(duì)應(yīng)的映射文件和持久化類(lèi)為和Classes.java;課程表對(duì)應(yīng)的映射文件和持久化類(lèi)為和Course.java;課程分配表對(duì)應(yīng)的映射文件和持久化類(lèi)為和Assign.java;成績(jī)表對(duì)應(yīng)的映射文件和持久化類(lèi)為和Score.java。4.3、編寫(xiě)DAO層所謂的DAO〔DataAccessObject〕層,就是數(shù)據(jù)接口,DAO可以實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的各種操作。本系統(tǒng)為每一個(gè)數(shù)據(jù)表編寫(xiě)了一個(gè)DAO類(lèi)。DAO所執(zhí)行的操作包括,數(shù)據(jù)插入,數(shù)據(jù)修改,以及所有數(shù)據(jù)查詢(xún)和按關(guān)鍵字查詢(xún)。StudentDAO.java執(zhí)行對(duì)學(xué)生表的各種操作,TeacherDAO.java執(zhí)行對(duì)教師表的各種操作,AdminDAO.java執(zhí)行對(duì)管理員表的各種操作,SchoolyearDAO.java執(zhí)行對(duì)學(xué)年表的各種操作,ClassesDAO.java執(zhí)行對(duì)班級(jí)表的各種操作,CourseDAO.java執(zhí)行對(duì)課程表的各種操作,AssignDAO.java執(zhí)行對(duì)課程分配表的各種操作,ScoreDAO.java執(zhí)行對(duì)成績(jī)表的各種操作。4.4、功能模塊設(shè)計(jì)、登陸注銷(xiāo)模塊登陸注銷(xiāo)模塊包括login.jsp、LoginAction.java、LogoffAction.java,〔1〕、login.jsp提供本系統(tǒng)的登陸界面,獲取用戶(hù)輸入的用戶(hù)名和密碼,獲取代碼如下:varusername=document.getElementById("username").value;varpassword=document.getElementById("password").value;login.jsp發(fā)送名字為login的action請(qǐng)求,根據(jù)struts.*ml文件調(diào)用LoginAction.java文件,點(diǎn)擊登陸按鈕后即執(zhí)行此項(xiàng)操作。關(guān)鍵代碼如下所示:formaction="login.action"method="post"onsubmit="returncheck();"LoginAction.java文件處理login.action的請(qǐng)求,根據(jù)用戶(hù)在登陸界面選擇的角色,該文件執(zhí)行不同的操作。以管理員登陸為例,如果在登陸界面獲得的role值為admin,則調(diào)用DAO層adminDAO,將獲取的用戶(hù)名和密碼與數(shù)據(jù)庫(kù)中的數(shù)據(jù)相比照,假設(shè)正確,則返回success值,假設(shè)值不正確,則返回值為input,代碼如下所示:if(role.equalsIgnoreCase("admin")) { Adminadmin=newAdmin(); admin.setUsername(username); admin.setPassword(password); List<Admin>aList=adminDAO.findByE*ample(admin); 〕根據(jù)返回值,調(diào)用struts.*ml文件,即如下代碼,返回值為success,轉(zhuǎn)到home.jsp文件,返回值為input,則重新回到login.jsp文件。<packagename="login"namespace="e*tends="struts-default"> <actionname="login"class=".ssms.action.LoginAction"> <resultname="success">/WEB-INF/jsp/home.jsp</result> <resultname="input">/login.jsp</result></action>〔2〕、LogoffAction.java提供注銷(xiāo)操作,用戶(hù)進(jìn)入系統(tǒng)后可在界面上選擇注銷(xiāo)按鈕,即調(diào)用struts.*ml文件,啟用LogoffAction.java文件,以完成用戶(hù)注銷(xiāo),以學(xué)生為例,代碼如下,執(zhí)行注銷(xiāo)操作,返回success值。if(role.equalsIgnoreCase("student")) { session.removeAttribute("student"); } session.removeAttribute("username"); session.removeAttribute("role");return"success";映射代碼如下,指定LogoffAction.java的路徑,得到success返回值,然會(huì)返回login.jsp,即回到登陸界面。<actionname="logoff"class=".ssms.action.LogoffAction"> <resultname="success">/login.jsp</result> </action>、top.java、home.java文件以及editSuccess.jsp、addSuccess.jsp文件頭文件為top.java,提供需要重復(fù)顯示的界面元素,如登陸系統(tǒng)后顯示的歡送語(yǔ)句、注銷(xiāo)按鈕,以及根據(jù)不同的登陸用戶(hù)提供的不同操作按鈕等。其他文件可以直接在頭文件中調(diào)用,降低了程序的復(fù)雜度,減少需要重復(fù)編寫(xiě)的代碼。以登陸對(duì)象為admin為例,所要調(diào)用的代碼如下所示,為用戶(hù)提供各種功能的操作按鈕,當(dāng)用戶(hù)選擇時(shí)即發(fā)出相對(duì)應(yīng)的action請(qǐng)求。<s:iftest="*session.role=='student'"><ahref="scanScore.action">查看成績(jī)</a> <ahref="managerPerson.action">個(gè)人信息管理</a></s:if>用戶(hù)登陸后,即轉(zhuǎn)到home.java文件,該文件為用戶(hù)提供登陸后的初始操作界面,不顯示任何數(shù)據(jù)信息,代碼為直接調(diào)用top.java文件,如下所示:<jsp:includepage="top.jsp"></jsp:include>addSuccess.jsp為添加操作成功后所調(diào)用的文件,功能為回到主界面。關(guān)鍵代碼為:window.parent.location.reload();editSuccess.jsp為編輯操作成功后所調(diào)用的文件,功能為回到主界面。關(guān)鍵代碼為:window.parent.location.reload();、班級(jí)管理模塊班級(jí)管理模塊包括managerClass.jsp、addClass.jsp、editClass.jsp、ManagerClassAction.java。managerClass.jsp提供班級(jí)管理界面并顯示班級(jí)信息,addClass.jsp提供添加彈出框,editClass.jsp提供編輯彈出框,ManagerClassAction.java提供各種操作。〔1〕、管理員登陸后,選擇管理班級(jí)按鈕,即發(fā)送managerClass.action請(qǐng)求,根據(jù)struts.*ml文件調(diào)用ManagerClassAction.java文件,執(zhí)行以下代碼。調(diào)用classesDAO,查詢(xún)數(shù)據(jù)庫(kù)中所有的班級(jí),并返回success值,根據(jù)struts.*ml文件調(diào)用managerClass.jsp文件。classesList=classesDAO.findAll();return"success";managerClass.jsp提供管理班級(jí)的顯示界面,將ManagerClassAction.java查詢(xún)到的數(shù)據(jù)顯示出來(lái),<s:iteratorvalue="classesList"><tr><td><s:propertyvalue="classname"></s:property></td></s:iterator>并提供編輯、刪除和添加按鈕?!?〕、當(dāng)用戶(hù)選擇添加按鈕時(shí)即發(fā)送addClass.action請(qǐng)求,根據(jù)struts.*ml文件調(diào)用ManagerClassAction.java文件中的addClass對(duì)象,并返回success值。根據(jù)返回值,在struts.*ml文件中調(diào)用addClass.jsp文件。系統(tǒng)轉(zhuǎn)到addClass.jsp文件,即彈出班級(jí)添加框,用戶(hù)可在添加框內(nèi)添加班級(jí)。此文件提供添加按鈕,用戶(hù)點(diǎn)擊按鈕后執(zhí)行以下代碼所示操作,即發(fā)送addClassdo.action請(qǐng)求。<formaction="addClassdo.action"method="post">根據(jù)請(qǐng)求在struts.*ml文件中調(diào)用ManagerClassAction.java文件中的addClassdo對(duì)象,如以下代碼所示。Classesclasses=newClasses(); classes.setClassname(classname); classesDAO.save(classes);return"success";該對(duì)象調(diào)用classesDAO中的類(lèi)將用戶(hù)添加的班級(jí)數(shù)據(jù)存入數(shù)據(jù)庫(kù),并在操作完畢后返回success值。根據(jù)返回值,在struts.*ml文件中轉(zhuǎn)到addSuccess.jsp文件,執(zhí)行回到主界面操作,即返回執(zhí)行managerClass.jsp?!?〕、當(dāng)用戶(hù)選擇編輯按鈕時(shí)即發(fā)送editClass.action請(qǐng)求,同時(shí)發(fā)送的還有所編輯班級(jí)的編號(hào)。在struts.*ml文件調(diào)用ManagerClassAction.java文件中的editClass對(duì)象。在該對(duì)象中調(diào)用classesDAO,根據(jù)獲得的編號(hào)在數(shù)據(jù)庫(kù)中查詢(xún)班級(jí)信息,最后返回success值Classesclasses=classesDAO.findById(id); classname=classes.getClassname();return"success";根據(jù)返回值,在struts.*ml文件中調(diào)用editClass.jsp文件。系統(tǒng)轉(zhuǎn)到editClass.jsp文件,即彈出班級(jí)編輯框,用戶(hù)可在編輯框內(nèi)編輯班級(jí)。此文件提供保存按鈕,用戶(hù)點(diǎn)擊按鈕后執(zhí)行以下代碼所示操作,即發(fā)送editClassdo.action請(qǐng)求。<formaction="editClassdo.action"method="post">根據(jù)請(qǐng)求在struts.*ml文件中調(diào)用ManagerClassAction.java文件中的editClassdo對(duì)象,如以下代碼所示,該對(duì)象調(diào)用classesDAO將用戶(hù)編輯的班級(jí)數(shù)據(jù)存入數(shù)據(jù)庫(kù),并在操作完畢后返回success值。根據(jù)返回值,在struts.*ml文件中轉(zhuǎn)到editSuccess.jsp文件,執(zhí)行回到主界面操作,即返回執(zhí)行managerClass.jsp。Classesclasses=classesDAO.findById(id); classes.setClassname(classname); classesDAO.update(classes);return"success";〔4〕、當(dāng)用戶(hù)選擇刪除按鈕時(shí)發(fā)送delClass.action請(qǐng)求當(dāng),根據(jù)struts.*ml文件調(diào)用ManagerClassAction.java文件中的delClass對(duì)象,然后調(diào)用classesDAO,直接執(zhí)行數(shù)據(jù)刪除操作,并返回success值。根據(jù)返回值,調(diào)用struts.*ml文件返回執(zhí)行managerClass.jsp。Classesclasses=classesDAO.findById(id); classesDAO.delete(classes);return"success";、學(xué)年管理模塊學(xué)年管理模塊包括managerYear.jsp、addYear.jsp、editYear.jsp、ManagerYearAction.java。managerYear.jsp提供學(xué)年管理界面并顯示學(xué)年信息,addYear.jsp提供添加彈出框,editYear.jsp提供編輯彈出框,ManageYearAction.java提供各種操作。學(xué)年管理模塊的流程和代碼與班級(jí)管理模塊類(lèi)似?!?〕、管理員登陸后,假設(shè)選擇管理學(xué)年按鈕,即發(fā)送managerYear.action請(qǐng)求,根據(jù)struts.*ml文件調(diào)用ManagerYearAction.java文件,執(zhí)行以下代碼,查詢(xún)數(shù)據(jù)庫(kù)中所有的學(xué)年信息,并返回success值, syList=schoolyearDAO.findAll();return"success";根據(jù)返回值,從struts.*ml文件中調(diào)用managerYear.jsp。managerYear.jsp提供管理學(xué)年的顯示界面,將ManagerClassAction.java查詢(xún)到的數(shù)據(jù)顯示出來(lái),并提供編輯、刪除和添加按鈕?!?〕、當(dāng)用戶(hù)選擇添加按鈕時(shí)即發(fā)送addYear.action請(qǐng)求,調(diào)用ManagerYearAction.java文件中的addYear對(duì)象,并返回success值。根據(jù)返回值,調(diào)用addYear.jsp文件。系統(tǒng)轉(zhuǎn)到addYear.jsp文件,即彈出學(xué)年添加框,用戶(hù)可在添加框內(nèi)添加學(xué)年信息。此文件提供添加按鈕。用戶(hù)點(diǎn)擊按鈕后發(fā)送addYeardo.action請(qǐng)求,調(diào)用ManagerYearAction.java文件中的addYeardo對(duì)象。該類(lèi)調(diào)用schoolyearDAO將用戶(hù)添加的學(xué)年數(shù)據(jù)存入數(shù)據(jù)庫(kù),并在操作完畢后返回success值。根據(jù)返回值,轉(zhuǎn)到addSuccess.jsp文件,執(zhí)行回到主界面操作,即返回執(zhí)行managerYear.jsp。〔3〕、當(dāng)用戶(hù)選擇編輯按鈕時(shí)即發(fā)送editYear.action請(qǐng)求,同時(shí)發(fā)送的還有所編輯學(xué)年的編號(hào)。調(diào)用ManagerYearAction.java文件中的editYear對(duì)象,根據(jù)獲得的編號(hào)在數(shù)據(jù)庫(kù)中查詢(xún)學(xué)年信息,最后返回success值根據(jù)返回值,轉(zhuǎn)到editYear.jsp文件,即彈出學(xué)年編輯框,用戶(hù)可在編輯框內(nèi)編輯學(xué)年。此文件提供保存按鈕,用戶(hù)點(diǎn)擊按鈕后發(fā)送editrYeardo.action請(qǐng)求。<formaction="editrYeardo.action"method="post">根據(jù)請(qǐng)求調(diào)用ManagerYearAction.java文件中的editYeardo對(duì)象,將用戶(hù)編輯的學(xué)年數(shù)據(jù)存入數(shù)據(jù)庫(kù),并在操作完畢后返回success值。根據(jù)返回值,轉(zhuǎn)到editSuccess.jsp文件,執(zhí)行回到主界面操作,即返回執(zhí)行managerYear.jsp?!?〕、當(dāng)用戶(hù)選擇刪除按鈕時(shí)發(fā)送delrYear.action請(qǐng)求,調(diào)用ManagerYearAction.java文件中的delYear對(duì)象,然后直接執(zhí)行數(shù)據(jù)刪除操作,并返回success值。根據(jù)返回值,返回執(zhí)行managerYear.jsp。 Schoolyearschoolyear=schoolyearDAO.findById(id); schoolyearDAO.delete(schoolyear);return"success";、課程管理模塊課程管理模塊包括managerCourse.jsp、addCourse.jsp、editCourse.jsp、ManagerCourseAction.java。managerCourse.jsp提供課程管理界面并顯示課程信息,addCourse.jsp提供添加彈出框,editCourse.jsp提供編輯彈出框,ManageCourseAction.java提供各種操作。ManageCourseAction.java包括六個(gè)對(duì)象,e*ecute對(duì)象:發(fā)出轉(zhuǎn)到managerCourse.jsp文件要求;addCourse對(duì)象:發(fā)出轉(zhuǎn)到addCourse.jsp文件要求;addCoursedo對(duì)象:執(zhí)行添加課程操作;editCourse對(duì)象:發(fā)出轉(zhuǎn)到editCourse.jsp文件要求、editCoursedo對(duì)象:執(zhí)行編輯課程操作、delCourse對(duì)象:執(zhí)行刪除課程操作。〔1〕、管理員登陸后,選擇管理課程按鈕,發(fā)送managerCourse.action請(qǐng)求即調(diào)用ManagerYearAction.java文件中的e*ecute對(duì)象,調(diào)用managerCourse.jsp。managerCourse.jsp提供管理課程的顯示界面,將e*ecute對(duì)象查詢(xún)到的數(shù)據(jù)顯示出來(lái),<s:iteratorvalue="courseList"><tr><td><s:propertyvalue="coursename"></s:property></td></s:iterator>并提供編輯、刪除和添加按鈕,以及為每一個(gè)按鈕設(shè)置action,用戶(hù)點(diǎn)擊即可發(fā)送該action請(qǐng)求。以添加按鈕為例,代碼為functionadd(){varurl="addCourse.action";}〔2〕、當(dāng)用戶(hù)選擇添加按鈕時(shí)即發(fā)送addCourse.action請(qǐng)求,調(diào)用ManagerCourseAction.java文件中的addCourse對(duì)象,以調(diào)用addCourse.jsp文件。系統(tǒng)轉(zhuǎn)到addCourse.jsp文件,即彈出課程添加框,用戶(hù)可在添加框內(nèi)添加課程信息。此文件提供添加按鈕。用戶(hù)點(diǎn)擊按鈕后發(fā)送addCourse.action請(qǐng)求,調(diào)用ManagerCourseAction.java文件中的addCoursedo對(duì)象。<formaction="addCoursedo.action"method="post">addYeardo對(duì)象調(diào)用CourseDAO中的類(lèi)將用戶(hù)添加的課程數(shù)據(jù)存入數(shù)據(jù)庫(kù),并在操作完畢后返回success值。根據(jù)返回值,轉(zhuǎn)到addSuccess.jsp文件,執(zhí)行回到主界面操作,即返回執(zhí)行managerCourse.jsp?!?〕、當(dāng)用戶(hù)選擇編輯按鈕時(shí)即發(fā)送editCourse.action請(qǐng)求,同時(shí)發(fā)送的還有所編輯課程的編號(hào)。調(diào)用ManagerCourseAction.java文件中的editCourse對(duì)象,根據(jù)獲得的編號(hào)在數(shù)據(jù)庫(kù)中查詢(xún)課程信息,最后返回success值。根據(jù)返回值,轉(zhuǎn)到editCourse.jsp文件,即彈出學(xué)年編輯框,用戶(hù)可在編輯框內(nèi)編輯班級(jí)。此文件提供保存按鈕,用戶(hù)點(diǎn)擊按鈕后發(fā)送editrCoursedo.action請(qǐng)求。<formaction="editrCoursedo.action"method="post">根據(jù)請(qǐng)求調(diào)用ManagerCourseAction.java文件中的editCoursedo類(lèi),將用戶(hù)編輯的學(xué)年數(shù)據(jù)存入數(shù)據(jù)庫(kù),并在操作完畢后返回success值,代碼如下。根據(jù)返回值,轉(zhuǎn)到editSuccess.jsp文件,執(zhí)行回到主界面操作,即返回執(zhí)行managerCourse.jsp。Coursecourse=courseDAO.findById(id); course.setCoursename(coursename); course.setYearid(schoolyear); courseDAO.update(course);return"success";〔4〕、當(dāng)用戶(hù)選擇刪除按鈕時(shí)發(fā)送delrCourse.action請(qǐng)求,調(diào)用ManagerCourseAction.java文件中的delCourse對(duì)象,然后直接執(zhí)行數(shù)據(jù)刪除操作,并返回success值,代碼如下所示。根據(jù)返回值,返回執(zhí)行managerCourse.jsp。Coursecourse=courseDAO.findById(id); courseDAO.delete(course);return"success";、學(xué)生管理模塊學(xué)生管理模塊包括managerStudent.jsp、addStudent.jsp、editStudent.jsp、ManagerStudentAction.java。managerStudent.jsp提供學(xué)生管理界面并顯示學(xué)生信息,addStudent.jsp提供添加彈出框,editStudent.jsp提供編輯彈出框,ManageStudentAction.java提供各種操作。ManageStudentAction.java包括六個(gè)對(duì)象,e*ecute對(duì)象:發(fā)出轉(zhuǎn)到managerStudent.jsp文件要求;addStudent對(duì)象:發(fā)出轉(zhuǎn)到addStudent.jsp文件要求;addStudentdo對(duì)象:執(zhí)行添加學(xué)生操作;editStudent對(duì)象:發(fā)出轉(zhuǎn)到editStudent.jsp文件要求、editStudentdo對(duì)象:執(zhí)行編輯學(xué)生操作、delStudent對(duì)象:執(zhí)行刪除學(xué)生操作。學(xué)生管理模塊中操作流程和關(guān)鍵代碼與課程管理模塊中的內(nèi)容十分相似,不作詳細(xì)介紹。、教師管理模塊教師管理模塊包括managerTeacher.jsp、addTeacher.jsp、editTeacher.jsp、ManagerTeacherAction.java。managerTeacher.jsp提供教師管理界面并顯示教師信息,addTeacher.jsp提供添加彈出框,editTeacher.jsp提供編輯彈出框,ManageTeacherAction.java提供各種操作。ManageTeacherAction.java包括六個(gè)對(duì)象,e*ecute對(duì)象:發(fā)出轉(zhuǎn)到managerTeacher.jsp文件要求;addTeacher對(duì)象:發(fā)出轉(zhuǎn)到addTeacher.jsp文件要求;addTeacherdo對(duì)象:執(zhí)行添加教師操作;editTeacher對(duì)象:發(fā)出轉(zhuǎn)到editTeacher.jsp文件要求、editTeacherdo對(duì)象:執(zhí)行編輯教師操作、delTeacher對(duì)象:執(zhí)行刪除教師操作。教師管理模塊中操作流程和關(guān)鍵代碼與班級(jí)管理模塊中的內(nèi)容十分相似,不作詳細(xì)介紹。、課程分配模塊課程分配模塊包括assignCourse.jsp、addAssign.jsp、editAssign.jsp、AssignCourseAction.java。assignCourse.jsp提供課程分配界面并顯示課程分配信息,addAssign.jsp提供添加彈出框,editAssign.jsp提供編輯彈出框,AssignCourseAction.java提供各種操作。AssignCourseAction.java包括六個(gè)對(duì)象,e*ecute對(duì)象:發(fā)出轉(zhuǎn)到assignCourse.jsp文件要求;addAssign對(duì)象:發(fā)出轉(zhuǎn)到addAssign.jsp文件要求;addAssigndo對(duì)象:執(zhí)行添加課程分配操作;editAssign對(duì)象:發(fā)出轉(zhuǎn)到editAssign.jsp文件要求、editAssigndo對(duì)象:執(zhí)行編輯課程分配操作、delAssign對(duì)象:執(zhí)行刪除課程分配操作。課程分配模塊中操作流程和關(guān)鍵代碼與班級(jí)管理模塊中的內(nèi)容十分相似,不作詳細(xì)介紹。、成績(jī)管理模塊成績(jī)管理模塊包括managerScore.jsp、addScore.jsp、editScore.jsp、ManagerScoreAction.java。managerScore.jsp提供成績(jī)管理界面并顯示成績(jī)信息,addScore.jsp提供添加彈出框,editScore.jsp提供編輯彈出框,ManageScoreAction.java提供各種操作。ManageScoreAction.java包括六個(gè)對(duì)象,e*ecute對(duì)象:發(fā)出轉(zhuǎn)到managerScore.jsp文件要求;addScore對(duì)象:發(fā)出轉(zhuǎn)到addScore.jsp文件要求;addScoredo對(duì)象:執(zhí)行添加成績(jī)操作;editScore對(duì)象:發(fā)出轉(zhuǎn)到editScore.jsp文件要求、editScoredo對(duì)象:執(zhí)行編輯成績(jī)操作、delScore對(duì)象:執(zhí)行刪除成績(jī)操作。成績(jī)管理模塊中操作流程和關(guān)鍵代碼與課程管理模塊中的內(nèi)容十分相似,不作詳細(xì)介紹。、成績(jī)查看模塊成績(jī)查看模塊包括scanScore.jsp、ScanScoreAction.java。scanScore.jsp提供成績(jī)查看界面并顯示成績(jī)信息,ScanScoreAction.java提供e*ecute對(duì)象來(lái)完成成績(jī)查看操作。用戶(hù)登陸后點(diǎn)擊查看成績(jī)按鈕,即發(fā)送ScanScore..Action請(qǐng)求,根據(jù)struts.*ml文件調(diào)用ScanScoreAction.java文件的e*ecute對(duì)象,執(zhí)行e*ecute對(duì)象所定義的操作。然后根據(jù)返回值轉(zhuǎn)到scanScore.jsp文件,即顯示成績(jī)查看界面。根據(jù)e*ecute對(duì)象的定義,不同用戶(hù)能夠查看的數(shù)據(jù)不一樣,學(xué)生只能觀察本人成績(jī)信息,教師可以查看全部信息。代碼如下所示。if(role.equalsIgnoreCase("student")) { Studentstudent=(Student)session.getAttribute("student"); Scorescore=newScore(); score.setStudentid(student.getId()); score.setSchoolyearid(yearid); List<Score>sList=scoreDAO.findByE*ample(score);return"success"; }else { Scorescore=newScore(); score.setSchoolyearid(yearid); score.setStudentid(studentid); List<Score>sList=scoreDAO.findByE*ample(score); }return"success";、個(gè)人信息管理模塊成績(jī)查看模塊包括managerPerson.jsp、ManagerPersonAction.java。managerPerson.jsp提供個(gè)人信息管理界面并顯示個(gè)人信息,ManagerPersonAction.java提供兩個(gè)對(duì)象,e*ecute對(duì)象完成個(gè)人信息的獲得,editPerson對(duì)象完成個(gè)人密碼的修改。用戶(hù)登陸后點(diǎn)擊查看個(gè)人信息管理按鈕,即發(fā)送ManagerPerson.Action請(qǐng)求,根據(jù)struts.*ml文件調(diào)用ManagerPersonAction.java文件的e*ecute對(duì)象,執(zhí)行e*ecute對(duì)象所定義的操作。然后根據(jù)返回值轉(zhuǎn)到scanScore.jsp文件,即顯示用戶(hù)的個(gè)人信息,包括用戶(hù)名和密碼,用戶(hù)名不可修改。以學(xué)生為例,e*ecute對(duì)象中的關(guān)鍵代碼為:if(role.equalsIgnoreCase("student")) { Studentstudent=(Student)session.getAttribute("student"); username=student.getNumber(); password=student.getPassword(); id=student.getId(); }用戶(hù)在密碼欄修改,即可發(fā)送editPerson.Action,調(diào)用ManagerPersonAction.java文件的editPerson對(duì)象,將修改后的密碼存入數(shù)據(jù)庫(kù)。以學(xué)生為例,關(guān)鍵代碼如下:if(role.equalsIgnoreCase("student")) { Studentstudent=studentDAO.findById(id); student.setPassword(password); studentDAO.update(student); }4.5、配置文件、配置struts.*ml文件本文件存儲(chǔ)了一些描述用戶(hù)請(qǐng)求路徑和Action映射關(guān)系的配置信息,在該配置文件中,每一個(gè)Action的映射信息都通過(guò)一個(gè)action元素來(lái)配置。、配置applicationConte*t.*ml在applicationConte*t.*ml中進(jìn)展根底的Bean組件配置首先進(jìn)展數(shù)據(jù)源的配置,以配置與數(shù)據(jù)的連接,代碼如下段程序所示。添加一個(gè)名稱(chēng)為dataSource的<Bean>,并定義四個(gè)參數(shù),driverClassName:數(shù)據(jù)庫(kù)連接驅(qū)動(dòng);url:數(shù)據(jù)庫(kù)連接的URL地址;username:指定數(shù)據(jù)庫(kù)的用戶(hù)名;password:指定數(shù)據(jù)庫(kù)的密碼。<beanid="dataSource" class="org.apache.mons.dbcp.BasicDataSource"> <propertyname="driverClassName" value=".mysql.jdbc.Driver"> </property> <propertyname="url"value="jdbc:mysql://localhost:3306/ssms"></property> <propertyname="username"value="root"></property> <propertyname="password"value="123"></property> </bean>配置sessionFactory對(duì)象,為DAO層提供Hibernate的數(shù)據(jù)庫(kù)連接對(duì)象 <list> <value>/ssms/model/Classes.hbm.*ml</value> <value>/ssms/model/Schoolyear.hbm.*ml</value> <value>/ssms/model/Course.hbm.*ml</value> <value>/ssms/model/Student.hbm.*ml</value> <value>/ssms/model/Teacher.hbm.*ml</value> <value>/ssms/model/Assign.hbm.*ml</value> <value>/ssms/model/Score.hbm.*ml</value> <value>/ssms/model/Admin.hbm.*ml</value></list>配置dwrUtil對(duì)象,調(diào)用DAO,以classesDAO為例,代碼如下所示 <propertyname="classesDAO"> <reflocal="classesDAO"/> </property>配置DAO組件,以classesDAO為例,代碼如下所示<beanid="classesDAO"class=".ssms.dao.ClassesDAO"> <propertyname="sessionFactory"> <refbean="sessionFactory"/> </property> </bean>5、系統(tǒng)介紹5.1登陸界面點(diǎn)擊進(jìn)入本系統(tǒng),首先出現(xiàn)的登陸界面〔如下列圖登陸界面一〕。第一行是大標(biāo)題“學(xué)生成績(jī)管理系統(tǒng)〞,用戶(hù)可在標(biāo)題下方第一排的下拉框中選擇自己的角色,有三種選擇:管理員、教師、學(xué)生。用戶(hù)可根據(jù)自己的身份選擇適合的角色。圖登陸界面一用戶(hù)應(yīng)輸入自己的用戶(hù)名和密碼,否則會(huì)出現(xiàn)以下提示〔如圖錯(cuò)誤登陸界面一、5.1.3錯(cuò)誤登陸界面二〕。圖錯(cuò)誤登陸界面一圖5.1.3錯(cuò)誤登陸界面二假設(shè)輸入錯(cuò)誤的用戶(hù)名或密碼則會(huì)出現(xiàn)以下提示〔如圖錯(cuò)誤登陸界面三〕,每位用戶(hù)的初始密碼使自己的用戶(hù)名,進(jìn)入系統(tǒng)后可在個(gè)人信息管理界面中自行修改。圖錯(cuò)誤登陸界面三5.2管理員界面當(dāng)管理員成功進(jìn)入本系統(tǒng)后,可看到以下界面〔如下列圖管理員界面〕圖管理員界面第一行是歡送信息:“您好!‘用戶(hù)名’歡送登陸學(xué)生成績(jī)管理系統(tǒng)〞。第二行為“注銷(xiāo)〞按鈕,用戶(hù)可點(diǎn)擊此按鈕進(jìn)展注銷(xiāo)登陸,返回最開(kāi)場(chǎng)的登陸界面。第三行即為管理員可以使用的功能,包括:管理班級(jí)、管理學(xué)年、管理課程、管理學(xué)生、管理教師、分配課程和個(gè)人信息管理。下面分別介紹各個(gè)功能?!?〕、管理班級(jí)管理員可在此功能模塊進(jìn)展對(duì)班級(jí)的管理。點(diǎn)擊進(jìn)入后第一豎排為班級(jí)列表,第二豎排為編輯、刪除操作按鈕,可對(duì)班級(jí)列表進(jìn)展修改,最下面的添加按鈕可在列表中添加新的班級(jí)〔如圖管理員—管理班級(jí)界面〕。點(diǎn)擊編輯按鈕后,可對(duì)班級(jí)名稱(chēng)進(jìn)展編輯修改,點(diǎn)擊刪除按鈕可直接刪除本行班級(jí),點(diǎn)擊添加按鈕則是在班級(jí)列表的最下方添加一列新的班級(jí)名稱(chēng)。圖5.2.2〔2〕、管理學(xué)年管理員可在此功能模塊進(jìn)展對(duì)班級(jí)的管理。點(diǎn)擊進(jìn)入后第一豎排為學(xué)年列表,第二豎排說(shuō)明是否為當(dāng)前學(xué)年,第三豎排為編輯、刪除操作按鈕,可對(duì)學(xué)年列表進(jìn)展修改,最下面的添加按鈕可在列表中添加新的學(xué)年〔如圖管理員—管理學(xué)年界面〕。點(diǎn)擊編輯按鈕后,可對(duì)學(xué)年信息進(jìn)展編輯修改,點(diǎn)擊刪除按鈕可直接刪除本行數(shù)據(jù),點(diǎn)擊添加按鈕則是在班級(jí)列表的最下方添加一列新的學(xué)年信息。當(dāng)前學(xué)年列有“true〞和“false〞兩種屬性,且只能有一學(xué)年的當(dāng)前學(xué)年屬性為“true〞,其余都必須為“false〞,即只能有一學(xué)年為當(dāng)前學(xué)年。圖管理員—管理學(xué)年界面〔3〕、管理課程管理員可在此功能模塊進(jìn)展對(duì)課程的管理。點(diǎn)擊進(jìn)入后首先在學(xué)年下拉框中選擇學(xué)年,分別為每一學(xué)年管理課程。下拉框中的選項(xiàng)即為前面在管理學(xué)年模塊中所編輯設(shè)置的學(xué)年列表。第一豎排為課程列表,第二豎排為編輯、刪除操作按鈕,可對(duì)課程列表進(jìn)展修改,最下面的添加按鈕可在列表中添加新的課程名稱(chēng)〔如圖管理員—管理課程界面〕。點(diǎn)擊編輯按鈕后,可對(duì)課程名稱(chēng)進(jìn)展編輯修改,點(diǎn)擊刪除按鈕可直接刪除本行數(shù)據(jù),點(diǎn)擊添加按鈕則是在班級(jí)列表的最下方添加一列新的課程。圖管理員—管理課程界面〔4〕、管理學(xué)生管理員可在此功能模塊進(jìn)展對(duì)學(xué)生信息的管理。點(diǎn)擊進(jìn)入后首先在班級(jí)下拉框中選擇班級(jí),分別管理每一班級(jí)中的學(xué)生。下拉框中的選項(xiàng)即為前面在管理班級(jí)模塊中所編輯設(shè)置的班級(jí)列表。第一豎排為學(xué)生的**,第二豎排為學(xué)生**,第三豎排為學(xué)生性別,第四第五豎排為學(xué)生的聯(lián)系方式,即和地址,第六豎排為編輯、刪除操作按鈕,可對(duì)學(xué)生信息進(jìn)展修改,最下面的添加按鈕可在列表中添加新的學(xué)生信息〔如圖管理員—管理學(xué)生界面〕。點(diǎn)擊編輯按鈕后,可對(duì)學(xué)生信息進(jìn)展編輯修改,點(diǎn)擊刪除按鈕可直接刪除本行數(shù)據(jù),點(diǎn)擊添加按鈕則是在班級(jí)列表的最下方添加一列新的學(xué)生信息。修改學(xué)生信息時(shí)要注意,每位學(xué)生的**是唯一的,不能有一樣的**。圖管理員—管理學(xué)生界面〔5〕、管理教師管理員可在此功能模塊進(jìn)展對(duì)教師信息的管理。點(diǎn)擊進(jìn)入后即顯示所有教師的根本信息。第一豎排為教師的工號(hào),第二豎排為教師**,第三豎排為教師性別,第四第五豎排為教師的聯(lián)系方式,即和地址,第六豎排為編輯、刪除操作按鈕,可對(duì)教師信息進(jìn)展修改,最下面的添加按鈕可在列表中添加新的教師信息〔如圖管理者—管理教師界面〕。點(diǎn)擊編輯按鈕后,可對(duì)教師信息進(jìn)展編輯修改,點(diǎn)擊刪除按鈕可直接刪除本行數(shù)據(jù),點(diǎn)擊添加按鈕則是在班級(jí)列表的最下方添加一列新的教師信息。修改教師信息時(shí)要注意,每位教師的工號(hào)是唯一的,不能有一樣的工號(hào)。圖管理員—管理教師界面〔6〕、分配課程管理員可在此功能模塊進(jìn)展課程的分配。點(diǎn)擊進(jìn)入后即顯示所有課程信息。第一豎排為本課程授課教師的**,第二豎排為開(kāi)課的班級(jí)名稱(chēng),第三豎排為課程名,第四豎排為編輯、刪除操作按鈕,可對(duì)課程信息進(jìn)展修改,最下面的添加按鈕可在列表中添加新的課程信息〔如圖管理員—分配課程界面〕。點(diǎn)擊編輯按鈕后,可對(duì)課程信息進(jìn)展編輯修改,點(diǎn)擊刪除按鈕可直接刪除本行數(shù)據(jù),點(diǎn)擊添加按鈕則是在課程列表的最下方添加一列新的信息。編輯課程信息時(shí),將出現(xiàn)如下列圖所示的彈出框,第一行下拉框選擇授課教師,第二行選擇開(kāi)課的班級(jí),第三行選擇所授課程,所有選項(xiàng)都為前面模塊中所編輯設(shè)置的信息。最后點(diǎn)擊下方的“添加〞或“保存〞按鈕即可完成信息編輯。圖管理員—分配課程界面〔7〕、個(gè)人信息管理管理員可在此功能模塊進(jìn)展對(duì)本人信息的管理。點(diǎn)擊進(jìn)入后即顯示自己的用戶(hù)名和密碼〔如圖管理員—個(gè)人信息管理界面〕,用戶(hù)名固定不變,管理員可自行修改自己的密碼。圖管理員—個(gè)人信息管理界面5.3、教師界面當(dāng)教師成功進(jìn)入本系統(tǒng)后,可看到以下界面〔如下列圖教師界面〕圖教師界面第一行是歡送信息:“您好!‘用戶(hù)名’歡送登陸學(xué)生成績(jī)管理系統(tǒng)〞。第二行為“注銷(xiāo)〞按鈕,用戶(hù)可點(diǎn)擊此按鈕進(jìn)展注銷(xiāo)登陸,返回最開(kāi)場(chǎng)的登陸界面。第三行即為教師可以使用的功能,包括:查看成績(jī)、管理成績(jī)、個(gè)人信息管理。下面分別介紹各個(gè)功能?!?〕、查看成績(jī)教師可在此功能模塊觀察學(xué)生成績(jī)。點(diǎn)擊進(jìn)入后即顯示學(xué)生的成績(jī)信息,教師的權(quán)限可以查看所有學(xué)生的每科科目成績(jī)。第一行可選擇所要查看的學(xué)年以及學(xué)生的**。下拉框中的選項(xiàng)即為管理員所編輯設(shè)置的學(xué)年信息和學(xué)生信息,下方顯示的信息即系統(tǒng)根據(jù)用戶(hù)的選擇查詢(xún)數(shù)據(jù)庫(kù)后的結(jié)果。第一豎排為學(xué)年信息,第二豎排為授課教師**,第三豎排為學(xué)生**,第四豎排為學(xué)科信息,第五豎排為該學(xué)生每科的成績(jī)〔如圖教師—查看成績(jī)界面〕。此功能模塊只可顯示所要查詢(xún)的信息,不可以進(jìn)展修改刪除等編輯操作。圖教師—查看成績(jī)界面〔2〕、管理成績(jī)教師可在此功能模塊管理學(xué)生成績(jī)。點(diǎn)擊進(jìn)入后即可對(duì)學(xué)生的成績(jī)信息進(jìn)展管理,教師的權(quán)限只可以管理本人所授科目的學(xué)生成績(jī)信息。第一豎排為學(xué)年信息,第二豎排為授課教師**,第三豎排為學(xué)生**,第四豎排為學(xué)科信息,第五豎排為該學(xué)生每科的成績(jī),第六豎排為編輯、刪除操作按鈕,可對(duì)學(xué)生成績(jī)信息進(jìn)展修改,最下面的添加按鈕可在列表中添加新的學(xué)生成績(jī)〔如圖管理員—分配課程界面〕。〔如圖23.教師—管理成績(jī)界面〕。點(diǎn)擊編輯按鈕后,可對(duì)學(xué)生成績(jī)信息進(jìn)展編輯修改,點(diǎn)擊刪除按鈕可直接刪除本行數(shù)據(jù),點(diǎn)擊添加按鈕則是在成績(jī)列表的最下方添加一列新的信息。編輯學(xué)生成績(jī)信息時(shí),將出現(xiàn)如下列圖所示的彈出框,第一行下拉框選擇課程名稱(chēng),第二行選擇學(xué)生的**,第三行文本框輸入該學(xué)生此科目的成績(jī),所有選項(xiàng)都為管理員所編輯設(shè)置的信息。最后點(diǎn)擊下方的“添加〞或“保存〞按鈕即可完成信息編輯。圖教師—管理成績(jī)界面〔3〕、個(gè)人信息管理教師可在此功能模塊進(jìn)展對(duì)本人信息的管理。點(diǎn)擊進(jìn)入后即顯示自己的用戶(hù)名和密碼〔如圖教師—個(gè)人信息管理界面〕,用戶(hù)名固定不變,為本人的工號(hào),教師可自行修改自己的密碼。圖教師—個(gè)人信息管理界面5.4、學(xué)生界面當(dāng)學(xué)生成功進(jìn)入本系統(tǒng)后,可看到以下界面〔如下列圖學(xué)生界面〕圖學(xué)生界面第一行是歡送信息:“您好!‘用戶(hù)名’歡送登陸學(xué)生成績(jī)管理系統(tǒng)〞。第二行為“注銷(xiāo)〞按鈕,用戶(hù)可點(diǎn)擊此按鈕進(jìn)展注銷(xiāo)登陸,返回最開(kāi)場(chǎng)的登陸界面。第三行即為學(xué)生可以使用的功能,包括:查看成績(jī)、個(gè)人信息管理。下面分別介紹各個(gè)功能?!?〕、查看成績(jī)學(xué)生可在此功能模塊觀察學(xué)生成績(jī)。點(diǎn)擊進(jìn)入后即顯示學(xué)生的成績(jī)信息,學(xué)生的權(quán)限只可查看本人的所有科目成績(jī)。第一行可選擇所要查看的學(xué)年。下拉框中的選項(xiàng)即為管理員所編輯設(shè)置的學(xué)年信息,下方顯示的信息即系統(tǒng)根據(jù)用戶(hù)的選擇查詢(xún)數(shù)據(jù)庫(kù)后的結(jié)果。第一豎排為學(xué)年信息,第二豎排為授課教師**,第三豎排為學(xué)生**,第四豎排為學(xué)科信息,第五豎排為該學(xué)生每科的成績(jī)〔如圖學(xué)生—查看成績(jī)界面〕。此功能模塊只可顯示所要查詢(xún)的信息,不可以進(jìn)展修改刪除等編輯操作。圖學(xué)生—查看成績(jī)界面〔2〕、個(gè)人信息管理學(xué)生可在此功能模塊進(jìn)展對(duì)本人信息的管理。點(diǎn)擊進(jìn)入后即顯示自己的用戶(hù)名和密碼〔如圖學(xué)生—個(gè)人信息管理界面〕,用戶(hù)名固定不變,為本人的**,學(xué)生可自行修改自己的密碼。圖學(xué)生—個(gè)人信息管理界面6、完畢語(yǔ)學(xué)生成績(jī)管理在教學(xué)過(guò)程中起著重要的作用,使用學(xué)生成績(jī)管理系統(tǒng)將教學(xué)工作與信息化技術(shù)結(jié)合起來(lái),大大提高了工作效率,降低了管理本錢(qián)。學(xué)生成績(jī)管理系統(tǒng)對(duì)學(xué)生,教師和管理人員來(lái)說(shuō)都是一個(gè)方便的工具,速度快,出錯(cuò)少,使用價(jià)值很高。參考文獻(xiàn):[1]王珊薩師煊?數(shù)據(jù)庫(kù)系統(tǒng)概論?高等教育2008[2]飛思科技產(chǎn)品研發(fā)中心?JSP應(yīng)用開(kāi)發(fā)詳解?電子工業(yè)2002[3]楊紅軍李亞平基于ASP.NET的學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)**職業(yè)技術(shù)學(xué)院2008[4]*建華學(xué)生成績(jī)管理系統(tǒng)分析與研究**理工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院2008[5]*韜樓興華?SQLServer2000數(shù)據(jù)庫(kù)系統(tǒng)開(kāi)發(fā)實(shí)例導(dǎo)航?人民郵電2004[6]王松學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)**播送電視大學(xué)長(zhǎng)興學(xué)院2008[7]*中兵?開(kāi)發(fā)者突擊:JavaWeb主流框架整合開(kāi)發(fā)[J2EE+Struts+Hibernate+Spring]?電子工業(yè)2008[8]MikeDocherty著俞志翔譯?面向?qū)ο蠓治雠c設(shè)計(jì)?清華大學(xué)2006.[9]PaulrajPonniah著韓宏志譯?數(shù)據(jù)庫(kù)設(shè)計(jì)與開(kāi)發(fā)?清華大學(xué)2005[10]DavidCrowder.RhondaCrowderMasteringDrea2mweaver4andFireworks4[M]電子工業(yè)2001[11]Freenun,D,L&Long,M.H,AnIntroductionToSecondLanguageAcquisitionResearch[M].外語(yǔ)教學(xué)與研究2000.致謝本設(shè)計(jì)在謝永華教師的悉心指導(dǎo)和嚴(yán)格要求下業(yè)已完成,從課題選擇、方案論證到具體設(shè)計(jì)和調(diào)試,無(wú)不凝聚著謝永華教師的心血和汗水,謝永華教師認(rèn)真負(fù)責(zé)的工作態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神和深厚的理論水平都讓我受益匪淺。他無(wú)論在理論上還是在實(shí)踐中,都給予我很大的幫助,使我得到不少的提高,這對(duì)于我以后的學(xué)習(xí)有一種巨大的幫助,感謝他耐心的輔導(dǎo)。在四年的本科學(xué)習(xí)和生活期間,各位任課教師的認(rèn)真負(fù)責(zé),使我能夠很好的掌握和運(yùn)用專(zhuān)業(yè)知識(shí),并在設(shè)計(jì)中得以表達(dá)。正是有了他們的悉心幫助和支持,才使我的畢業(yè)論文工作順利完成,在此向**信息工程大學(xué)計(jì)算機(jī)與軟件學(xué)院的全體教師表示由衷的謝意,感謝他們四年來(lái)的辛勤栽培。Student’sScoreManagementSystemWang*iaoInstituteofputerandsoftware,NanjingUniversityofInformationScience&Technology,Nanjing210044AbstractThissystemusestheB/Sstructure,andthetoolsareJSPandMySQL.Thesystemmanagestudent’sbasicinformationandscore,includingtheentryandrevisionofstudent’sbasicinformation,inputingstudent’sscore,score’smanagement,searchingtheresultsandsoon,thesystemhasthreekindsofusers,accordingtopurview
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 打造安全社區(qū)的基本原則計(jì)劃
- 足球訓(xùn)練科技的發(fā)展與團(tuán)隊(duì)配合、個(gè)人技巧的進(jìn)步
- 跨文化背景下的節(jié)日慶祝習(xí)慣比較研究
- 零售業(yè)資產(chǎn)證券化的策略與實(shí)踐
- 跨區(qū)域醫(yī)療資源分配與醫(yī)養(yǎng)服務(wù)網(wǎng)絡(luò)構(gòu)建
- 質(zhì)量提升關(guān)鍵點(diǎn)之一-對(duì)標(biāo)行業(yè)標(biāo)桿的血檢儀器如精準(zhǔn)度保持措施詳解
- 廣西2025年01月廣西壯族自治區(qū)衛(wèi)生健康對(duì)外交流合作中心2025年招考工作人員筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 2025年安徽淮海實(shí)業(yè)發(fā)展集團(tuán)有限公司校園招聘筆試參考題庫(kù)附帶答案詳解
- 跨文化背景下電商平臺(tái)的發(fā)展策略
- 四年級(jí)數(shù)學(xué)下冊(cè)折線統(tǒng)計(jì)圖教案蘇教版
- 課件圍術(shù)期下肢深靜脈血栓的預(yù)防與護(hù)理
- 2025年菏澤家政職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)完美版
- 《電力變壓器》課件
- 初級(jí)鐵路線路工技能鑒定考試題庫(kù)
- 2025年度建筑垃圾運(yùn)輸與再生資源回收一體化合同樣本
- 2024新人教版英語(yǔ)七下單詞默寫(xiě)表(開(kāi)學(xué)版)
- (2025)輔警招聘公安基礎(chǔ)知識(shí)必刷題庫(kù)及參考答案
- 農(nóng)業(yè)機(jī)械設(shè)備維護(hù)與質(zhì)量保障措施
- 基于圖像處理的CAD圖紙比對(duì)算法
- 人教版六年級(jí)下冊(cè)數(shù)學(xué)第二單元百分?jǐn)?shù)(二)綜合練習(xí)卷-(附答案)
- 2025年大模型應(yīng)用落地白皮書(shū):企業(yè)AI轉(zhuǎn)型行動(dòng)指南
評(píng)論
0/150
提交評(píng)論