




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
基于Web的學(xué)生信息管理系統(tǒng)StudentInformationManagementSystemBasedonWeb中文摘要在現(xiàn)如今這個網(wǎng)絡(luò)技術(shù)高度普及和信息全球化的年代,信息化的程度和互聯(lián)網(wǎng)技術(shù)在國際競爭中充當(dāng)著重要的角色,華為5G的實例告訴我們,誰先掌握技術(shù)誰就有話語權(quán)。在我國,國家經(jīng)濟(jì)水平不斷提高,科學(xué)技術(shù)實力也蒸蒸日上,在科教興國戰(zhàn)略的影響下,國家對教育愈加重視。接受高等教育的人數(shù)不再像幾十年前一樣屈指可數(shù),并且有部分高校每年還在擴(kuò)招學(xué)生,數(shù)量的增長導(dǎo)致高校對學(xué)生在校生活的工作也愈加繁雜。針對這一問題,學(xué)校合理有效地運(yùn)用信息數(shù)據(jù)這一有利“工具”,管理學(xué)生事務(wù)的復(fù)雜性將會有一個大幅度的下降。本次畢業(yè)設(shè)計是基于web的學(xué)生信息管理系統(tǒng),以JAVA作為開發(fā)環(huán)境,總體上的結(jié)構(gòu)體系運(yùn)用了B/S結(jié)構(gòu)體系,B的意思是瀏覽器的英文單詞首字母,S則為服務(wù)器的意思。有了HTTP協(xié)議的加持,統(tǒng)一了請求端(也就是用戶使用的瀏覽器),將開發(fā)重心放在服務(wù)器的建設(shè)上,從而使用戶獲得更好的體驗。本學(xué)生信息管理系統(tǒng)主要使用到的技術(shù)有JSP技術(shù)和數(shù)據(jù)庫MySQL,主要功能是對學(xué)生、教師和班級信息的錄入,以及完成學(xué)生的選課功能。關(guān)鍵詞:互聯(lián)網(wǎng)JSPMySQL學(xué)生信息管理系統(tǒng)AbstractIntoday'seraofhighlypopularizationofnetworktechnologyandinformationglobalization,thedegreeofinformatizationandInternettechnologyplayanimportantroleininternationalcompetition.Huawei's5gexampletellsusthatwhoeverfirstmastersthetechnologyhastherighttospeak.InChina,withthecontinuousimprovementofthenationaleconomiclevelandthegrowingstrengthofscienceandtechnology,undertheguidanceoftheideathatscienceandtechnologyisthefirstproduction,ourcountryadherestoeducationasthebasisandattachesmoreimportancetotheeducationindustry.Thenumberofpeoplereceivinghighereducationisnolongerasfewasitwasdecadesago,andsomecollegesanduniversitiesarestillexpandingtheirenrollmenteveryyear.Theincreaseofthenumberofstudentsleadstomoreandmorecomplicatedworkincollege.Inordertosolvethisproblem,theschoolshouldusetheinformationdataasaneffectivetool,andthecomplexityofstudentaffairsmanagementwillbegreatlyreduced.ThisgraduationprojectisastudentinformationmanagerialsystembasedonWeb.Javaasthedevelopmentenvironment,theoverallstructuresystemusestheB/Sstructuresystem,BmeansthefirstletterofbrowserEnglishwords,sisthemeaningofserver.WiththesupportofHTTPprotocol,therequester(thatis,thebrowserusedbyusers)isunified,andthedevelopmentfocusisontheconstructionoftheserver,sothatuserscangetabetterexperience.ThisstudentinformationmanagementsystemmainlyusesJSPtechnologyandMySQLdatabase,themainfunctionistoinputtheinformationofstudents,teachersandclasses,aswellastocompletethefunctionofselectingcourses.Keywords:InternetJSPMySQLStudentinformationmanagerialsystem目錄第一章緒論 11.1課題背景、目的及意義 11.2學(xué)生信息管理系統(tǒng)部署現(xiàn)狀 11.2.1學(xué)生信息存儲局限性 11.2.2高校學(xué)生信息管理復(fù)雜性 21.3學(xué)生信息管理系統(tǒng)的重要性 2第二章可行性分析 22.1技術(shù)可行性 22.2經(jīng)濟(jì)可行性 22.3操作可行性 32.4系統(tǒng)技術(shù)介紹 32.4.1MySQL 42.4.2Servlet 42.4.3MVC模式 5第三章需求分析 53.1系統(tǒng)功能模塊概述和分析 53.2系統(tǒng)功能模塊設(shè)計 63.3數(shù)據(jù)庫分析 63.4數(shù)據(jù)庫的物理結(jié)構(gòu)設(shè)計 6第四章學(xué)生信息管理系統(tǒng)的設(shè)計與實現(xiàn) 84.1用戶及角色管理 84.2學(xué)生信息管理 94.3班級信息管理 114.4教師信息管理 124.5課程信息管理 134.6選課信息管理 134.7部分功能代碼 144.7.1照片信息傳輸 144.7.2下拉框完善 154.7.3選課功能完善 16第五章系統(tǒng)調(diào)試 175.1調(diào)試目的 175.2調(diào)試方法 17第六章總結(jié)與展望 186.1總結(jié) 186.2展望 19緒論1.1課題背景、目的及意義我國經(jīng)濟(jì)水平日漸雄厚,科學(xué)技術(shù)實力也蒸蒸日上,為完成國家的偉大復(fù)興,對教育行業(yè)也愈加重視。高校的不斷擴(kuò)增從而導(dǎo)致本科學(xué)校人數(shù)的日劇增長,在這樣的背景下,使得管理學(xué)生日常事務(wù)的困難直線上升。在現(xiàn)如今這個網(wǎng)絡(luò)技術(shù)高度遍及和信息全球化的年代。軟件技術(shù)的發(fā)展為高校管理學(xué)生事務(wù)提供了全新并且更加高效的方法。在這些條件下,教職工和輔導(dǎo)員的工作壓力將得到最大的釋放。能否通過一些方法提高對學(xué)生的信息管理的質(zhì)量,這關(guān)系到一所學(xué)校辦學(xué)理念中的創(chuàng)新。這不僅關(guān)系到學(xué)生,并且還關(guān)系到一些教職工人員在日常處理學(xué)生事務(wù)的工作量上,運(yùn)用數(shù)字化管理系統(tǒng)可以有效并且高效地減輕教職人員的工作量,通過快速查詢和快速管理來提高工作效率。不同的用戶等級有不同的操作和功能,相對于教職工人員和管理員用戶群體,學(xué)生在操作上有一定的局限性,只能夠處理本人的一些事務(wù)。而教職工和管理員用戶,則可以對學(xué)生和課程信息進(jìn)行修改等操作。同時可將本系統(tǒng)結(jié)合當(dāng)前熱門的大數(shù)據(jù)技術(shù)分析和判斷學(xué)生的事務(wù)問題,及時發(fā)現(xiàn)學(xué)生事務(wù)異常,及時處理。1.2學(xué)生信息管理系統(tǒng)文獻(xiàn)綜述部署現(xiàn)狀受高等教育的人數(shù)不斷增加,高等學(xué)府的數(shù)量也直線上升,伴隨的問題不僅是教育業(yè)管理的復(fù)雜性的提升,而且存在著如高校學(xué)生信息是否能夠統(tǒng)一、整合與共享。并且由于一些工齡長,已經(jīng)無法接受和使用新技術(shù)的老教師而言,能否開發(fā)一款易操作、復(fù)雜性低的管理系統(tǒng)成為他們能高效管理學(xué)生信息的關(guān)鍵。1.2.1學(xué)生信息存儲局限性伴隨著高等教育的浪潮,各高校都建立起自己的平臺,面對大量的學(xué)生日常事務(wù)工作,各部門需要積極協(xié)作才能使這項工作做好,所以導(dǎo)致在進(jìn)行學(xué)生信息管理工作時,需要協(xié)調(diào)和整合各部門的數(shù)據(jù)。于海軍和李淼(2013)指出:“但在具體操作中各職能部門信息化系統(tǒng)建設(shè)大多時針對單項業(yè)務(wù)進(jìn)行開發(fā),只能對內(nèi)部信息進(jìn)行搜集和處理,無法實現(xiàn)信息資源共享與整合”,這準(zhǔn)確地概括了目前高校信息化技術(shù)建設(shè)的現(xiàn)狀。在保證數(shù)據(jù)的安全性、完整性以及正確性的基礎(chǔ)上,進(jìn)行不斷地更新優(yōu)化,使學(xué)生信息存儲地局限性轉(zhuǎn)化為管理的高效性。1.2.2高校學(xué)生信息管理復(fù)雜性有關(guān)高校學(xué)生管理的日常相關(guān)工作種類繁多,人數(shù)逐年上漲,若依靠傳統(tǒng)的人工輸入紙質(zhì)數(shù)據(jù)的方式,輔導(dǎo)員等教職工將會面臨巨大壓力。據(jù)我了解,依靠現(xiàn)如今的計算機(jī)網(wǎng)絡(luò)方式處理學(xué)生校園生活的事務(wù),仍有許多輔導(dǎo)員選擇轉(zhuǎn)行,因為需要處理的事務(wù)實在過于繁雜,再加上有些學(xué)生不配合,管理起來就更加困難。在各級各類的高校中,學(xué)生信息管理一直都處在非常重要的地位,因為關(guān)系到學(xué)生的方方面面,比如在助學(xué)金和獎學(xué)金的評定,優(yōu)秀班干部的評選,學(xué)生畢業(yè)就業(yè)推薦信等等,都關(guān)系到學(xué)生的前途。又加上有些學(xué)校每年都在進(jìn)行擴(kuò)招,學(xué)生的信息管理就愈加繁重。1.3學(xué)生信息管理系統(tǒng)的重要性采取傳統(tǒng)的手工數(shù)據(jù)錄入紙質(zhì)檔案的方法很難滿足處理高校信息量大且繁雜的要求,無論是數(shù)據(jù)的安全性,還是數(shù)據(jù)的正確性上都很難得到保證。而現(xiàn)在采取的計算機(jī)網(wǎng)絡(luò)化的管理方法應(yīng)用廣泛,校園生活處處都是采取這種方法,從高考后的學(xué)籍信息、圖書館借書登記、體質(zhì)檢查的數(shù)據(jù)錄入,都是用戶群體不斷地向服務(wù)器發(fā)送請求,服務(wù)器進(jìn)行響應(yīng)的過程。這個不斷循環(huán)的過程減少了傳統(tǒng)的由各部門協(xié)作展開的工作量,大大提高其效率。其次是時效性,充分利用網(wǎng)絡(luò)快速便捷,將最新動態(tài)發(fā)布到管理系統(tǒng)上,讓學(xué)生在第一時間獲取課程信息等,讓教師快速處理相關(guān)事務(wù),通過互聯(lián)網(wǎng)的便捷提高效率。第二章可行性分析2.1技術(shù)可行性本系統(tǒng)只能是學(xué)校內(nèi)部學(xué)生的賬號登錄校園網(wǎng)才能進(jìn)入,以達(dá)到系統(tǒng)的安全性,通過校園網(wǎng)絡(luò)覆蓋整個校區(qū)。由于JSP技術(shù)能夠?qū)⒕W(wǎng)頁設(shè)計、業(yè)務(wù)邏輯和顯示進(jìn)行分層設(shè)計,所以采用更加靈活的JSP技術(shù),開發(fā)工具使用的是Eclipse,是一款適合初次開發(fā)程序的新手使用的方便的開發(fā)工具。數(shù)據(jù)庫方面使用性能好、服務(wù)穩(wěn)定并且用戶使用活躍的MySQL。前端采用EeayUI管理框架,并且采用MVC三層設(shè)計模式,在開發(fā)過程中達(dá)到業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分層開發(fā)的效果。綜上所述,本系統(tǒng)無論在網(wǎng)頁設(shè)計還是在代碼編輯上都是滿足條件的,由此可以得出在技術(shù)上的可行性。2.2經(jīng)濟(jì)可行性經(jīng)濟(jì)可行性是指可以使用的資源的可能性(資源包括人力資源、自然資源和資金條件)。通常我們將項目的經(jīng)濟(jì)可行性拆分為支出費(fèi)用和收益兩部分進(jìn)行分析,在其支出費(fèi)用中,開發(fā)項目的成本占據(jù)大部分,有軟硬件成本、人力成本、向市場推廣的運(yùn)營成本(如廣告等),還有后期對系統(tǒng)進(jìn)行升級和維護(hù)費(fèi)用等?;ヂ?lián)網(wǎng)產(chǎn)品在收益部分大部分情況下是向第三方收取費(fèi)用,如廣告的收益,不會向使用者收取費(fèi)用,而有些互聯(lián)網(wǎng)產(chǎn)品做到“連接比現(xiàn)擁有的更重要”,靠的是擁有足夠龐大的用戶群體,通過互聯(lián)網(wǎng)產(chǎn)品這個平臺,將需求方與被需求方進(jìn)行連接,將流量、用戶最大效率化地轉(zhuǎn)化為價值,這就是互聯(lián)網(wǎng)產(chǎn)品的盈利方式。而現(xiàn)在使用信息化管理的方式主要的成本據(jù)我了解是那部分人工管理系統(tǒng)所要花費(fèi)的資金,將原本傳統(tǒng)管理方式人工規(guī)模大、成本高的特點轉(zhuǎn)變成用人規(guī)模小、效率高、成本低的信息化管理方式,這就使得學(xué)校在管理人員方面減少開支,不僅在人工成本上得以降低,在管理效能上卻大大增加。并且在這個計算機(jī)普及的時代,軟硬件的支出也逐年下降,比如在硬件方面,只要隨便一臺能用的電腦都能夠運(yùn)行該程序。在軟件方面使用MySQL數(shù)據(jù)庫就搓搓有余,更重要的是它還提供免費(fèi)版本,對于大多數(shù)用戶來說大大降低了開發(fā)成本。2.3操作可行性此管理系統(tǒng)有開發(fā)所用的時間短,能耗小的特點,所以基本上每個學(xué)校所配備的設(shè)備都能夠運(yùn)行起來。并且界面上沒有一絲多余,都是又實用性的,不會擾亂我們操作的思緒,各功能如何使用一目了然,方便教齡長的老教師使用。用戶等級分別從高到低由管理員、教師、學(xué)生組成,首先由管理員分配教師權(quán)限,再由教職工用戶添加學(xué)生信息,學(xué)生才能使用自己的姓名或者學(xué)號作為登陸賬號進(jìn)入系統(tǒng)。本系統(tǒng)采用金字塔管理方式,管理員則是這個金字塔的頂端,可以操作任何事務(wù)。學(xué)生的個人信息和班級信息由教職工人員添加或者修改,但不能修改其他教職工人員信息。學(xué)生則只能看到自己的信息和進(jìn)行選課。所以通過整體分析系統(tǒng)的用戶分配方式和工作流程,說明該系統(tǒng)具有操作上的可行性。2.4系統(tǒng)技術(shù)介紹本系統(tǒng)在java服務(wù)器頁面采用的是JSP技術(shù),是一種動態(tài)的網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP部署于網(wǎng)絡(luò)服務(wù)器上,可以根據(jù)客戶端發(fā)送的請求生成HTML、XML等格式文檔的web網(wǎng)頁,然后響應(yīng)給請求者。在開發(fā)過程中用到MVC模式,和開發(fā)環(huán)境平臺用Eclipse,以及與運(yùn)行速度極快的MySQL數(shù)據(jù)庫后臺相結(jié)合,為創(chuàng)建高性能的學(xué)生信息管理系統(tǒng)提供了可能。2.4.1MySQL為便于用戶和開發(fā)者使用,數(shù)據(jù)庫方面采用比較易于理解的關(guān)系型數(shù)據(jù)庫MySQL,我們所說的表其實是一種以行和列的形式進(jìn)行存儲數(shù)據(jù)的載體,所以將其稱為關(guān)系型數(shù)據(jù)庫,其實表和表之間又可以使用外鍵和索引的方式進(jìn)行存儲,能夠保證數(shù)據(jù)的一致性,這樣比把所有數(shù)據(jù)堆積在一個數(shù)據(jù)庫中要好得多,獨(dú)立的存儲數(shù)據(jù)能夠快速的鎖定數(shù)據(jù)所在的表格從而獲取數(shù)據(jù),用戶只要通過一些簡單便于理解的搜尋或者增添等語句,就可以對指定表進(jìn)行想要的操作。2.4.2ServletServlet是JavaWeb開發(fā)中不可或缺的一部分,一般人們認(rèn)為servlet是一個類,是一個實現(xiàn)一個功能的servlet接口的類。Servlet實際上是主要功能是用來接受請求和發(fā)送響應(yīng)的,這個過程就是瀏覽器請求資源(也就是servlet常見用法request),然后服務(wù)器里的servlet接受請求并響應(yīng)給瀏覽器(response),如果需要數(shù)據(jù)交互的話還要經(jīng)過數(shù)據(jù)庫,將讀寫到的數(shù)據(jù)經(jīng)過servlet傳給瀏覽器,其實這個過程就是在不斷的請求和響應(yīng)的過程。這里還需要一個Tomcat服務(wù)器作為一個能夠容納servlet的容器。我們知道,瀏覽器的請求和接受響應(yīng)都是以文本的形式進(jìn)行的,所以這時就需要一個能夠解析Http協(xié)議和將響應(yīng)后的信息輸出到瀏覽器的工具,而這個工具就是tomcat。運(yùn)行流程如圖2-1的B/S模式所示,客戶在自己電腦或者手機(jī)上安裝瀏覽器,運(yùn)用瀏覽器/服務(wù)器模式,用戶通過瀏覽器發(fā)送協(xié)議請求,服務(wù)器根據(jù)請求URL地址中的URI信息在webapps目錄下找到對應(yīng)的項目文件夾,并且在之前web.xml中預(yù)先配置好的servlet中,找到并執(zhí)行相應(yīng)的servlet。圖2-1B/S模式這種瀏覽器服務(wù)器模式不在乎有多高配置的電腦,只要是一臺電腦就能解決,由于瀏覽器統(tǒng)一了客戶端,所以工作重心會放在服務(wù)器的建設(shè)上,而且在維護(hù)方面的費(fèi)用基本上是零。2.4.3MVC模式MVC顧名思義,就是將模型、視圖、控制器的英文單詞首字母整合在一起的模式。這種模式在應(yīng)用程序的開發(fā)上尤為廣泛,因為它采用的是分層開發(fā)。在本系統(tǒng)開發(fā)時,在目錄下創(chuàng)建一個model包,將所有表放在model層下封裝起來,數(shù)據(jù)庫進(jìn)行訪問操作的代碼放在model里。視圖代表模型包含的數(shù)據(jù)的可視化,通俗的講就是平時用戶在瀏覽器能夠看到的界面,所以在項目目錄下首先我們會在view文件夾下存放所有用戶能看到的可視化頁面。而控制器(controller),一般將我們想到的業(yè)務(wù)邏輯代碼存放在此地,操作層能將模型層和視圖層整合在一起,最大化這兩層的作用,將用戶能看到的界面結(jié)合功能邏輯結(jié)合在一起從而給用戶提供一個合理化和便捷的操作界面。使用MVC模式的目的一目了然,就是想通過分工合作的理念提高開發(fā)上的效率,邏輯的代碼由專門的人員編寫,前端美化,提高用戶視覺效果的代碼由專門的人員編寫,這就使得系統(tǒng)各部分都能各盡所能,讓系統(tǒng)更加完善。第三章需求分析3.1系統(tǒng)功能模塊概述和分析在做系統(tǒng)之前必須考慮有什么樣的用戶會用到該系統(tǒng),會用系統(tǒng)完成什么樣的工作,所以總體上分析用戶需求,用戶類型,以及系統(tǒng)的模塊。在這個階段,可以先用筆紙在草稿紙上大概畫出框架,總體上劃分為幾部分。系統(tǒng)分析對整個項目的走向有著極大的作用,關(guān)系到整體工程的成功與否。在全面客觀分析的基礎(chǔ)之上,可以進(jìn)行詢問調(diào)查的方法,根據(jù)用戶所提出的建議和要求對系統(tǒng)功能進(jìn)行設(shè)計。經(jīng)過發(fā)放問卷調(diào)研的方式和可行性分析,主要的用戶群體是教職工人員以及學(xué)生,系統(tǒng)的功能主要包括:(1)用戶信息模塊:①管理員作為最高訪問權(quán)限,所以能對所有事務(wù)進(jìn)行修改。②用戶可以選擇自己用戶類型登陸賬號密碼進(jìn)入系統(tǒng),既方便管理,又增強(qiáng)其安全性,禁止非法用戶進(jìn)入。③用戶為教職工和學(xué)生只能看到并且修改自己的個人信息,增強(qiáng)其個人信息的私密性。(2)課程信息模塊:其內(nèi)容包括各個課程的具體信息,比如上課老師的姓名、上課時間、已選人數(shù)和最大可選人數(shù)。當(dāng)同學(xué)們選擇的課程的已錄入人數(shù)超過最大可選人數(shù)時,就會跳出提示窗口:“您選擇的課程人數(shù)已滿,請選擇其他課程!”或者可以和老師溝通,修改最大人數(shù)限制。(3)選課模塊:選課模塊進(jìn)行的操作是非常簡單的,就是將教職工開設(shè)課程的信息和學(xué)生姓名傳到選課添加窗口下拉框下進(jìn)行配對,管理員和教職工用戶可以指定學(xué)生的課程,并且學(xué)生只能選擇自己的課程。(4)系統(tǒng)管理模塊:只設(shè)置了用戶密碼的修改。3.2系統(tǒng)功能模塊設(shè)計根據(jù)上面提及的功能需求分析,分析得出主要的服務(wù)對象為學(xué)生和教職工,可以確定程序大概的功能模塊,如圖3-1所示。系統(tǒng)的主要流程為學(xué)生進(jìn)行個人信息的完善,在課程列表中尋找適合自己的課程,并且滿足人數(shù)的限制再進(jìn)入到選課窗口通過下拉框選擇課程,學(xué)生能夠看到自己所選的課程,課程列表也會更新已選人數(shù)。教師則可以觀看所有學(xué)生的信息,并只能看到和修改自己的信息,教師可以添加課程信息,包括課程名稱、上課時間、最大可選人數(shù),教師用戶也可以指定學(xué)生課程。管理員用戶可以對所有信息進(jìn)行修改。圖3-1學(xué)生信息管理系統(tǒng)模塊圖3.3數(shù)據(jù)庫分析數(shù)據(jù)庫是本系統(tǒng)中最重要的部分之一,若沒有與數(shù)據(jù)庫的交互,前端所做的一切都將是空殼,所以要對數(shù)據(jù)庫進(jìn)行充實,將所有信息分門別類地放進(jìn)不同地表格中,其主要表格有學(xué)生信息表、管理員賬號密碼表、課程信息表、班級信息表、教師和老師的賬號密碼以及其他信息表、已選擇信息表。各表都會有相關(guān)的連接方式,比如選課信息管理會與學(xué)生的id以及上課的老師id進(jìn)行聯(lián)系,也就是數(shù)據(jù)庫中外鍵的使用,能夠使得各表既有聯(lián)系又能保證數(shù)據(jù)的統(tǒng)一。3.4數(shù)據(jù)庫的物理結(jié)構(gòu)設(shè)計數(shù)據(jù)庫的所有需要命名的單體,如表、字段都必須具備可讀性,不同類型的表都要命名明確,不可重復(fù)。并且要用下劃線分割不同的單詞;表名和字段名要清楚地解釋該表的用處,如學(xué)生信息表命名為s_studentInfo;長名原則,盡量少的使用縮寫,易混淆,命名格式也不能過長。數(shù)據(jù)庫在物理設(shè)計之后將大大優(yōu)化數(shù)據(jù)庫整體結(jié)構(gòu),并且在性能上有持續(xù)性的提升。有以下幾個優(yōu)點:減少數(shù)據(jù)冗余,設(shè)置外鍵和索引,盡量減少在數(shù)據(jù)多次重復(fù);盡量避免數(shù)據(jù)維護(hù)中出現(xiàn)更新,插入和刪除異常,可以利用規(guī)范化模型來解決問題,提高查詢效率。數(shù)據(jù)主要建立了六張表:管理員表:主要放管理員登錄的賬號密碼(如圖3-2)圖3-2管理員表設(shè)置班級表:主要放入各個班級的id,班級名稱和班級介紹(如圖3-3)圖3-3班級表設(shè)置課程表:主要放入各個課程的id,課程名稱,老師id,授課時間,已選人數(shù),最大授課人數(shù)以及課程介紹。(如圖3-4)圖3-4課程表設(shè)置選課表:用于學(xué)生進(jìn)行選課的表單,里面有id值、學(xué)生的id值和課程id值。(如圖3-5)圖3-5選課表設(shè)置學(xué)生信息表:主要放入id、學(xué)生學(xué)號、學(xué)生姓名、登錄密碼、班級id、性別、手機(jī)號、qq以及照片。(如圖3-6)圖3-6學(xué)生信息表設(shè)置教師表信息表:主要放入教職工的信息和登陸密碼(如圖3-7)圖3-7教師信息表設(shè)置第四章學(xué)生信息管理系統(tǒng)的設(shè)計與實現(xiàn)4.1用戶及角色管理本系統(tǒng)適用于三類人群,分別是在校教職工人員、學(xué)生以及后臺的管理員。首先在登陸界面下方選擇三種用戶類型其中一種,然后登錄賬號密碼,一般設(shè)置登錄賬號為學(xué)生或教職工的姓名,密碼由管理員錄入。登錄驗證采用的是時下最受歡迎的JS框架的Jquery的Ajax驗證。圖4-1Ajax語句4.2學(xué)生信息管理每一個用戶界面的功能代碼都要在web.xml下配置servlet文件。然后再新建一個包命名為model,每個表都存放在這里面。在model下新建一個student.java文件作為一張實體表,在其文件下設(shè)置學(xué)生的實體類,實體類要與數(shù)據(jù)庫創(chuàng)建的表的數(shù)據(jù)對應(yīng)上,否則會出錯。然后創(chuàng)建個Dao包封裝數(shù)據(jù)庫具體操作,比如增添、修改、刪除等。Dao內(nèi)的代碼主要是為實現(xiàn)一些主要的功能,比如獲取列表數(shù)值,查詢數(shù)據(jù),修改增刪等。代碼如下所示:publicbooleandeleteStudent(Stringids){ Stringsql="deletefroms_studentwhereidin("+ids+")"; returnupdate(sql); }還要建立專門的servlet包存放所有的功能實現(xiàn)的servlet。后面的教職工信息、班級信息的增添、刪除、修改功能跟上面大同小異,所以可以將之前用到的一些基礎(chǔ)的功能代碼進(jìn)行二次利用,把主要精力放在其他難度較高的功能代碼上。圖4-2學(xué)生信息窗口圖由于學(xué)生本人只能看到自己的信息,所以要在studentServlet里的獲取學(xué)生列表的代碼下添加限定用戶查看內(nèi)容,先獲取當(dāng)前用戶類型,然后顯示學(xué)生的信息畫布。 圖4-3獲取當(dāng)前用戶方法代碼之后的教職工只能看到自己的信息也采用如上方法。4.3班級信息管理只有教職工人員和管理員用戶才能有此功能的操作權(quán)限,如圖4-5所示對班級信息進(jìn)行搜索以及增刪改查。圖4-4班級信息管理窗口進(jìn)行班級信息模糊查詢功能,使用的是EasyUI添加查詢功能進(jìn)行模糊查詢functiondoSearch(){ $('#tt').datagrid('load',{ itemid:$('#itemid').val(), productid:$('#productid').val() });}4.4教師信息管理同樣管理員具有修改所有教職工的權(quán)限,教師本人只能查看和修改自己的個人信息,使用方法跟學(xué)生只能查看自己信息一樣,在獲取教師列表的getTeacherList下進(jìn)行限制。圖4-5教師信息列表窗口若想要對一條教職工信息進(jìn)行修改,可以跳出如下窗口。圖4-6編輯教師信息窗口4.5課程信息管理該所顯示的信息有該課程的名稱、上課老師的姓名、該課程已選人數(shù)以及最大可選人數(shù)。學(xué)生用戶只能在此界面看到課程信息,包括搜索功能,而教師和管理員則卡而已查看和增添、刪除、修改等功能。這里在學(xué)生窗口進(jìn)行限制是使用jsp的<c:if>標(biāo)簽,能夠很方便的制定某一用戶能查看到什么。如學(xué)生不能查看教師信息列表,用<c:if>標(biāo)簽限制只有用戶為管理員和教師才能查看。UserType為1是管理員,3為教師。<c:iftest="${userType==1||userType==3}"> {"menuid":"3","icon":"","menuname":"教師信息管理", "menus":[ {"menuid":"31","menuname":"教師列表","icon":"icon-user-teacher","url":"TeacherServlet?method=toTeacherListView"}, ] },4.6選課信息管理這一部分相較于之前做的功能就比較簡單,只要在窗口下拉框下選擇姓名和課程信息就可以完成選課功能,如圖4-8所示。圖4-7添加選課課程欄這里用到下拉框combobox,將學(xué)生信息列表的值傳遞到combobox中,并且默認(rèn)加載第一條信息,課程下拉框同理。$("#add_studentList").combobox({ url:"StudentServlet?method=StudentList&t="+newDate().getTime()+"&from=combox", onLoadSuccess:function(){ //默認(rèn)選擇第一條數(shù)據(jù) vardata=$(this).combobox("getData"); $(this).combobox("setValue",data[0].id); } });4.7部分功能代碼4.7.1照片信息傳輸(1)首先同樣要在web.xml下設(shè)置一個PhotoServlet。(2)在之前創(chuàng)建的servlet包下創(chuàng)建一個PhotoServelt,同樣在里面編寫請求和獲取的代碼。(3)將相片放進(jìn)數(shù)據(jù)流里進(jìn)行讀取,如下所示:圖4-8讀取圖片代碼4.7.2下拉框完善在之前運(yùn)用combobox將所需要的信息傳到信息框時,在沒有完善之前,它只會顯示傳過來的id值,id值在本系統(tǒng)中有著重要的作用,因為每個類都會有id,比如學(xué)生就有studentId,課程就會有courseId,班級就會有clazzId,而這些類所在的表中也會有id,當(dāng)下拉框傳過來id的時候,就可以轉(zhuǎn)換成名字的形式打印在下拉框上。(1)首先獲取id,代碼如下:(2)然后使用formatter讓傳過來StudentId和CourseId轉(zhuǎn)換為名字打印在下拉框。代碼如下:formatter:function(value,row,index){ if(row.studentId){ varstudentList=$("#studentList").combobox("getData"); for(vari=0;i<studentList.length;i++){ if(row.studentId==studentList[i].id)returnstudentList[i].name; } returnrow.studentId; }else{ return'notfound'; } } 4.7.3選課功能完善(1)檢查課程是否被選滿,在CourseDao下創(chuàng)建一個布爾類型進(jìn)行判斷選擇課程是否已滿,這里將默認(rèn)值設(shè)置為未滿。若選擇的課程的人數(shù)selected_num大于等于最大人數(shù)max_num并且id存在則返回true,就是已經(jīng)滿了。代碼如下:(2)在SelectedCourseServlet里添加方法:privatevoidaddSelectedCourse(HttpServletRequestrequest, HttpServletResponseresponse)throwsIOException{ intstudentId=request.getParameter("studentid")==null?0:Integer.parseInt(request.getParameter("studentid").toString()); intcourseId=request.getParameter("courseid")==null?0:Integer.parseInt(request.getParameter("courseid").toString()); CourseDaocourseDao=newCourseDao(); Stringmsg="success"; if(courseDao.isFull(courseId)){ msg="courseFull"; response.getWriter().write(msg); courseDao.closeCon(); return; }(3)在SelectedCourseDao里判斷是否已經(jīng)選擇該門課程的語句。通過以上的代碼,就能夠?qū)崿F(xiàn)在選課的過程中禁止了課程多選的情況,也方便教職工管理學(xué)生的課程。第五章系統(tǒng)調(diào)試5.1調(diào)試目的在本系統(tǒng)開發(fā)過程中,調(diào)試是在程序編寫過程中極為重要的一個環(huán)節(jié),調(diào)試可以為程序員節(jié)省不少不必要的麻煩。常常一些問題能夠通過瀏覽器控制臺傳過來的狀態(tài)碼分析出問題大概出現(xiàn)在哪個地方,常見的狀態(tài)碼如圖5-1所示。圖5-1狀態(tài)碼5.2調(diào)試方法我們在編寫代碼的過程中要養(yǎng)成一個好習(xí)慣,每寫完一個功能都會在開發(fā)平臺上采用debug(調(diào)試)的方法,通過在一些方法邏輯上設(shè)置斷點,一步步(按F6)找出系統(tǒng)中的錯誤。右鍵項目名,選擇Debugonserver,如下圖所示。圖5-2Debug方法設(shè)置斷點:將斷點設(shè)在實現(xiàn)功能的servlet某方法下(如圖5-3),在瀏覽器點擊該方法的時候,Eclipse平臺將會自動跳到斷點處,此時需要點擊F6進(jìn)行到下一步,將鼠標(biāo)移動到定義的類上,看是否有傳值過來,若某一步出現(xiàn)問題,可以向上一步進(jìn)行調(diào)試。經(jīng)常會出現(xiàn)在字母大小問題和符號上,通常會把“_”弄錯成“-”,有時候會把id的“#”漏掉,而這些問題沒有報錯反饋,只能尋找功能沒能實現(xiàn)的地方,逐個尋找問題。圖5-3設(shè)置斷點第六章總結(jié)與展望6.1總結(jié)眨眼間,九周的開發(fā)終于告一段落。從一開始查找書籍文獻(xiàn)和網(wǎng)上課程的一籌莫展,經(jīng)過這一路的摸爬滾打,從一開始只會前端頁面的設(shè)計到后面能夠?qū)崿F(xiàn)與數(shù)據(jù)庫的交互,感覺自身的改變是非常大的,因為這才是真正的完成了一個真正意義上本質(zhì)的東西,而不是徒有其表,虛無縹緲的。雖然項目目的只是簡單地獲取數(shù)據(jù)并打印到瀏覽器上,但為我的實戰(zhàn)經(jīng)歷又增添了一筆?;ヂ?lián)網(wǎng)的遍及,掀起網(wǎng)站建設(shè)的浪潮,無論哪個行業(yè)基本上都趨向于信息化,數(shù)字化管理。而自己有需求,想要開發(fā)一款自己的系統(tǒng)或者網(wǎng)頁,就必須悉知有關(guān)web開發(fā)的基礎(chǔ)知識,據(jù)我所知的市面上網(wǎng)站開發(fā)框架不可勝局,但是對于初次獨(dú)立開發(fā)一個系統(tǒng)的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 南京市政道路路面施工方案
- 衛(wèi)生間橡皮金防水施工方案
- 退股協(xié)議方案
- 上承式鋼箱拱橋施工方案
- 蒸汽管道下穿鐵路施工方案
- 水庫堤壩加固工程施工方案
- 鐵路變配電所維修施工方案
- 構(gòu)建健全的外商投資服務(wù)體系的策略
- 發(fā)展中醫(yī)藥服務(wù)與傳統(tǒng)醫(yī)療模式的策略及實施路徑
- 低空經(jīng)濟(jì)的市場前景
- 中電投山西鋁業(yè)有限公司寧武寬草坪鋁土礦資源開發(fā)利用、地質(zhì)環(huán)境保護(hù)與土地復(fù)墾方案
- 《所羅門王的指環(huán)》讀書筆記
- 外貿(mào)跟單英語崗位職責(zé)
- 新能源汽車實訓(xùn)指導(dǎo)書
- 北京地鐵規(guī)章制度
- 深基坑土方開挖專家論證專項技術(shù)方案
- 2021年10月全國自學(xué)考試00040法學(xué)概論試題答案
- 一汽解放重卡AMT-結(jié)構(gòu)原理介紹
- GB/T 9851.1-2008印刷技術(shù)術(shù)語第1部分:基本術(shù)語
- GB/T 5781-2016六角頭螺栓全螺紋C級
- GB/T 32722-2016土壤質(zhì)量土壤樣品長期和短期保存指南
評論
0/150
提交評論