![學(xué)生信息管理系統(tǒng)論文1_第1頁(yè)](http://file4.renrendoc.com/view/8673394f167122865cfa7d2e85885809/8673394f167122865cfa7d2e858858091.gif)
![學(xué)生信息管理系統(tǒng)論文1_第2頁(yè)](http://file4.renrendoc.com/view/8673394f167122865cfa7d2e85885809/8673394f167122865cfa7d2e858858092.gif)
![學(xué)生信息管理系統(tǒng)論文1_第3頁(yè)](http://file4.renrendoc.com/view/8673394f167122865cfa7d2e85885809/8673394f167122865cfa7d2e858858093.gif)
![學(xué)生信息管理系統(tǒng)論文1_第4頁(yè)](http://file4.renrendoc.com/view/8673394f167122865cfa7d2e85885809/8673394f167122865cfa7d2e858858094.gif)
![學(xué)生信息管理系統(tǒng)論文1_第5頁(yè)](http://file4.renrendoc.com/view/8673394f167122865cfa7d2e85885809/8673394f167122865cfa7d2e858858095.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
學(xué)生信息管理系統(tǒng)摘要隨著學(xué)校規(guī)模的不斷擴(kuò)大,學(xué)生數(shù)量急劇增加,有關(guān)學(xué)生的各種信息也成倍增長(zhǎng)。面對(duì)如此龐大的信息量,開發(fā)學(xué)生信息管理系統(tǒng)來提高學(xué)生管理工作的效率就成為必然。通過該系統(tǒng),可以做到信息的規(guī)范管理、科學(xué)統(tǒng)計(jì)和快速查詢,從而減少管理方面的工作量。本系統(tǒng)是采用B/S模式進(jìn)行開發(fā)的,系統(tǒng)的用戶權(quán)限有兩種:學(xué)生和教師,不同權(quán)限用戶登入到不同的操作界面。該系統(tǒng)主要由學(xué)生信息管理、選課信息管理、留言板管理等功能模塊組成,本文具體介紹了各功能模塊所包含的小模塊的功能,學(xué)生信息管理模塊主要是對(duì)學(xué)生的基本信息進(jìn)行查詢、班級(jí)信息查詢、學(xué)生信息修改、成績(jī)查詢;選課信息管理模塊包括課表查詢、課程信息查詢、教師信息查詢、選課、退選等功能。關(guān)鍵字:學(xué)生信息管理、B/S、JSP、Script、MYSQLStudentInformationManagementSystemAbstractWiththeexpansionofschools,asharpincreaseinthenumberofstudents,thestudentsofavarietyofinformationisalsodoubled.Facedwithsuchalargeamountofinformation,studentsdevelopinformationmanagementsystemstoimprovetheefficiencyofthemanagementofstudentsontheinevitable.Throughthesystem,theinformationcanbestandardizedmanagement,scientificstatisticsandfastquery,therebyreducingtheworkloadofmanagement.
ThesystemisB/Smodeldeveloped,thesystemhastwotypesofuserrights:studentsandteachers,differentpermissionstodifferentuserlogininterface.Mainlybystudentsofthesysteminformationmanagement,informationmanagementcourse,managementfeaturessuchasmessageboardmodules,thisarticledetailsthevariousfunctionalmodulesincludedinthefunctionofsmallmodules,studentinformationmanagementmoduleisthebasicinformationforstudentstoconductinquiries,classinformation,studentinformationchangesscoreinquiries;coursecurriculuminformationmanagementmodule,includinginformation,curriculuminformation,teacherinformationquery,coursequery,withdrawfromtheelectionandotherfunctions.KeyWords:studentinformationmanagement、B/S、JSP、Script、MYSQL目錄摘要 3前言 8第1章緒論 9第1.1節(jié)選題的背景和意義 9第1.2節(jié)國(guó)內(nèi)外研究現(xiàn)狀及發(fā)展趨勢(shì) 9第1.3節(jié)本課題研究?jī)?nèi)容 10第1.4節(jié)本課題研究的目標(biāo)及主要特色 10第2章系統(tǒng)設(shè)計(jì)使用技術(shù)介紹 11第節(jié)JSP(JavaServerPages)和JavaBean技術(shù)介紹 11、JSP技術(shù)在多個(gè)方面加速了動(dòng)態(tài)Web頁(yè)面的開發(fā): 11 B/S體系結(jié)構(gòu)介紹 13 JavaScrit技術(shù)介紹 14、JavaScript技術(shù)的特點(diǎn) 14第2.4節(jié)數(shù)據(jù)庫(kù)介紹 15、MYSQL數(shù)據(jù)庫(kù) 16、ODBC數(shù)據(jù)訪問接口 16第3章系統(tǒng)概要設(shè)計(jì) 18第節(jié)需求分析 18第節(jié)運(yùn)行環(huán)境 18、服務(wù)器 18、客戶機(jī) 18第節(jié)系統(tǒng)結(jié)構(gòu)圖 183.3.1HIPO圖 183.3.2E-R圖 193.4邏輯模型的描述 20第4章數(shù)據(jù)庫(kù)設(shè)計(jì) 214.1總體表設(shè)計(jì) 214.2數(shù)據(jù)庫(kù)表的結(jié)構(gòu) 214.3數(shù)據(jù)庫(kù)連接代碼 23第5章系統(tǒng)詳細(xì)設(shè)計(jì) 255.1系統(tǒng)流程圖 255.2登陸模塊 25系統(tǒng)主界面-登陸界面 255.2.2登陸流程圖 265.2.3功能介紹 265.2.4登陸成功界面 275.2.5用戶登錄的主要代碼實(shí)現(xiàn) 275.3學(xué)生信息管理模塊 295.3.1學(xué)生信息管理主界面 295.3.2班級(jí)信息查詢 295.3.3學(xué)生詳細(xì)信息查詢 315.3.4學(xué)生信息修改 315.3.5密碼修改 325.3.6成績(jī)查詢 345.4選課信息管理模塊 365.4.1選課信息管理主界面 365.4.2查看課表 375.4.3查看課程列表 375.4.4查看教師信息 385.4.5選課 385.4.6退選 395.5留言板模塊 395.5.1留言板主界面 395.5.2瀏覽留言板信息 405.5.3留言主題評(píng)分 405.5.4主題評(píng)論 41添加留言版信息 415.6新聞模塊 425.6.1新聞主頁(yè) 425.6.2查看新聞 43結(jié)論 44參考文獻(xiàn) 45前言學(xué)生信息管理系統(tǒng)(SMIS)是大學(xué)信息管理系統(tǒng)建設(shè)的重要組成部分,是提高教學(xué)管理的質(zhì)量和效益乃至建設(shè)知名高水平大學(xué)的關(guān)鍵環(huán)節(jié)。學(xué)生信息處理的電腦化、網(wǎng)絡(luò)化,也是實(shí)現(xiàn)學(xué)校管理現(xiàn)代化和信息化的重要內(nèi)容。學(xué)生信息管理系統(tǒng)的內(nèi)容對(duì)于學(xué)校的決策者和管理者來說都至關(guān)重要,所以學(xué)生信息管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄巍5恢币詠砣藗兪褂脗鹘y(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多缺點(diǎn),如:效率低、保密性差,另外時(shí)間一長(zhǎng),將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都帶來了不少的困難。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)學(xué)生信息進(jìn)行管理,具有手工管理所無(wú)法比擬的優(yōu)點(diǎn)。例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高學(xué)生檔案管理的效率,也是進(jìn)行科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。因此,開發(fā)一套采用B/S結(jié)構(gòu)的學(xué)生信息管理系統(tǒng)就成為必要的事情。本系統(tǒng)正是采用B/S結(jié)構(gòu)開發(fā)的,該系統(tǒng)主要由學(xué)生信息管理、選課管理、留言板等功能模塊組成,實(shí)現(xiàn)學(xué)生基本信息管理、學(xué)生選修課程管理以及留言板管理等。本文將在后面一一加以詳細(xì)闡述.第1章緒論選題的背景和意義目前國(guó)家的教育體制也正處在不斷改革、創(chuàng)新的階段,我國(guó)教育部門充分吸取國(guó)外優(yōu)秀的教學(xué)模式,結(jié)合國(guó)內(nèi)多年的辦學(xué)經(jīng)驗(yàn),逐步探索出適合中國(guó)特色的教學(xué)形式,因此國(guó)家教育部面向各級(jí)各類學(xué)校開展了全面學(xué)分制改革。因此,各院校迫切學(xué)要對(duì)自己的現(xiàn)有學(xué)生管理系統(tǒng)進(jìn)行改進(jìn)和提高,根據(jù)國(guó)內(nèi)大學(xué)的現(xiàn)在管理模式,結(jié)合國(guó)際新的思想觀念,在校園網(wǎng)絡(luò)環(huán)境下建設(shè)先進(jìn)的、與國(guó)際水平接軌的信息化管理平臺(tái)。提高學(xué)校管理工作的現(xiàn)代化水平,使之成為學(xué)校公共信息服務(wù)體系的重要組成部分。因此,學(xué)生信息管理系統(tǒng)應(yīng)充分依托校園網(wǎng),實(shí)現(xiàn)學(xué)生信息的集中管理、分散操作、信息共享,使傳統(tǒng)的學(xué)生管理朝數(shù)字化、無(wú)紙化、智能化、綜合化的方向發(fā)展,并為進(jìn)一步實(shí)現(xiàn)完善的計(jì)算機(jī)學(xué)生管理系統(tǒng)和全校信息系統(tǒng)打下良好的基礎(chǔ)。在這樣的大環(huán)境下,我們選擇了“學(xué)生信息管理系統(tǒng)”這個(gè)設(shè)計(jì)題目,符合實(shí)際需求?!秾W(xué)生信息管理系統(tǒng)》系統(tǒng)是高校教學(xué)、學(xué)生管理系統(tǒng)網(wǎng)站。熟悉學(xué)生管理工作的全部過程,從學(xué)生工作的實(shí)際出發(fā),解決工作中關(guān)鍵性的難點(diǎn)問題,并充分利用計(jì)算機(jī)網(wǎng)絡(luò)功能,實(shí)現(xiàn)學(xué)生工作全過程的計(jì)算機(jī)管理,幫助具體管理人員從復(fù)雜煩瑣工作中解放出來。使得教務(wù)管理走向無(wú)紙化辦公和規(guī)范化、現(xiàn)代化管理,使傳統(tǒng)的由人工事務(wù)性管理模式轉(zhuǎn)化為借助現(xiàn)代化技術(shù)和手段實(shí)現(xiàn)的科學(xué)化管理模式,不僅節(jié)省人力和物力,而且提高辦公效率。國(guó)內(nèi)外研究現(xiàn)狀及發(fā)展趨勢(shì)大學(xué)學(xué)生管理是大學(xué)的主要日常管理工作之一,涉及到學(xué)生的諸多方面,隨著教學(xué)體制的不斷改革,尤其是學(xué)分制、選課制的展開和深入,學(xué)生日常管理工作日趨繁重、復(fù)雜。迫切需要研制開發(fā)一個(gè)基于INTERNET網(wǎng)的綜合網(wǎng)上教育管理軟件。國(guó)外高校一般具有較大規(guī)模的穩(wěn)定的技術(shù)隊(duì)伍來提供服務(wù)與技術(shù)支持。國(guó)內(nèi)高校信息化建設(shè)相對(duì)起步較晚。在數(shù)字校園理論逐步應(yīng)用的過程中,各高校一方面不斷投資購(gòu)建各種硬件、系統(tǒng)軟件和網(wǎng)絡(luò),另一方面也不斷開發(fā)實(shí)施了各類教學(xué)、科研、辦公管理等應(yīng)用系統(tǒng),形成了一定規(guī)模的信息化建設(shè)體系。但是,由于整體信息化程度相對(duì)落后,經(jīng)費(fèi)短缺,理論體系不健全等原因,國(guó)內(nèi)高校學(xué)生管理系統(tǒng)在機(jī)構(gòu)設(shè)置、服務(wù)范圍、服務(wù)質(zhì)量及人員要求上與國(guó)外高校相比都有一定的差距。本課題研究?jī)?nèi)容本系統(tǒng)是一款資源型管理軟件,適用于普通高等教育學(xué)生的管理工作,具有豐富,完整,規(guī)范的內(nèi)容和比較完善的功能.是一個(gè)適用于高等院校或各類??茖W(xué)校學(xué)生工作管理部門的計(jì)算機(jī)輔助管理系統(tǒng),它具備高校學(xué)生工作部門的學(xué)生管理的日常事務(wù)性工作及各類數(shù)據(jù)的自動(dòng)化處理功能.從學(xué)生的入學(xué)檔案,學(xué)籍檔案,在線選課,學(xué)習(xí)成績(jī)綜合測(cè)評(píng),到學(xué)生畢業(yè)信息管理的全部業(yè)務(wù)功能.本系統(tǒng)初步計(jì)劃使用java和jsp技術(shù),使用mysql數(shù)據(jù)庫(kù),使用服務(wù)器搭建,突破點(diǎn)在于如何合理設(shè)計(jì)數(shù)據(jù)庫(kù)和系統(tǒng)框架。系統(tǒng)具有用戶界面友好,簡(jiǎn)單,操作方便,功能強(qiáng)大,使學(xué)生信息管理的各個(gè)方面得以充分的體現(xiàn),真正便于學(xué)校的教學(xué)管理。本課題研究的目標(biāo)及主要特色本系統(tǒng)采用j2ee平臺(tái),開發(fā)成網(wǎng)站式在線學(xué)生信息管理平臺(tái),使管理工作隨時(shí)隨地只要聯(lián)接互聯(lián)網(wǎng)救可以展開,系統(tǒng)使用j2ee技術(shù)結(jié)合tomcat服務(wù)器和mysql數(shù)據(jù)庫(kù),重點(diǎn)在于研究數(shù)據(jù)庫(kù)設(shè)計(jì)和程序模塊結(jié)構(gòu)。結(jié)合以前的項(xiàng)目實(shí)踐,我認(rèn)為此系統(tǒng)是可行的。在對(duì)現(xiàn)流行的Web開發(fā)技術(shù)研究的基礎(chǔ)上進(jìn)行篩選和比較之后,選擇J2EE架構(gòu)作為系統(tǒng)的整體架構(gòu),系統(tǒng)采用MVC模式進(jìn)行開發(fā),做到了視圖、控制、模型三部分的分離,使軟件的開發(fā)與維護(hù)更加方便。第2章系統(tǒng)設(shè)計(jì)使用技術(shù)介紹第2.1節(jié)JSP(JavaServerPages)和JavaBean技術(shù)介紹JSP(JavaServerPages)是由SunMicrosystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn),其網(wǎng)址為。該技術(shù)為創(chuàng)建顯示動(dòng)態(tài)生成內(nèi)容的Web頁(yè)面提供了一個(gè)簡(jiǎn)捷而快速的方法。JSP技術(shù)的設(shè)計(jì)目的是使得構(gòu)造基于Web的應(yīng)用程序更加容易和快捷,而這些應(yīng)用程序能夠與各種Web服務(wù)器,應(yīng)用服務(wù)器,瀏覽器和開發(fā)工具共同工作。JSP規(guī)范是Web服務(wù)器、應(yīng)用服務(wù)器、交易系統(tǒng)、以及開發(fā)工具供應(yīng)商間廣泛合作的結(jié)果。在傳統(tǒng)的網(wǎng)頁(yè)HTML文件(*htm,*.html)中加入Java程序片段(Scriptlet)和JSP標(biāo)記(tag),就構(gòu)成了JSP網(wǎng)頁(yè)(*.jsp)。Web服務(wù)器在遇到訪問JSP網(wǎng)頁(yè)的請(qǐng)求時(shí),首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié)果以HTML格式返回給客戶。程序片段可以操作數(shù)據(jù)庫(kù)、重新定向網(wǎng)頁(yè)以及發(fā)送email等等,這就是建立動(dòng)態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,對(duì)客戶瀏覽器的要求最低,可以實(shí)現(xiàn)無(wú)Plugin,無(wú)ActiveX,無(wú)JavaApplet,甚至無(wú)Frame。2.2.1、JSP技術(shù)在多個(gè)方面加速了動(dòng)態(tài)Web頁(yè)面的開發(fā):(1)將內(nèi)容的生成和顯示進(jìn)行分離使用JSP技術(shù),Web頁(yè)面開發(fā)人員可以使用HTML或者XML標(biāo)識(shí)來設(shè)計(jì)和格式化最終頁(yè)面。使用JSP標(biāo)識(shí)或者小腳本來生成頁(yè)面上的動(dòng)態(tài)內(nèi)容(內(nèi)容是根據(jù)請(qǐng)求來變化的,例如請(qǐng)求帳戶信息或者特定的一瓶酒的價(jià)格)。生成內(nèi)容的邏輯被封裝在標(biāo)識(shí)和JavaBeans組件中,并且捆綁在小腳本中,所有的腳本在服務(wù)器端運(yùn)行。如果核心邏輯被封裝在標(biāo)識(shí)和Beans中,那么其他人,如Web管理人員和頁(yè)面設(shè)計(jì)者,能夠編輯和使用JSP頁(yè)面,而不影響內(nèi)容的生成。在服務(wù)器端,JSP引擎解釋JSP標(biāo)識(shí)和小腳本,生成所請(qǐng)求的內(nèi)容(例如,通過訪問JavaBeans組件,使用JDBCTM技術(shù)訪問數(shù)據(jù)庫(kù),或者包含文件),并且將結(jié)果以HTML(或者XML)頁(yè)面的形式發(fā)送回瀏覽器。這有助于作者保護(hù)自己的代碼,而又保證任何基于HTML的Web瀏覽器的完全可用性。(2)強(qiáng)調(diào)可重用的組件絕大多數(shù)JSP頁(yè)面依賴于可重用的,跨平臺(tái)的組件(JavaBeans或者EnterpriseJavaBeansTM組件)來執(zhí)行應(yīng)用程序所要求的更為復(fù)雜的處理。開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者或者客戶團(tuán)體所使用。基于組件的方法加速了總體開發(fā)過程,并且使得各種組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開發(fā)努力中得到平衡。(3)采用標(biāo)識(shí)簡(jiǎn)化頁(yè)面開發(fā)Web頁(yè)面開發(fā)人員不會(huì)都是熟悉腳本語(yǔ)言的編程人員。JavaServerPage技術(shù)封裝了許多功能,這些功能是在易用的、與JSP相關(guān)的XML標(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í)的功能。通過開發(fā)定制化標(biāo)識(shí)庫(kù),JSP技術(shù)是可以擴(kuò)展的。今后,第三方開發(fā)人員和其他人員可以為常用功能創(chuàng)建自己的標(biāo)識(shí)庫(kù)。這使得Web頁(yè)面開發(fā)人員能夠使用熟悉的工具和如同標(biāo)識(shí)一樣的執(zhí)行特定功能的構(gòu)件來工作。JSP技術(shù)很容易整合到多種應(yīng)用體系結(jié)構(gòu)中,以利用現(xiàn)存的工具和技巧,并且擴(kuò)展到能夠支持企業(yè)級(jí)的分布式應(yīng)用。作為采用Java技術(shù)家族的一部分,以及Java2(企業(yè)版體系結(jié)構(gòu))的一個(gè)組成部分,JSP技術(shù)能夠支持高度復(fù)雜的基于Web的應(yīng)用。由于JSP頁(yè)面的內(nèi)置腳本語(yǔ)言是基于Java編程語(yǔ)言的,而且所有的JSP頁(yè)面都被編譯成為JavaServlet,JSP頁(yè)面就具有Java技術(shù)的所有好處,包括健壯的存儲(chǔ)管理和安全性。作為Java平臺(tái)的一部分,JSP擁有Java編程語(yǔ)言“一次編寫,各處運(yùn)行”的特點(diǎn)。隨著越來越多的供應(yīng)商將JSP支持添加到他們的產(chǎn)品中,您可以使用自己所選擇的服務(wù)器和工具,更改工具或服務(wù)器并不影響當(dāng)前的應(yīng)用。當(dāng)與Java2平臺(tái),企業(yè)版(J2EE)和EnterpriseJavaBean技術(shù)整合時(shí),JSP頁(yè)面將提供企業(yè)級(jí)的擴(kuò)展性和性能,這對(duì)于在虛擬企業(yè)中部署基于Web的應(yīng)用是必需的。(4)技術(shù)分析Microsoft公司的ASP技術(shù)也是動(dòng)態(tài)網(wǎng)頁(yè)開發(fā)技術(shù)。JSP和ASP從形式上非常相似,ASP程序員一眼就能認(rèn)出<%%>以及<%=%>。但是深入探究下去會(huì)發(fā)現(xiàn)它們很多的差別,其中最主要的有以下三點(diǎn):JSP的效率和安全性更高ASP以源碼形式存放,以解釋方式運(yùn)行,每次ASP網(wǎng)頁(yè)調(diào)用都需要對(duì)源碼進(jìn)行解釋,運(yùn)行效率不高。JSP在執(zhí)行以前先被編譯成字節(jié)碼(bytecode),字節(jié)碼由Java虛擬機(jī)(JavaVirtualMachine)解釋執(zhí)行,比源碼解釋的效率高;服務(wù)器上還有字節(jié)碼的Cache機(jī)制,能提高字節(jié)碼的訪問效率。第一次調(diào)用JSP網(wǎng)頁(yè)可能稍慢,因?yàn)樗痪幾g成Cache,以后就快得多了。同時(shí),JSP源程序不大可能被下載,特別是JavaBean程序完全可以放到不對(duì)外的目錄中。JSP的組件(Component)方式更方便ASP通過COM來擴(kuò)充復(fù)雜的功能,如文件上載、發(fā)送email以及將業(yè)務(wù)處理或者復(fù)雜計(jì)算分離出來成為獨(dú)立可重復(fù)利用的模塊。JSP通過JavaBean實(shí)現(xiàn)了同樣的功能擴(kuò)充。在開發(fā)方面,COM的開發(fā)遠(yuǎn)比JavaBean復(fù)雜和繁瑣,學(xué)會(huì)ASP不難,但學(xué)會(huì)開發(fā)COM可不簡(jiǎn)單。在維護(hù)方面,COM必須在服務(wù)器上注冊(cè),如果修改了COM程序,就必須重新注冊(cè),甚至必須關(guān)機(jī)和重新啟動(dòng)。JavaBean則不需要注冊(cè),放在CLASSPATH包含的目錄中就行了。如果JavaBean進(jìn)行了修改,則JSWDK和Tomcat現(xiàn)在還需要關(guān)閉和重新運(yùn)行(但不是關(guān)機(jī)),但開發(fā)者已經(jīng)許諾將在以后的版本中做到不需要關(guān)閉服務(wù)器。另外JavaBean是完全的OOP,可以針對(duì)不同的業(yè)務(wù)處理功能方便地建立一整套可重復(fù)利用的對(duì)象庫(kù),例如用戶權(quán)限控制、email自動(dòng)回復(fù)等等。JSP的適應(yīng)平臺(tái)更廣JavaBean是一種基于Java的軟件組件。JSP對(duì)于在Web應(yīng)用中集成JavaBean組件提供了完善的支持。這種支持不僅能縮短開發(fā)時(shí)間(可以直接利用經(jīng)測(cè)試和可信任的已有組件,避免了重復(fù)開發(fā)),也為JSP應(yīng)用帶來了更多的可伸縮性。JavaBean組件可以用來執(zhí)行復(fù)雜的計(jì)算任務(wù),或負(fù)責(zé)與數(shù)據(jù)庫(kù)的交互以及數(shù)據(jù)提取等。如果我們有三個(gè)JavaBean,它們分別具有顯示新聞、股票價(jià)格、天氣情況的功能,則創(chuàng)建包含所有這三種功能的Web頁(yè)面只需要實(shí)例化這三個(gè)Bean,使用HTML表格將它們依次定位就可以了。B/S體系結(jié)構(gòu)介紹B/S結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過WWW瀏覽器來實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),形成所謂三層3-tier結(jié)構(gòu)。這樣就大大簡(jiǎn)化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶的總體成本(TCO)。JavaScrit技術(shù)介紹2.3.1、JavaScript技術(shù)的特點(diǎn)JavaScript是一種基于對(duì)象(Object)和事件驅(qū)動(dòng)(EventDriven)并具有安全性能的腳本語(yǔ)言。使用它的目的是與HTML超文本標(biāo)記語(yǔ)言、Java腳本語(yǔ)言(Java小程序)一起實(shí)現(xiàn)在一個(gè)Web頁(yè)面中鏈接多個(gè)對(duì)象,與Web客戶交互作用。從而可以開發(fā)客戶端的應(yīng)用程序等。它是通過嵌入或調(diào)入在標(biāo)準(zhǔn)的HTML語(yǔ)言中實(shí)現(xiàn)的。它的出現(xiàn)彌補(bǔ)了HTML語(yǔ)言的缺陷,它是Java與HTML折衷的選擇,具有以下幾個(gè)基本特點(diǎn):(1)是一種腳本編寫語(yǔ)言JavaScript是一種腳本語(yǔ)言,它采用小程序段的方式實(shí)現(xiàn)編程。像其它腳本語(yǔ)言一樣,JavaScript同樣已是一種解釋性語(yǔ)言,它提供了一個(gè)易的開發(fā)過程。它的基本結(jié)構(gòu)形式與C、C++、VB、Delphi十分類似。但它不像這些語(yǔ)言一樣,需要先編譯,而是在程序運(yùn)行過程中被逐行地解釋。它與HTML標(biāo)識(shí)結(jié)合在一起,從而方便用戶的使用操作。(2)基于對(duì)象的語(yǔ)言JavaScript是一種基于對(duì)象的語(yǔ)言,同時(shí)以可以看作一種面向?qū)ο蟮?。這意味著它能運(yùn)用自己已經(jīng)創(chuàng)建的對(duì)象。因此,許多功能可以來自于腳本環(huán)境中對(duì)象的方法與腳本的相互作用。(3)簡(jiǎn)單性JavaScript的簡(jiǎn)單性主要體現(xiàn)在:首先它是一種基于Java基本語(yǔ)句和控制流之上的簡(jiǎn)單而緊湊的設(shè)計(jì),從而對(duì)于學(xué)習(xí)Java是一種非常好的過渡。其次它的變量類型是采用弱類型,并未使用嚴(yán)格的數(shù)據(jù)類型。(5)安全性JavaScript是一種安全性語(yǔ)言,它不允許訪問本地的硬盤,并不能將數(shù)據(jù)存入到服務(wù)器上,不允許對(duì)網(wǎng)絡(luò)文檔進(jìn)行修改和刪除,只能通過瀏覽器實(shí)現(xiàn)信息瀏覽或動(dòng)態(tài)交互。從而有效地防止數(shù)據(jù)的丟失。(6)動(dòng)態(tài)性JavaScript是動(dòng)態(tài)的,它可以直接對(duì)用戶或客戶輸入做出響應(yīng),無(wú)須經(jīng)過Web服務(wù)程序。它對(duì)用戶的反映響應(yīng),是采用以事件驅(qū)動(dòng)的方式進(jìn)行的。所謂事件驅(qū)動(dòng),就是指在主頁(yè)(HomePage)中執(zhí)行了某種操作所產(chǎn)生的動(dòng)作,就稱為“事件”(Event)。比如按下鼠標(biāo)、移動(dòng)窗口、選擇菜單等都可以視為事件。當(dāng)事件發(fā)生后,可能會(huì)引起相應(yīng)的事件響應(yīng)。(7)跨平臺(tái)性JavaScript是依賴于瀏覽器本身,與操作環(huán)境無(wú)關(guān),只要能運(yùn)行瀏覽器的計(jì)算機(jī),并支持JavaScript的瀏覽器就可正確執(zhí)行。從而實(shí)現(xiàn)了“編寫一次,走遍天下”的夢(mèng)想。實(shí)際上JavaScript最杰出之處在于可以用很小的程序做大量的事。無(wú)須有高性能的電腦,軟件僅需一個(gè)字處理軟件及一瀏覽器,無(wú)須WEB服務(wù)器通道,通過自己的電腦即可完成所有的事情。綜合所述JavaScript是一種新的描述語(yǔ)言,它可以被箝入到HTML的文件之中。JavaScript語(yǔ)言可以做到回應(yīng)使用者的需求事件(如:form的輸入),而不用任何的網(wǎng)路來回傳輸資料,所以當(dāng)一位使用者輸入一項(xiàng)資料時(shí),它不用經(jīng)過傳給伺服端(server)處理,再傳回來的過程,而直接可以被客戶端(client)的應(yīng)用程式所處理。JavaScript和Java很類似,但到底并不一樣。Java是一種比JavaScript更復(fù)雜許多的程式語(yǔ)言,而JavaScript則是相當(dāng)容易了解的語(yǔ)言。數(shù)據(jù)庫(kù)介紹數(shù)據(jù)庫(kù)是依照某種數(shù)據(jù)模型組織起來并存放二級(jí)存儲(chǔ)器中的數(shù)據(jù)集合。這種數(shù)據(jù)集合具有如下特點(diǎn):盡可能不重復(fù),以最優(yōu)方式為某個(gè)特定組織的多種應(yīng)用服務(wù),其數(shù)據(jù)結(jié)構(gòu)獨(dú)立于使用它的應(yīng)用程序,對(duì)數(shù)據(jù)的增、刪、改和檢索由統(tǒng)一軟件進(jìn)行管理和控制。從發(fā)展的歷史看,數(shù)據(jù)庫(kù)是數(shù)據(jù)管理的高級(jí)階段,它是由文件管理系統(tǒng)發(fā)展起來的。、MYSQL數(shù)據(jù)庫(kù)MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),開發(fā)者為瑞典MySQLAB公司。目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。2.4.2、ODBC數(shù)據(jù)訪問接口ODBC(OpenDatabaseConnectivity,開放數(shù)據(jù)庫(kù)互連)是微軟公司開放服務(wù)結(jié)構(gòu)(WOSA,WindowsOpenServicesArchitecture)中有關(guān)數(shù)據(jù)庫(kù)的一個(gè)組成部分,它建立了一組規(guī)范,并提供了一組對(duì)數(shù)據(jù)庫(kù)訪問的標(biāo)準(zhǔn)API(應(yīng)用程序編程接口)。這些API利用SQL來完成其大部分任務(wù)。ODBC本身也提供了對(duì)SQL語(yǔ)言的支持,用戶可以直接將SQL語(yǔ)句送給ODBC。一個(gè)基于ODBC的應(yīng)用程序?qū)?shù)據(jù)庫(kù)的操作不依賴任何DBMS,不直接與DBMS打交道,所有的數(shù)據(jù)庫(kù)操作由對(duì)應(yīng)的DBMS的ODBC驅(qū)動(dòng)程序完成。也就是說,不論是FoxPro、Access,MYSQL還是Oracle數(shù)據(jù)庫(kù),均可用ODBCAPI進(jìn)行訪問。由此可見,ODBC的最大優(yōu)點(diǎn)是能以統(tǒng)一的方式處理所有的數(shù)據(jù)庫(kù)。應(yīng)用程序要訪問一個(gè)數(shù)據(jù)庫(kù),首先必須用ODBC管理器注冊(cè)一個(gè)數(shù)據(jù)源,管理器根據(jù)數(shù)據(jù)源提供的數(shù)據(jù)庫(kù)位置、數(shù)據(jù)庫(kù)類型及ODBC驅(qū)動(dòng)程序等信息,建立起ODBC與具體數(shù)據(jù)庫(kù)的聯(lián)系。這樣,只要應(yīng)用程序?qū)?shù)據(jù)源名提供給ODBC,ODBC就能建立起與相應(yīng)數(shù)據(jù)庫(kù)的連接。在ODBC中,ODBCAPI不能直接訪問數(shù)據(jù)庫(kù),必須通過驅(qū)動(dòng)程序管理器與數(shù)據(jù)庫(kù)交換信息。驅(qū)動(dòng)程序管理器負(fù)責(zé)將應(yīng)用程序?qū)DBCAPI的調(diào)用傳遞給正確的驅(qū)動(dòng)程序,而驅(qū)動(dòng)程序在執(zhí)行完相應(yīng)的操作后,將結(jié)果通過驅(qū)動(dòng)程序管理器返回給應(yīng)用程序。2.4.3JDBC數(shù)據(jù)訪問接口JDBC(JavaDataBaseConnectivity,java數(shù)據(jù)庫(kù)連接)是一種用于執(zhí)行SQL語(yǔ)句的JavaAPI,可以為多種關(guān)系數(shù)據(jù)庫(kù)提供統(tǒng)一訪問,它由一組用Java語(yǔ)言編寫的類和接口組成。JDBC為工具/數(shù)據(jù)庫(kù)開發(fā)人員提供了一個(gè)標(biāo)準(zhǔn)的API,據(jù)此可以構(gòu)建更高級(jí)的工具和接口,使數(shù)據(jù)庫(kù)開發(fā)人員能夠用純JavaAPI編寫數(shù)據(jù)庫(kù)應(yīng)用程序,同時(shí),JDBC也是個(gè)商標(biāo)名。有了JDBC,向各種關(guān)系數(shù)據(jù)發(fā)送SQL語(yǔ)句就是一件很容易的事。換言之,有了JDBCAPI,就不必為訪問Sybase數(shù)據(jù)庫(kù)專門寫一個(gè)程序,為訪問Oracle數(shù)據(jù)庫(kù)又專門寫一個(gè)程序,或?yàn)樵L問Informix數(shù)據(jù)庫(kù)又編寫另一個(gè)程序等等,程序員只需用JDBCAPI寫一個(gè)程序就夠了,它可向相應(yīng)數(shù)據(jù)庫(kù)發(fā)送SQL調(diào)用。同時(shí),將Java語(yǔ)言和JDBC結(jié)合起來使程序員不必為不同的平臺(tái)編寫不同的應(yīng)用程序,只須寫一遍程序就可以讓它在任何平臺(tái)上運(yùn)行,這也是Java語(yǔ)言“編寫一次,處處運(yùn)行”的優(yōu)勢(shì)。Java數(shù)據(jù)庫(kù)連接體系結(jié)構(gòu)是用于Java應(yīng)用程序連接數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)方法。JDBC對(duì)Java程序員而言是API,對(duì)實(shí)現(xiàn)與數(shù)據(jù)庫(kù)連接的服務(wù)提供商而言是接口模型。作為API,JDBC為程序開發(fā)提供標(biāo)準(zhǔn)的接口,并為數(shù)據(jù)庫(kù)廠商及第三方中間件廠商實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的連接提供了標(biāo)準(zhǔn)方法。JDBC使用已有的SQL標(biāo)準(zhǔn)并支持與其它數(shù)據(jù)庫(kù)連接標(biāo)準(zhǔn),如ODBC之間的橋接。JDBC實(shí)現(xiàn)了所有這些面向標(biāo)準(zhǔn)的目標(biāo)并且具有簡(jiǎn)單、嚴(yán)格類型定義且高性能實(shí)現(xiàn)的接口。Java具有堅(jiān)固、安全、易于使用、易于理解和可從網(wǎng)絡(luò)上自動(dòng)下載等特性,是編寫數(shù)據(jù)庫(kù)應(yīng)用程序的杰出語(yǔ)言。所需要的只是Java應(yīng)用程序與各種不同數(shù)據(jù)庫(kù)之間進(jìn)行對(duì)話的方法。而JDBC正是作為此種用途的機(jī)制。JDBC擴(kuò)展了Java的功能。例如,用Java和JDBCAPI可以發(fā)布含有applet的網(wǎng)頁(yè),而該applet使用的信息可能來自遠(yuǎn)程數(shù)據(jù)庫(kù)企業(yè)也可以用JDBC通過Internet將所有職員連到一個(gè)或多個(gè)內(nèi)部數(shù)據(jù)庫(kù)中(即使這些職員所用的計(jì)算機(jī)有Windows、Macintosh和UNIX等各種不同的操作系統(tǒng))。隨著越來越多的程序員開始使用Java編程語(yǔ)言,對(duì)從Java中便捷地訪問數(shù)據(jù)庫(kù)的要求也在日益增加。第3章系統(tǒng)概要設(shè)計(jì)第3.1節(jié)需求分析學(xué)生信息管理系統(tǒng)是對(duì)學(xué)生的基本信息和成績(jī)信息進(jìn)行管理,主要包括添加、修改和刪除學(xué)生的基本信息,錄入、修改和刪除學(xué)生的成績(jī)信息,對(duì)基本信息、成績(jī)信息進(jìn)行查詢、排序等操作,以及留言板,重要信息通知等功能,從而實(shí)現(xiàn)學(xué)生信息管理的自動(dòng)化與計(jì)算機(jī)化。第3.2節(jié)運(yùn)行環(huán)境3.2.1、服務(wù)器CPU:P42.0G以上內(nèi)存:512M硬盤:60G以上網(wǎng)絡(luò):100M/1000MEthenet3.2.2、客戶機(jī)CPU:500Mz內(nèi)存:64M以上硬盤:1G以上網(wǎng)絡(luò):10MEthenet系統(tǒng)結(jié)構(gòu)圖3.3.1HIPO圖HIPO如圖3·1所示學(xué)生信息管理系統(tǒng)學(xué)生信息管理系統(tǒng)學(xué)生信息管理學(xué)生選課管理班級(jí)學(xué)生信息查詢學(xué)生詳細(xì)信息查詢學(xué)生信息修改密碼修改查看課表查看課程列表查看教師信息選課退課成績(jī)查詢圖3·1HIPO圖3.3.2E-R圖E-R如圖3·2所示:圖3·2E-R圖3.4邏輯模型的描述系統(tǒng)可實(shí)現(xiàn)學(xué)生信息管理和選課信息管理,其中學(xué)生信息管理可以實(shí)現(xiàn)對(duì)學(xué)生信息的查看,班級(jí)信息的查看,學(xué)生信息的修改,密碼的修改和成績(jī)的查詢;選課信息管理可以實(shí)現(xiàn)選課,課表查詢,課程查詢,老師查詢,退選等功能。第4章數(shù)據(jù)庫(kù)設(shè)計(jì)4.1總體表設(shè)計(jì)根據(jù)需求,本系統(tǒng)要有學(xué)生信息表,教師信息表,授課信息表,選課信息表;其中,學(xué)生屬于班級(jí),選課表用到學(xué)生信息表,教師信息表,課程信息表,成績(jī)表。4.2數(shù)據(jù)庫(kù)表的結(jié)構(gòu)學(xué)生信息表如表4·1所示:表4·1學(xué)生信息表表名Student_info主鍵字段Stu_id,class_id中文表名(功能描述)用戶信息表字段字段名稱字段類型長(zhǎng)度主外鍵關(guān)聯(lián)允許空備注StuId學(xué)號(hào)Varchar8主鍵否NAME用戶名Varchar20否Sex性別Char1否Class_id班號(hào)Varchar8主鍵否Come_from來自Varchar20College_id學(xué)院Varchar20主鍵否Email郵箱Varchar20Adress地址Varchar20Specialty專業(yè)Varchar20Age年齡Int4PASSWORD密碼varchar45否教師表如表4·2所示:表4·2教師表表名teach_info主鍵字段id中文表名(功能描述)教師表字段字段名稱字段類型長(zhǎng)度主外鍵關(guān)聯(lián)允許空備注id教師號(hào)Varchar8主鍵否name姓名varchar20否College學(xué)院Varchar8否Sex性別Char1否Title職稱Varchar20Description簡(jiǎn)介Text課程信息表如表4·3所示:表4·3課程信息表表名course_info主鍵字段course_id中文表名(功能描述)課程信息表字段字段名稱字段類型長(zhǎng)度主外鍵關(guān)聯(lián)允許空備注course_id課程編號(hào)Varchar8主鍵否course_name課程名varchar45否teach_id授課老師varchar45否period學(xué)期Int1否begintime開始時(shí)間Int2否endtime結(jié)束時(shí)間Int2否classroom教室Varchar10否week課時(shí)Int1否remark簡(jiǎn)介varchar45選課表如表4·4所示:表4·4選課表表名selective_course_scheme主鍵字段id中文表名(功能描述)用戶信息表字段字段名稱字段類型長(zhǎng)度主外鍵關(guān)聯(lián)允許空備注id編號(hào)Int8否stu_id學(xué)生編號(hào)varchar8主鍵否course_id課程編號(hào)Varchar8主鍵否remark備注varchar100成績(jī)表如表4·5所示:表4·5成績(jī)表表名stu_score主鍵字段stu_id中文表名(功能描述)用戶信息表字段字段名稱字段類型長(zhǎng)度主外鍵關(guān)聯(lián)允許空備注score成績(jī)FLOAT否stu_id學(xué)生編號(hào)varchar8主鍵否course_id課程編號(hào)Varchar8主鍵否remark備注varchar504.3數(shù)據(jù)庫(kù)連接代碼publicvoidgetConnection(){try{if(this.debug){Class.forName(this.driverName);this.conn=DriverManager.getConnection(dbUrlStr);this.stmt=this.conn.createStatement();//System.out.println("數(shù)據(jù)庫(kù)連接建立!");}else{ng.Contextctx=newjavax.naming.InitialContext();javax.sql.DataSourceds=(javax.sql.DataSource)ctx.lookup("java:comp/env/jdbc/smsdb");this.conn=ds.getConnection();this.stmt=this.conn.createStatement();//System.out.println("數(shù)據(jù)庫(kù)連接建立(連接池)!");}}catch(NamingExceptionex1){System.out.println("請(qǐng)檢查數(shù)據(jù)庫(kù)連接池配置是否正確!");ex1.printStackTrace();}catch(SQLExceptionex2){System.out.println("請(qǐng)檢查數(shù)據(jù)庫(kù)是否啟動(dòng)!");ex2.printStackTrace();}catch(ClassNotFoundExceptionex3){System.out.println("請(qǐng)檢查數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序是否正確!");ex3.printStackTrace();}}/***通過連接池建立連接*@paramdataSourceDataSource*/publicvoidgetConnection(DataSourcedataSource){try{conn=dataSource.getConnection();stmt=conn.createStatement();}catch(SQLExceptionex){System.out.println("請(qǐng)檢查數(shù)據(jù)庫(kù)是否啟動(dòng)!");ex.printStackTrace();}}第5章系統(tǒng)詳細(xì)設(shè)計(jì)5.1系統(tǒng)流程圖流程圖如圖5·1所示:開始開始用戶登錄用戶驗(yàn)證退出系統(tǒng)進(jìn)入系統(tǒng)主界面失敗退出否重試成功選擇功能模塊新聞動(dòng)態(tài)學(xué)生信息管理選課系統(tǒng)留言板系統(tǒng)圖5·1系統(tǒng)流程圖5.2登陸模塊登陸界面如圖5·2圖5·2登陸界面可以選擇學(xué)生或者老師進(jìn)行登陸。5.2.2登陸流程圖如圖5·3所示:輸入用戶名,密碼輸入用戶名,密碼驗(yàn)證登陸失敗登陸成功系統(tǒng)登陸界面圖5·3登陸流程圖5.2.3功能介紹用戶選擇登陸類別,輸入用戶名,密碼,進(jìn)行登陸驗(yàn)證。登陸類別有學(xué)生和老師,用戶輸入的用戶名和密碼被提交給數(shù)據(jù)庫(kù)進(jìn)行驗(yàn)證,驗(yàn)證通過即可進(jìn)入登陸成功后的功能主界面,否則提示錯(cuò)誤信息,返回登陸頁(yè)面。登陸成功后的功能包括新聞動(dòng)態(tài),學(xué)生信息管理,學(xué)生選課管理(僅限學(xué)生)、留言板管理。5.2.4登陸成功界面登陸成功后的界面如圖5·4:圖5·4學(xué)生信息管理功能界面5.2.5用戶登錄的主要代碼實(shí)現(xiàn)(1)Jsp客戶端 StringcommitFlag=(String)request.getParameter("submintButton");//得到按鈕事件 UserBeanuserbean=null;//定義一個(gè)userbean作為用戶登陸信息的存放 StringId=request.getParameter("studentId");//獲得用戶ID Stringpwd=request.getParameter("pwd");//獲得用戶密碼 if(commitFlag!=null){//如果單擊了確定按鈕 Stringusertype2=(String)request.getParameter("UserType");//獲得用戶類型 Integerusertype3=Integer.valueOf(usertype2);//轉(zhuǎn)換用戶類型為整型 intusertype=Value(); if(usertype==1){ StudentBeanstudentBean2=newStudentBean(); studentBean=studentBean2.queryStuInfo(Id,pwd);//查詢是否存在該學(xué)生信息 if(studentBean!=null){//如果存在該學(xué)生信息 session.setAttribute("userbean",studentBean);//將代表該學(xué)生信息的Bean保存在session中 RequestDispatcherdispatcher=request .getRequestDispatcher("/index1.jsp"); dispatcher.forward(request,response); }else{//調(diào)用腳本語(yǔ)言提示%><scriptlanguage="javascript"type="">alert('請(qǐng)檢查用戶名,密碼是否正確!');</script><% }(2)后臺(tái)連接數(shù)據(jù)庫(kù)DBAccessdba=newDBAccess();//創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)連接Stringsql="selectstu_id,name,password,class_id,college_id,"+ "enroll_timefromstudent_info"+ "wherestu_id='"+stuId+"'andpassword='"+password+"'";//查詢指定用戶名、密碼是否正確dba.getConnection();//獲取連接ResultSetrs=dba.query(sql);//執(zhí)行查詢語(yǔ)句if(rs!=null&&rs.next()){//給用戶對(duì)象賦值stuBean=newStudentBean();stuBean.setStudentId(rs.getString("stu_id"));stuBean.setName(rs.getString("name"));stuBean.setPassword(rs.getString("password"));stuBean.setClassId(rs.getString("class_id"));stuBean.setCollegeId(rs.getString("college_id"));returnstuBean;//返回這個(gè)用戶對(duì)象}else{returnnull;}5.3學(xué)生信息管理模塊學(xué)生信息管理主界面學(xué)生信息管理包括班級(jí)學(xué)生信息查詢,學(xué)生詳細(xì)信息查詢,學(xué)生信息修改,密碼修改,成績(jī)查詢五個(gè)功能。學(xué)生信息管理主界面如圖5.5所示:圖5·5學(xué)生信息管理主界面5.3.2班級(jí)信息查詢(1)功能介紹用戶點(diǎn)擊班級(jí)信息查詢,顯示班級(jí)信息查詢界面,輸入要查詢的班級(jí)號(hào),單擊查詢按鈕,連接數(shù)據(jù)庫(kù)進(jìn)行查詢,顯示查詢出的該班學(xué)生列表。數(shù)據(jù)庫(kù)驗(yàn)證是否存在此班級(jí),班級(jí)號(hào)必須為數(shù)字且不能為空。(2)查詢示例圖如圖5·6所示:圖5·6班級(jí)學(xué)生信息查詢(3)班級(jí)信息查詢代碼DBAccessdba=newDBAccess();//創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)連接Stringsql="selecta.stu_id,,a.password,a.class_id,a.college_id,ae_from,a.sex,a.age,collegenamefromstudent_infoa,college_infobwherea.college_id=b.college_idanda.class_id="+classId;//對(duì)指定班級(jí)查詢的sql語(yǔ)句ArrayListarrayList=newArrayList();//創(chuàng)建一個(gè)鏈表存放查詢到的學(xué)生try{dba.getConnection();ResultSetrs=dba.query(sql);//執(zhí)行查詢while(rs.next()){//對(duì)每個(gè)學(xué)生的各項(xiàng)信息進(jìn)行賦值StudentBeanstuBean=newStudentBean();stuBean.setClassId(rs.getString("class_id"));stuBean.setCollegeId("college_id");stuBean.setComeFrom(rs.getString("come_from"));stuBean.setName(rs.getString("name"));stuBean.setStudentId(rs.getString("stu_id"));stuBean.setSex(rs.getString("sex"));stuBean.setCollegeName(rs.getString("collegename"));stuBean.setAge(rs.getString("age"));arrayList.add(stuBean);}returnarrayList;//返回存放好班級(jí)信息的鏈表}catch(SQLExceptionex){ex.printStackTrace();returnnull;}finally{dba.closeConnection();//關(guān)閉數(shù)據(jù)庫(kù)鏈接}5.3.3學(xué)生詳細(xì)信息查詢(1)功能介紹用戶點(diǎn)擊學(xué)生詳細(xì)信息查詢按鈕,顯示學(xué)生詳細(xì)信息查詢頁(yè)面,輸入要查詢的學(xué)生學(xué)號(hào),單擊查詢按鈕,鏈接數(shù)據(jù)庫(kù)進(jìn)行查詢,如果輸入正確就顯示查詢出的學(xué)生的各項(xiàng)信息。學(xué)生信息包括學(xué)號(hào),姓名,性別,籍貫,學(xué)院,年齡等。(2)學(xué)生詳細(xì)信息查詢示例圖見下圖5·7:圖5·7學(xué)生詳細(xì)信息查詢5.3.4學(xué)生信息修改(1)功能介紹用戶點(diǎn)擊學(xué)生信息修改,輸入要修改的學(xué)生號(hào),點(diǎn)擊提交,如果輸入正確則顯示出該學(xué)生的各項(xiàng)信息,此時(shí)輸入密碼和要修改的各項(xiàng)信息,輸入完畢后點(diǎn)擊修改按鈕,提示修改成功或者密碼不正確。此修改僅限本人修改,同時(shí)只能修改系統(tǒng)規(guī)定的可編輯項(xiàng)目,不可修改的項(xiàng)目設(shè)置為不可編輯模式。(2)學(xué)生信息修改示例圖如下圖5·8:圖5·8學(xué)生信息修改圖5.3.5密碼修改(1)功能介紹用戶點(diǎn)擊密碼修改,輸入要學(xué)生號(hào),原密碼,新密碼,確認(rèn)新密碼,點(diǎn)擊提交,連接數(shù)據(jù)庫(kù)進(jìn)行原密碼和用戶名驗(yàn)證,驗(yàn)證正確則提示修改成功,并且把數(shù)據(jù)庫(kù)中的密碼更新。如果兩次輸入不正確則提示錯(cuò)誤信息:兩次輸入密碼不一致,如果用戶名或原密碼錯(cuò)誤則提示用戶名或密碼錯(cuò)誤。(2)學(xué)生修改密碼示例圖如下圖:圖5·9學(xué)生密碼修改(3)密碼修改部分代碼publicintmodifyPassword(StringstudentId,StringoldPassword,StringnewPassword){DBAccessdba=newDBAccess();Stringsql="selectpasswordfromstudent_infowherestu_id="+studentId;//查詢指定用戶名的密碼的sql語(yǔ)句Stringsql2="updatestudent_infosetpassword="+newPassword+"wherestu_id="+studentId;//修改指定用戶密碼的sql語(yǔ)句try{dba.getConnection();ResultSetrs=dba.query(sql);//將查詢到的用戶放在一個(gè)結(jié)果集中if(rs!=null&&rs.next()){if(!oldPassword.equals(rs.getString("password"))){return0;//如果用戶提供的舊密碼不正確,則返回0;}inti=dba.exceutesql(sql2);if(i>0){return1;}else{//更改密碼失敗return-1;}}else{//沒有此用戶則返回-2return-2;}}catch(Exceptionex){return-1;}finally{dba.closeConnection();//關(guān)閉鏈接}}5.3.6成績(jī)查詢 (1)功能介紹用戶點(diǎn)擊成績(jī)查詢按鈕,選擇要查詢的學(xué)期、輸入課程號(hào)、學(xué)號(hào)、密碼,點(diǎn)擊查詢鏈接數(shù)據(jù)庫(kù)進(jìn)行查詢,如果輸入的信息正確則顯示出查詢到的成績(jī)信息,包括課程名稱,任課老師,所在學(xué)期,得分等。如果輸入有誤提示相應(yīng)錯(cuò)誤,如學(xué)號(hào)或密碼錯(cuò)誤,密碼兩次輸入不一致。(2)成績(jī)查詢示例圖如下圖5·10:圖5·10成績(jī)查詢(3)成績(jī)查詢部分關(guān)鍵代碼如下所示:publicArrayListqueryCourseScore(StringcourseId,StringstudentId,Stringterm){//傳遞查詢參數(shù)到函數(shù)中Stringsql="selecta.stu_id,a.course_id,a.score,a.remark,b.course_name,b.term,b.type,teachnamefromstu_scorea,course_infob,teach_infocwherea.course_id=b.course_idandb.teach_id=c.idanda.stu_id="+studentId;//查詢指定學(xué)期課程成績(jī)的sql語(yǔ)句if(term!=null&&term.length()>0){//判斷學(xué)期是否為空sql+="andb.term='"+term+"'";}if(courseId!=null&&courseId.length()>0){//判斷課程號(hào)是否為空sql+="anda.course_id="+courseId;}DBAccessdba=newDBAccess();ArrayListaList=newArrayList();try{dba.getConnection();ResultSetrs=null;rs=dba.query(sql);//將查詢到的信息存放在結(jié)果集中while(rs!=null&&rs.next()){ScoreBeanscoreBean=newScoreBean();scoreBean.setCourseId(rs.getString("course_id"));scoreBean.setStudentId(rs.getString("stu_id"));scoreBean.setCourseName(rs.getString("course_name"));scoreBean.setScore(rs.getString("score"));scoreBean.setCourseType(rs.getString("type"));scoreBean.setTeachName(rs.getString("teachname"));scoreBean.setTerm(rs.getString("term"));aList.add(scoreBean);//在鏈表中添加每個(gè)課程信息}}catch(SQLExceptionex){returnnull;}finally{dba.closeConnection();}returnaList;}5.4選課信息管理模塊5.4.1選課信息管理主界面選課信息管理包括查看課表,查看課程列表,查看教師信息,選課,退選,打印課表六個(gè)功能。選課信息管理界面如圖5·11:圖5·11選課信息管理界面5.4.2查看課表(1)功能介紹用戶點(diǎn)擊查看課表按鈕,選擇要查詢的學(xué)期,單擊查詢按鈕,顯示查詢到的課表信息。連接數(shù)據(jù)庫(kù)查詢,并且驗(yàn)證用戶是否登陸。(2)查看課表示例圖如下圖5·12:圖5·12查看課表5.4.3查看課程列表(1)功能介紹 單擊查看課程列表按鈕,選擇學(xué)期,課程類型(可選),課程信息(可選),點(diǎn)擊查詢。此處可實(shí)現(xiàn)課程號(hào)、課程名精確查詢和課程名模糊查詢?nèi)N查詢方式,連接數(shù)據(jù)庫(kù)進(jìn)行查詢,顯示查詢到的課程信息,顯示課程號(hào)、課程名、主講老師、課程類型、上課時(shí)間、上課地點(diǎn)、所在學(xué)期。點(diǎn)擊主講老師可以查看該老師的詳細(xì)信息。(2)查看課程列表示例圖如下圖5·13所示:圖5·13查看課程列表5.4.4查看教師信息 (1)功能介紹 用戶點(diǎn)擊查看教師信息按鈕,選擇要查詢的學(xué)院、教師ID(可選),連接數(shù)據(jù)庫(kù)查詢,顯示查詢到的教師信息,或者提示沒有該教師信息。學(xué)院可以選擇計(jì)算機(jī)學(xué)院、信息學(xué)院、材料學(xué)院、外語(yǔ)學(xué)院和所有學(xué)院,默認(rèn)情況下是所有學(xué)院。查詢到的教師信息有:ID、姓名、性別、職稱、學(xué)院和描述。(2)查看教師信息示例圖如下圖5·14所示:圖5·14查看教師信息5.4.5選課 (1)功能介紹用戶點(diǎn)擊選課按鈕,選擇要選課的學(xué)期、星期、上課時(shí)間(可選),單擊查詢按鈕,連接數(shù)據(jù)庫(kù)顯示查詢到的可選課程信息(或者提示不存在課程信息,重新查詢),選中要選擇的課程,點(diǎn)擊選課,提示選課成功,或已經(jīng)選擇該課程。不可以重復(fù)選課。(2)選課示例圖如下圖5·15:圖5·15選課退選 (1)功能介紹用戶點(diǎn)擊退選功能鍵,選擇要退選課程所在的學(xué)期,單擊查詢按鈕,顯示查詢到的已選課程信息,選擇要退選的課程,點(diǎn)擊退選,提示退選成功。與數(shù)據(jù)庫(kù)鏈接,檢測(cè)用戶登陸,查詢數(shù)據(jù)庫(kù)中用戶的選課信息,刪除退選的選課信息。(2)退選示例圖如下圖5·16:圖5·16退選5.5留言板模塊5.5.1留言板主界面留言板模塊包括瀏覽新聞留言板信息、留言板主題評(píng)分、主題評(píng)論、添加留言板信息四個(gè)功能。還具有依據(jù)主題信息進(jìn)行查找的功能,支持主題模糊查詢。主界面如圖5·17:圖5·17留言板主界面5.5.2瀏覽留言板信息 (1)功能介紹用戶點(diǎn)擊瀏覽留言板信息按鈕,選擇要瀏覽的類別,點(diǎn)擊相應(yīng)主題進(jìn)行瀏覽??蛇x類別有校辦專欄、后勤管理專欄、教務(wù)處專欄、計(jì)算機(jī)中心專欄、招生就業(yè)專欄和其他。可以通過主題界面的“主題查找”功能進(jìn)行模糊查詢主題。(2)瀏覽留言板信息示例圖如圖5·18: 圖5·18瀏覽留言板信息5.5.3留言主題評(píng)分用戶點(diǎn)擊瀏覽留言板信息按鈕,選擇要瀏覽的類別點(diǎn)擊相應(yīng)主題進(jìn)入瀏覽主題界面,在主題下選擇要評(píng)分的分?jǐn)?shù),點(diǎn)擊評(píng)分按鈕。系統(tǒng)自動(dòng)從數(shù)據(jù)庫(kù)中提取所有評(píng)分人的評(píng)分求平均??蛇x分?jǐn)?shù)有1-10分,10分為最好。評(píng)分示例見圖5·19。5.5.4主題評(píng)論用戶點(diǎn)擊瀏覽留言板信息按鈕,選擇要瀏覽的類別點(diǎn)擊相應(yīng)主題進(jìn)入瀏覽界面,在相應(yīng)主題下的評(píng)論框中書寫評(píng)論內(nèi)容和作者姓名,點(diǎn)擊添加按鈕,提示添加成功,同時(shí)數(shù)據(jù)庫(kù)將該條評(píng)論加入相應(yīng)主題的評(píng)論中,顯示在頁(yè)面上。示例見圖5·19:圖5·19添加主題評(píng)論(1)功能介紹用戶點(diǎn)擊添加留言板信息按鈕,進(jìn)入添加留言板信息界面,在表格中添加各項(xiàng)信息(標(biāo)題、作者、選擇欄目類型、輸入內(nèi)容),點(diǎn)擊添加按鈕,提示添加成功或錯(cuò)誤提示,錯(cuò)誤提示如:請(qǐng)輸入標(biāo)題和作者等。(2)添加留言板信息示例圖如下圖5·20:圖5·20添加留言板信息
5.6新聞模塊5.6.1新聞主頁(yè)新聞模塊有新聞查看功能,新聞主頁(yè)如圖5·21:圖5·21新聞主頁(yè)將界面5.6.2查看新聞點(diǎn)擊新聞動(dòng)態(tài)進(jìn)入新聞板塊,點(diǎn)擊相應(yīng)分類進(jìn)行瀏覽。數(shù)據(jù)庫(kù)根據(jù)用戶選中的新聞標(biāo)題,提取改標(biāo)題所在記錄的內(nèi)容,顯示在頁(yè)面上。關(guān)鍵代碼如下:publicNewsBeanqueryDetail(StringnewsId){//接受傳入的新聞IDStringsql="select*fromnews_infowhere1=1";sql+="andid='"+newsId+"'orderbyiddesc";//查詢已知ID的新聞信息DBAccessdba=newDBAccess();try{dba.getConnection();ResultSetrs=null;rs=dba.query(sql);//將查詢到的新聞信息放入結(jié)果集中NewsBeannewsBean=null;if(rs!=null&&rs.next()){//遍歷結(jié)果集,給新聞對(duì)象賦值newsBean=newNewsBean();newsBean.setId(rs.getString("id"));newsBean.setTitle(rs.getString("title"));newsBean.setAddTime(rs.getString("add_time"));newsBean.setAuthor(rs.getString("author"));newsBean.setContent(rs.getString("content"));newsBean.setQuarry(rs.getString("quarry"));newsBean.setTypeId(rs.getString("type"));}returnnewsBean;//放回新聞對(duì)象}catch(SQLExceptionex){returnnull;}finally{dba.closeConnection();}
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 物聯(lián)網(wǎng)技術(shù)在現(xiàn)代物流中的應(yīng)用與挑戰(zhàn)
- 現(xiàn)代城市住宅區(qū)的綠色規(guī)劃與實(shí)踐
- 現(xiàn)代人如何通過飲食改善腸胃問題
- 國(guó)慶節(jié)活動(dòng)方案百米畫
- 牙科患者需求與商業(yè)價(jià)值挖掘
- 2024-2025學(xué)年新教材高中英語(yǔ) Unit 6 Earth first預(yù)習(xí) 新知早知道2說課稿 外研版必修第二冊(cè)
- 12《示兒》說課稿-2024-2025學(xué)年五年級(jí)上冊(cè)語(yǔ)文統(tǒng)編版
- 《11~20的認(rèn)識(shí)-11~20的認(rèn)識(shí)》(說課稿)-2024-2025學(xué)年一年級(jí)上冊(cè)數(shù)學(xué)人教版
- 2024-2025學(xué)年新教材高中地理 第一章 人口 第一節(jié) 人口分布(2)說課稿 新人教版必修2
- 1學(xué)會(huì)尊重-《每個(gè)人都應(yīng)得到尊重》(說課稿)2023-2024學(xué)年統(tǒng)編版道德與法治四年級(jí)下冊(cè)
- 浩順一卡通軟件新版說明書
- 植物檢疫員崗位職責(zé)說明書
- 2023~2024學(xué)年二年級(jí)下冊(cè)語(yǔ)文期末??荚嚲怼?chuàng)意情境 統(tǒng)編版
- 2024年北師大版六年級(jí)下冊(cè)數(shù)學(xué)期末測(cè)試卷(各地真題)
- 2024年江蘇農(nóng)牧科技職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)附答案
- 經(jīng)理層年度任期經(jīng)營(yíng)業(yè)績(jī)考核及薪酬辦法
- 2024年高考英語(yǔ)新聞報(bào)道閱讀理解訓(xùn)練歷年真題
- 2024高考物理廣東卷押題模擬含解析
- 青少年農(nóng)業(yè)科普館建設(shè)方案
- 新測(cè)繪法解讀
- 提高感染性休克集束化治療達(dá)標(biāo)率
評(píng)論
0/150
提交評(píng)論