畢業(yè)論文-基于jsp的學(xué)生成績管理系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
畢業(yè)論文-基于jsp的學(xué)生成績管理系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
畢業(yè)論文-基于jsp的學(xué)生成績管理系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
畢業(yè)論文-基于jsp的學(xué)生成績管理系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
畢業(yè)論文-基于jsp的學(xué)生成績管理系統(tǒng)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

畢業(yè)論文--基于jsp的學(xué)生成績管理系統(tǒng)的設(shè)計與實現(xiàn)摘要學(xué)生成績管理系統(tǒng)主要用于各類大學(xué)院校在教學(xué)這一局部的管理,是針對于教務(wù)處對課程、對學(xué)生、對學(xué)生成績進行合理地安排以及統(tǒng)籌方案,以便讓教務(wù)處以最短的工作時間內(nèi)把學(xué)生的成績核算出來,提高教務(wù)處的辦事效率。同時,能夠隨時對學(xué)生根本信息、學(xué)生成績進行各種查詢,以便及時很好地對需要了解的信息得到相應(yīng)的反應(yīng),能有效的幫助教務(wù)處的工作,可使學(xué)院教職工減輕工作壓力,比擬系統(tǒng)地對、教務(wù)教學(xué)上的各項效勞和信息進行管理。本系統(tǒng)是針對學(xué)生成績管理進行設(shè)計的,主要用戶為學(xué)校教務(wù)管理老師,但學(xué)生也可參與對自己信息的核對確認(rèn)。主要采用的開發(fā)工具是JSP和MYSQL。在開發(fā)過程中利用面向?qū)ο蟮某绦蛩枷牒蛧?yán)格按照軟件工程的開發(fā)過程來進行分析和設(shè)計。本系統(tǒng)所要完成以下幾個主要功能,其中有學(xué)生成績管理、學(xué)生根本信息管理等等,實現(xiàn)對學(xué)生根本信息和成績進行錄入、修改、刪除、查詢等操作。系統(tǒng)根本滿足了學(xué)生成績管理的功能需要,確實為學(xué)校對學(xué)生的管理提供了便利。本系統(tǒng)界面友好、操作簡單,對學(xué)生根本情況和成績加快了查詢速度、加強了管理,使各項管理更加標(biāo)準(zhǔn)化。關(guān)鍵詞:模塊化,數(shù)據(jù)庫,數(shù)據(jù)庫管理系統(tǒng)AbstractThemanagementsystemofstudent’sachievementismainlyappliedinpartofteachingmanagementofallkindsofuniversities.Itisappliedinadministrationsectiontoarrangcurriculum,student’sachievementandsoon,inordertoaccountstudent’sachievementsoquicklythatenhanceworkefficience.Meanwhile,thesystemcaninquireachievementandinformationofstudentsinordertogetsomeusefulinformation.timely,thus,itcangavessomehelptoadministrationsectionandalleviateworkpressureofacademicstaffsandmanageallkindsofsevicesandinformationsinsyslematically.Thesystemisdesignedformanagementofstudent’sachievement.Itismostlyusedbyteacherwhomworkinadministrationsection.Itissometimesusedbystudentwhomwanttocheckhisinformation.MainlyUSESthedevelopmenttoolsareJSPandMYSQL.Themainlyfoundationmusttobeaccomplishedinthemanagementsystemofstudent’sachievementasfollows:managementofstudent’sachievement,managementofstudent’sbasicinformationandsoon.Ofcourse,thesystemcanbeaimedatachievementandbasicinformationofstudenttomodifyordeleteorinquirerecords.Thesystemcontentwithfoundationofmanagmentofstudent’sachievementinbasically,itprovidesconveriencewithschooltomanagestudent.Theinterfaceisprovidedbysystemisfriendly,andtheoperationissimple.Toachievementandbasicinformationofstudent’s,itspeedsupforinquring.Strengthenmanagementandmolkesallkindsofmanagementmorestandardlize.Inawords,thesystemhascompatibitilyandissuitedformostpeople.Keywords:modularize,database,DBMS目錄摘要.....................................................................1第一章選課的目的與意義...................................................41.1概述..............................................................41.2課題來源、目的與意義..............................................4第二章系統(tǒng)的開發(fā)技術(shù)及主要構(gòu)架...........................................72.1開發(fā)技術(shù)的選擇....................................................72.2工程開發(fā)的工具....................................................72.3數(shù)據(jù)庫的連接.....................................................11第三章需求分析..........................................................133.1功能分析.........................................................133.2流程分析.........................................................143.3系統(tǒng)概念模型描述.................................................163.4數(shù)據(jù)庫設(shè)計.......................................................20第四章系統(tǒng)的設(shè)計與實現(xiàn)..................................................244.1管理員模塊功能...................................................244.2教師模塊功能.....................................................374.3學(xué)生模塊功能.....................................................45總結(jié)....................................................................53參考文獻..................................................................54致謝....................................................................概述本管理系統(tǒng)主要內(nèi)容是學(xué)生成績管理,其中有學(xué)生成績管理,學(xué)生根本情況管理等等。在開發(fā)過程中,注意使其符合操作的業(yè)務(wù)流程,并力求系統(tǒng)的全面性、通用性,使得本系統(tǒng)能適用于各類大學(xué)院校。在開發(fā)方法的選擇上,選擇了生命周期法與原型法相結(jié)合的方法,遵循系統(tǒng)調(diào)查研究、系統(tǒng)分析、系統(tǒng)設(shè)計和系統(tǒng)實施四個主要階段進行設(shè)計,而在具體的設(shè)計上,采取了演化式原型法,隨著用戶的使用及對系統(tǒng)了解的不斷加深,對某一局部或幾局部進行重新分析、設(shè)計、實施。在開發(fā)工具的選擇上,我使用了JSP及MYSQL關(guān)系數(shù)據(jù)庫開發(fā)工具,在短時間內(nèi)建立系統(tǒng)應(yīng)用原型。然后,對初始原型系統(tǒng)進行需求迭代,不斷修正和改良,直到形成一個滿意的可行系統(tǒng)。本文以學(xué)校管理信息系統(tǒng)建設(shè)中的成績管理子系統(tǒng)的開發(fā)為背景,論述了管理信息系統(tǒng)的概念、結(jié)構(gòu)及系統(tǒng)開發(fā)的根本原理和方法,全文共分為概述、系統(tǒng)分析、系統(tǒng)總體設(shè)計、詳細設(shè)計、開發(fā)總結(jié)、致謝、參考文獻、附錄等。1.2課程來源、目的與意義學(xué)院在教學(xué)這一局部主要是由教務(wù)處對課程、對學(xué)生、對學(xué)生成績進行合理地安排以及統(tǒng)籌方案,以便讓教務(wù)處以最短的工作時間內(nèi)把學(xué)生的成績核算出來,提高教務(wù)處的辦事效率。同時,能夠隨時對學(xué)生根本信息、學(xué)生成績進行各種查詢,以便及時很好地對需要了解的信息得到相應(yīng)的反應(yīng),能有效的幫助教務(wù)處的工作,可使學(xué)院教職工減輕工作壓力。利用成績管理系統(tǒng)對學(xué)生的成績進行合理管理,實現(xiàn)學(xué)生成績的錄入、編輯、刪除等功能,也可以實現(xiàn)成績的排序、檢索等。它將成為教務(wù)處老師的一個很好的幫手。本系統(tǒng)是將現(xiàn)代化的計算機技術(shù)和傳統(tǒng)的教學(xué)、教務(wù)工作相結(jié)合,按照學(xué)院的工作流程設(shè)計完成的。本系統(tǒng)能在學(xué)院的管理中發(fā)揮更大的作用,實現(xiàn)工作過程的計算機化,提高工作效率和工作質(zhì)量,該系統(tǒng)的完成將具有以下幾點重要的意義:〔1〕系統(tǒng)具有較強的實用性、可靠性和適用性,同時也具有一定的先進性。〔2〕對各個數(shù)據(jù)庫能進行動態(tài)管理,有效的防止了數(shù)據(jù)的混亂?!?〕能夠按照用戶選擇的不同的條件進行簡單查詢和復(fù)合查詢?!?〕能夠?qū)Σ樵兘Y(jié)果進行分類匯總,實現(xiàn)報表打印?!?〕并且注意到了數(shù)據(jù)的平安性,具有數(shù)據(jù)備份和恢復(fù)的功能?!?〕簡化了用戶的操作過程,盡量減少用戶的工作量。2系統(tǒng)的開發(fā)技術(shù)及主要架構(gòu)2.1開發(fā)技術(shù)的選擇合理的選擇開發(fā)技術(shù),對于網(wǎng)站開發(fā)的完成情況有著非常重要的影響。要開發(fā)一個網(wǎng)站,首先要選擇一個動態(tài)網(wǎng)頁開發(fā)技術(shù)。當(dāng)前比擬流行的動態(tài)網(wǎng)頁開發(fā)技術(shù)有JSP、ASP、PHP。它們的特性比擬如表3-1所示:表2-1asp/jsp/php比擬表技術(shù)名稱ASPJSPPHP對數(shù)據(jù)庫的支持好好好開發(fā)難易度容易容易較難使用平臺Windows9X/NTWindows/UNIXUNIX平安性不好好不好對組件的支持支持支持不支持執(zhí)行方式解釋執(zhí)行編譯之后執(zhí)行解釋執(zhí)行跨平臺不好好好這三種都是在傳統(tǒng)的6>HTML代碼中,利用HTML標(biāo)簽的擴展,構(gòu)成頁面。不難看出,JSP的綜合實力是最強的,尤其是在平安性和跨平臺性兩個方面,比其他的兩種技術(shù)都要好,因此,最后我們選擇基于Java的JSP技術(shù)作為動態(tài)網(wǎng)頁的開發(fā)技術(shù)。2.2工程開發(fā)的工具本系統(tǒng)采用MyEclipse8.6+My+tomMyEclipe簡介MyEclipse企業(yè)級工作平臺〔MyEclipseEnterpriseWorkbench,簡稱MyEclipse是對EclipseIDE的擴展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布,以及應(yīng)用程序效勞器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。在結(jié)構(gòu)上,MyEclipse的特征可以被分為7類:1.JavaEE模型2.WEB開發(fā)工具3.EJB開發(fā)工具4.應(yīng)用程序效勞器的連接器5.JavaEE工程部署效勞6.數(shù)據(jù)庫效勞7.MyEclipse整合幫助對于以上每一種功能上的類別,在Eclipse中都有相應(yīng)的功能部件,并通過一系列的插件來實現(xiàn)它們。MyEclipse結(jié)構(gòu)上的這種模塊化,可以讓我們在不影響其他模塊的情況下,對任一模塊進行單獨的擴展和升級。MySql簡介MySQL名字的來歷MySQL是一個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQLAB公司,在2021年1月16號被Sun公司收購。MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有本錢低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有本錢而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。與其他的大型數(shù)據(jù)庫例如Oracle、DB2、SQLServer等相比,MySQL自有它的缺乏之處,如規(guī)模小、功能有限〔MySQLCluster的功能和效率都相比照擬差〕等,但是這絲毫也沒有減少它受歡送的程度。對于一般的個人使用者和中小型企業(yè)來說,MySQL提供的功能已經(jīng)綽綽有余,而且由于MySQL是開放源碼軟件,因此可以大大降低總體擁有本錢。PowerDesigner簡介PowerDesigner是一個功能強大而使用簡單工具集,提供了一個復(fù)雜的交互環(huán)境,支持開發(fā)生命周期的所有階段,從處理流程建模到對象和組件的生成。PowerDesigner產(chǎn)生的模型和應(yīng)用可以不斷地增長,適應(yīng)并隨著你的組織的變化而變化。PowerDesigner系列產(chǎn)品提供了一個完整的建模解決方案,業(yè)務(wù)或系統(tǒng)分析人員,設(shè)計人員,數(shù)據(jù)庫管理員DBA和開發(fā)人員可以對其裁剪以滿足他們的特定的需要;而其模塊化的結(jié)構(gòu)為購置和擴展提供了極大的靈活性,從而使開發(fā)單位可以根據(jù)其工程的規(guī)模和范圍來使用他們所需要的工具。PowerDesigner靈活的分析和設(shè)計特性允許使用一種結(jié)構(gòu)化的方法有效地創(chuàng)立數(shù)據(jù)庫或數(shù)據(jù)倉庫,而不要求嚴(yán)格遵循一個特定的方法學(xué)。PowerDesigner提供了直觀的符號表示使數(shù)據(jù)庫的創(chuàng)立更加容易,并使工程組內(nèi)的交流和通訊標(biāo)準(zhǔn)化,同時能更加簡單地向非技術(shù)人員展示數(shù)據(jù)庫和應(yīng)用的設(shè)計。PowerDesigner不僅加速了開發(fā)的過程,也向最終用戶提供了管理和訪問工程的信息的一個有效的結(jié)構(gòu)。它允許設(shè)計人員不僅創(chuàng)立和管理數(shù)據(jù)的結(jié)構(gòu),而且開發(fā)和利用數(shù)據(jù)的結(jié)構(gòu)針對領(lǐng)先的開發(fā)工具環(huán)境快速地生成應(yīng)用對象和數(shù)據(jù)敏感的組件。開發(fā)人員可以使用同樣的物理數(shù)據(jù)模型查看數(shù)據(jù)庫的結(jié)構(gòu)和整理文檔,以及生成應(yīng)用對象和在開發(fā)過程中使用的組件。應(yīng)用對象生成有助于在整個開發(fā)生命周期提供更多的控制和更高的生產(chǎn)率。Tomcat簡介Tomcat是Apache軟件基金會〔ApacheSoftwareFoundation〕的Jakarta工程中的一個核心工程,由Apache、Sun和其他一些公司及個人共同開發(fā)而成。由于有了Sun的參與和支持,最新的Servlet和JSP標(biāo)準(zhǔn)總是能在Tomcat中得到表達,Tomcat5支持最新的Servlet2.4和JSP2.0標(biāo)準(zhǔn)。因為Tomcat技術(shù)先進、性能穩(wěn)定,而且免費,因而深受Java愛好者的喜愛并得到了局部軟件開發(fā)商的認(rèn)可,成為目前比擬流行的Web應(yīng)用效勞器。Tomcat很受廣闊程序員的喜歡,因為它運行時占用的系統(tǒng)資源小,擴展性好,支持負(fù)載平衡與郵件效勞等開發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的改良和完善中,任何一個感興趣的程序員都可以更改它或在其中參加新的功能。Tomcat是一個小型的輕量級應(yīng)用效勞器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP程序的首選。對于一個初學(xué)者來說,可以這樣認(rèn)為,當(dāng)在一臺機器上配置好Apache效勞器,可利用它響應(yīng)對HTML頁面的訪問請求。實際上Tomcat局部是Apache效勞器的擴展,但它是獨立運行的,所以當(dāng)你運行tomcat時,它實際上作為一個與Apache獨立的進程單獨運行的。這里的訣竅是,當(dāng)配置正確時,Apache為HTML頁面效勞,而Tomcat實際上運行JSP頁面和Servlet。另外,Tomcat和IIS、Apache等Web效勞器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的默認(rèn)模式。不過,Tomcat處理靜態(tài)HTML的能力不如Apache效勞器。2.3數(shù)據(jù)庫的連接本系統(tǒng)采用JDBC連接方式。JDBC〔JavaDataBaseConnectivity,java數(shù)據(jù)庫連接〕是一種用于執(zhí)行SQL語句的JavaAPI,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC為工具/數(shù)據(jù)庫開發(fā)人員提供了一個標(biāo)準(zhǔn)的API,據(jù)此可以構(gòu)建更高級的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠用純JavaAPI編寫數(shù)據(jù)庫應(yīng)用程序。有了JDBC,向各種關(guān)系數(shù)據(jù)發(fā)送SQL語句就是一件很容易的事。換言之,有了JDBCAPI,就不必為訪問API寫一個程序就夠了,它可向相應(yīng)數(shù)據(jù)庫發(fā)送SQL調(diào)用。同時,將Java語言和JDBC結(jié)合起來使程序員不必為不同的平臺編寫不同的應(yīng)用程序,只須寫一遍程序就可以讓它在任何平臺上運行,這也是Java語言“編寫一次,處處運行〞的優(yōu)勢。Java具有鞏固、平安、易于使用、易于理解和可從網(wǎng)絡(luò)上自動下載等特性,是編寫數(shù)據(jù)庫應(yīng)用程序的杰出語言。所需要的只是Java應(yīng)用程序與各種不同數(shù)據(jù)庫之間進行對話的方法。而JDBC正是作為此種用途的機制。JDBC擴展了Java的功能。例如,用Java和JDBCAPI可以發(fā)布含有applet的網(wǎng)頁,而該applet使用的信息可能來自遠程數(shù)據(jù)庫。企業(yè)也可以用JDBC通過Intranet將所有職員連到一個或多個內(nèi)部數(shù)據(jù)庫中〔即使這些職員所用的計算機有Windows、Macintosh和UNIX等各種不同的編程語言,對從Java中便捷地訪問數(shù)據(jù)庫的要求也在日益增加。MISJava和JDBC的結(jié)合,因為它使信息傳播變得容易和經(jīng)濟。企業(yè)可繼續(xù)使用它們安裝好的數(shù)據(jù)庫,并能便捷地存取信息,即使這些信息是儲存在不同Java和JDBC可為外部客戶提供獲取信息更新的更好方法。packagemsc.dbc;importection;importerManager;importltSet;importxception;importement;publicclassDataBaseConnectionprivatestaticStringDBDRIVER".Driver";privatestaticStringDBURL"jdbc:gbk";privatestaticStringDBUSER"root";privatestaticStringDBPASSWORD"";privatestaticConnectionconnnull;publicConnectiongetConnectiontryClass.forNameDBDRIVER;connDriverManager.getConnectionDBURL,DBUSER,DBPASSWORD;catchExceptioneSytln"vv"+e.getMessage;returnconn;publicvoidclosetrye;catchExceptione3需求分析3.1功能分析經(jīng)過前期的深入調(diào)查和研究,總結(jié)出該系統(tǒng)需要完成的一些具體功能,分析如下:管理員管理能夠完成管理員對教師的信息管理〔教師信息查詢、信息修改、增加信息、信息刪除〕、學(xué)生管理〔學(xué)生信息查詢、選課查詢、學(xué)生信息修改、學(xué)生信息刪除〕、課程管理〔課程信息查詢、課程管理〕,以及查看、回復(fù)和刪除留言的功能。教師管理能夠完成開設(shè)課程、信息查詢、成績提交、密碼修改的功能。學(xué)生管理能夠完成個人信息查詢、選擇課程、密碼修改、留言的功能。圖3.1功能.1系統(tǒng)流程只有在教師開設(shè)了某一門課程,并且在網(wǎng)上提交成功以后,學(xué)生才可以查詢到此門課程,并且才可以選定課程,提交成功以后,待考試結(jié)束,教師即可對選擇自己開設(shè)課程的學(xué)生錄入成績,并且提交。圖3.2選課系統(tǒng)登錄流程登陸的時候會根據(jù)用戶的用戶名進行判斷是哪種身份的登錄,并以不同的身份登陸后執(zhí)行不同的功能,具有不同的權(quán)限。圖3.3登陸流程圖3.3系統(tǒng)概念模型描述目前,在概念設(shè)計階段實體聯(lián)系模型是廣泛使用的設(shè)計工具。統(tǒng)的實體型本系統(tǒng)包括學(xué)生、教師、班級三個主要實體。學(xué)生實體型屬性有學(xué)號、姓名、登錄密碼。課程實體型屬性有課程編號、課程名稱、課程學(xué)分。教師實體性屬性有教師編號、教師姓名、登錄密碼。系統(tǒng)局部E-R圖學(xué)生實體型與課程實體型存在選課的聯(lián)系,一個學(xué)生可以選修多門課程,每門課程可以被多個學(xué)生選修,所以它們之間存在多對多聯(lián)系m:n,如下列圖所示:圖3.4學(xué)生---課程E-R圖教師實體型與課程實體型存在屬于的關(guān)系,一個課程只可屬于一個教師,每個教師可以有多個課程,所以教師實體型和課程實體型存在一對多聯(lián)系1:n,如下列圖所示:圖3.5教師---課程E-R圖系統(tǒng)的局部E-R圖,只反映局部應(yīng)用實體型之間的聯(lián)系,但不能從整體上反映實體型之間的相互關(guān)系。另外,對于一個較為復(fù)雜的應(yīng)用而言,各局部是由多個分析人員合作完成的,畫出的E-R圖只能反映各局部應(yīng)用。各局部E-R圖之間可能存在一些沖突和重復(fù)的局部。為減少這些問題,必須根據(jù)實體聯(lián)系在實際應(yīng)用中的語義,進行綜合、調(diào)整和優(yōu)化,得到系統(tǒng)的合成優(yōu)化E-R圖,如下列圖所示:圖3.6系統(tǒng)E-R圖3.4數(shù)據(jù)庫設(shè)計得出數(shù)據(jù)表的各個關(guān)系模式后,需要給出是各數(shù)據(jù)表結(jié)構(gòu)??紤]系統(tǒng)的兼容性及編寫程序的方便性,可將關(guān)系模式的屬性對應(yīng)為表字段的英文名。同時,考慮到數(shù)據(jù)依賴關(guān)系和數(shù)據(jù)完整性,需要指出表的主碼和外碼,以及字段的值域約束和數(shù)據(jù)類型。數(shù)據(jù)庫名:msc表1課程表course字段字段名類型長度主鍵可否為空Con課程編號數(shù)值型20是否Cname課程名稱文本型50否Credit學(xué)分?jǐn)?shù)值型20表2學(xué)生表student字段字段名類型長度主鍵可否為空Sid學(xué)生編號數(shù)值型20是否Sname學(xué)生姓名文本型50否Smajor專業(yè)文本型50Sclass班級數(shù)值型20Tcredit總學(xué)分?jǐn)?shù)值型20Tcreditjd掛科學(xué)分?jǐn)?shù)值型20Ocredit平均學(xué)分績點數(shù)值型20Acredit總學(xué)分績點數(shù)值型20Egrade課程班級數(shù)值型20Majorpm專業(yè)排名數(shù)值型20Classpm班級排名數(shù)值型20Scode登錄密碼數(shù)值型20表3教師表teacher字段字段名類型長度主鍵可否為空Tid教師編號數(shù)值型20是否Tname教師姓名文本型50否Tcode登錄密碼數(shù)值型20表4用戶表user字段字段名類型長度主鍵可否為空Id用戶名數(shù)值型20是否Name用戶姓名文本型50否Code登錄密碼數(shù)值型20Kind登錄身份數(shù)值型20否表5開設(shè)課程表teacher_course字段字段名類型長度主鍵可否為空Id編號數(shù)值型20是否Tid教師編號數(shù)值型20是否Con課程編號數(shù)值型20是否Credit學(xué)分?jǐn)?shù)值型20Avscore平均分?jǐn)?shù)值型20score最高分?jǐn)?shù)值型20Minscore最低分?jǐn)?shù)值型20Cteachno教學(xué)班號數(shù)值型20Clocation上課地點數(shù)值型20Ctime上課時間文本型50C課程容量數(shù)值型20Csel已選人數(shù)數(shù)值型20表6學(xué)生選課表student_course字段字段名類型長度主鍵可否為空Id編號數(shù)值型20是否Sid學(xué)生編號數(shù)值型20是否Con課程編號數(shù)值型20是否Tid教師編號數(shù)值型20是否Credit學(xué)分?jǐn)?shù)值型20Pscore平均成績數(shù)值型20Lscore平時成績數(shù)值型20Escore期末成績數(shù)值型20Scorejd學(xué)分績點數(shù)值型20表7留言表record字段字段名類型長度主鍵可否為空Mid編號數(shù)值型20是否Id用戶名文本型50是否Name用戶姓名文本型50否Content留言內(nèi)容文本型255Date留言日期模塊功能管理員模塊詳細表述:首先進入登陸界面圖4.1登錄頁面輸入用戶名:admin密碼:123以管理員身添加學(xué)生信息頁面publicvoidInsertStudentStringsid,Stringsname,Stringsmajor,Stringsclass,StringscodethrowsExceptionStringsql"teUpdatesql;stmt.close;catchExceptionethrownewException"插入中出現(xiàn)錯誤!??!";finallydbc.close;刪除學(xué)生信息頁面publicvoidDeletebyIDStringsidthrowsExceptionStringsql"DELETEFROMstudentWHEREsid'"+sid+"';";Statementstmtnull;DataBaseConnectiondbcnull;dbcnewDataBaseConnection;trystmtdbc.getConnection.createStatement;stmt.executeUpdatesql;stmt.close;catchExceptionethrownewException"刪除中出現(xiàn)錯誤!?。?;finallydbc.close;查詢學(xué)生信息頁面publicVectorSelectStringsid,Stringsclass,StringsmajorthrowsExceptionVectorallnewVector;Stringsql1"SELECT*FROMstudentWHERE";Stringsqlnull;ifsid!""sqlsql1+"sidLIKE'%"+sid+"%'";ifsclass!""sqlsql+"andsclassLIKE'%"+slose;catchExceptionethrownewException"查詢中出現(xiàn)錯誤?。。?;finallydbc.close;returnall;publicStringSelectBySidStringsidthrowsExceptionStringsnamenull;Stringsql"selectsnamefromstudentwheresid'"+sid+"';";Statementstmtnull;DataBaseConnectiondbcnull;dbcnewDataBaseConnection;trystmtdbc.getConnection.createStatement;ResultSetrsstmt.executeQuerysql;whilers.nextsnamers.getString"sname";rs.close;stmt.close;catchExceptione//TODO:handleexceptionthrownewException"查詢中出錯?。?!";finallydbc.close;returnsname;修改學(xué)生信息頁面publicvoidUpdatebyIDStringsid,Stringsname,Stringsmajor,Stringsclass,StringscodethrowsExceptionStringsql"UPDATEstudentsetsname'"+sname+"',smajor'"+smajor+"',sclass'"+sclass+"',scode'"+scode+"'WHEREsid'"+sid+"';";Statementstmtnull;DataBaseConnectiondbcnull;dbcnewDataBaseConnection;trystmtdbc.getConnection.createStatement;stmt.executeUpdatesql;stmt.close;catchExceptionethrownewException"修改中出現(xiàn)錯誤?。?!";finallydbc.close;留言板publicVectorSearchMassagethrowsExceptionVectorallnewVector;Stringsql"SELECT*FROMrecordORDERBYmiddesc";Statementstmtnull;DataBaseConnectiondbcnull;dbcnewDataBaseConnection;trystmtdbc.getConnection.createStatement;ResultSetrsstmt.executeQuerysql;whilers.nextMassagemsgnewMassage;msg.setMidrs.getInt"mid";msg.setIdrs.getString"id";msg.setNamers.getString"name";msg.setContentrs.getString"content";msg.setDaters.getString"date";all.addElementmsg;rs.close;stmt.close;catchExceptionethrownewException"查詢中出現(xiàn)錯誤!?。?;finallydbc.close;returnall;可以對留言進行刪除和回復(fù)操作:圖4.7管理員回復(fù)頁面publicvoidInsertMassageStringid,Stringname,Stringcontent,StringdatethrowsExceptionStringsql"Iion.createStatement;stmt.executeUpdatesql;Sytln"##############";stmt.close;catchExceptionethrownewException"插入中出錯?。?!";finallydbc.close;publicvoidDeletebyMidintmidthrowsExceptionStringsql"DELETEFROMrecordWHEREmid"+mid+";";Statementstmtnull;DataBaseConnectiondbcnull;dbcnewDataBaseConnection;trystmtdbc.getConnection.createStatement;stmt.executeUpdatesql;stmt.close;catchExceptionethrownewException"刪除中出現(xiàn)錯誤!??!";finallydbc.close;教師信添加教師信息頁面publicclassTeacherDAOpublicvoidInsertTeacherStringtid,Stringtname,StringtcodethrowsExceptionStringsql"INSERTINTOteachertid,tname,tcodeVALUES'"+tid+"','"+tname+"','"+tcode+"';";Statementstmtnull;DataBaseConnectiondbcnull;dbcnewDataBaseConnection;trystmtdbc.getConnection.createStatement;stmt.executeUpdatesql;stmt.close;catchExceptionethrownewException"插入中出現(xiàn)錯誤?。?!";finallydbc.close;.3課查詢課程信息頁面publicVectorSelectStringcno,Stringcname,doublecreditthrowsExceptionVectorallnewVector;Stringsql1"SELECT*FROMcourseWHERE";Stringsqlnull;ifcno!""sqlsql1+"cnoLIKE'%"+cno+"%'";ifcname!""sqlsql+"andcnameLIKE'%"+cname+"%'";ifcredit!0sqlsql+"credit'"+credit+"'";elseifcname!""sqlsql1+"cnameLIKE'%"+cname+"%'";ifcredit!0sqlsql+"andcredit'"+credit+"'";elseifcredit!0sqlsql1+"credit'"+credit+"'";elsesql"SELECT*FROMcourse";sqlsql+";";Statementstmtnull;DataBaseConnectiondbcnull;dbcnewDataBaseConnection;trystmtdbc.getConnection.createStatement;ResultSetrsstmt.executeQuerysql;whilers.nextCoursecounewCourse;cou.setCnors.getString"cno";cou.setCnamers.getString"cname";cou.setCreditrs.getDouble"credit";all.addElementcou;rs.close;stmt.close;catchExceptionethrownewException"查詢中出現(xiàn)錯誤?。?!";finallydbc.close;returnall;.4成績處理包括成績匯總和排名次的功能圖4.10成績處修改密碼圖4.11管理員修改密碼頁面publicvoidChangecodeStringid,StringcodethrowsExceptionStringsql"UPDATEusersetcode'"+code+"'WHEREid'"+id+"';";Statementstmtnull;DataBaseConnectiondbcnull;dbcnewDataBaseConnection;trystmtdbc.getConnection.createStatement;stmt.executeUpdatesql;stmt.close;catchExceptionethrownewException"修改中出現(xiàn)錯誤!?。?;finallydbc.close;4.2教師模塊功能輸入用戶名:234密碼:123以教師身開設(shè)課程1.課程查詢〔同管理員中課程查詢功能相同〕2.提交課程必須是管理員已經(jīng)添加的課程才可以開設(shè)圖4.12開設(shè)課程頁面publicvoiddoGetHttpServletRequestrequest,HttpServletResponseresponsethrowsServletException,IOExceptiondoPostrequest,response;publicvoiddoAddHttpServletRequearameter"ctime2";Stringscrequest.getParameter"c";intcInteger.parseIntsc;intcteachnoInteger.parseIntscteachno;Stringctime"星期"+ctime1+"第"+ctime2+"節(jié)";TcDAOtcdaonewTcDAO;trySytln"^^^^^^^^^^^^^^";tcdao.InsertCoursetid,cno,cteachno,clocation,ctime,c;out.println"";out.println"AServlet";out.println"BODYbgcolor#8dd8f8";out.print"imgsrcimage/t.pngfontsize6colorred提交成功!";out.println"";out.println"";catchExceptioneout.println"";out.println"AServlet";out.println"BODYbgcolor#8dd8f8";out.print"imgsrcimage/f.pngfontsize6colorred提交失??!";out.println"";out.println"";out.flush;out.close;成功開設(shè)課程頁面4.刪除課程只能刪除自己開設(shè)的課程publicvoiddoDeleteHttpServletRequestrequest,HttpServletResponseresponsethrowsServletException,IOExceptionresponse.setContentType"text/html";request.setCharacterEncoding"utf-8";response.setCharacterEncoding"utf-8";PrintWriteroutresponse.getWriter;Stringtidrequest.getParameter"tid";Stringrnrequest.getParameter"n";intnInteger.parseIntrn;intfn0;intdn0;ScDAOscdaonewScDAO;TcDAOtcdaonewTcDAO;forinti0;in;i++Stringcnorequest.getParameter"cno"+i+"";ifcno!nulltrytcdao.DeletebyIDtid,cno;scdao.DeletebyTidCnotid,cno;catchExceptione//TODOAuracterEncoding"utf-8";PrintWriteroutresponse.getWriter;Stringrsnrequest.getParameter"sn";intsnInteger.parseIntrsn;Stringtidrequest.getParameter"tid";Stringcnorequest.getParameter"cno";Stringsubmitrequest.getParameter"submit";TcDAOtcdaonewTcDAO;intcon0;forintj0;jsn;j++Stringsidrequest.getParameter"sid"+j+"";Stringrpscorerequest.getParameter"pscore"+j+"";Stringrlscorerequest.getParameter"lscore"+j+"";doublepscoreDouble.parseDoublerpscore;doublelscoreDouble.parseDoublerlscore;ScDAOscdaonewScDAO;tryscdao.UpdateScoresid,cno,tid,pscore,lscore;catchExceptioneout.println"";out.println"AServlet";out.println"BODYbgcolor#8dd8f8";out.print"imgsrcimage/f.pngfontsize6colorred第"+j+1+"名學(xué)生成績提交失?。?;out.println"";out.println"";concon++;ifcon0tryifsubmit.equals"暫時提交"tcdao.UpdateSubtid,cno,"1";elsetcdao.UpdateSubtid,cno,"2";catchExceptione//TODOAuto-generatedcatchblocke.printStackTrace;out.println"";out.println"AServlet";out.println"BODYbgcolor#8dd8f8";out.print"imgsrcimage/t.pngfontsize6colorred提交成功!";out.println"";out.println"";out.flush;out.close;暫時提交以后,成績將不會在已提交頁面中顯示,而且可以隨時修改成績,最終提交以后就不能再修改成績,最終成績將在已提交課程中顯示。另外,本系統(tǒng)為了方便教師保存查閱成績信息,將提供導(dǎo)出excel表的功能,教師可以自由下載。圖4.16最信息查詢?yōu)榱朔奖憬處煴救碎_設(shè)課程,本系統(tǒng)不但可以查詢教師本人的詳細信息以及開設(shè)課程所有信息,還包括選擇自己開設(shè)課程的學(xué)生,以及其他教師的開設(shè)課程的詳細信息,以免發(fā)生沖突。圖4.17教師個人信息查詢頁面publicVectorSelectSelfStringtid,StringconthrowsExceptionVectorallnewVector;Stringsql"SELECTtco,courseame,course.credit,tc.cteachno,tc.clocation,tc.ctime,tc.c,tc.cselfromtc,coursewherecourseotcoandtc.tid'"+tid+"'";ifcon.equals"1"sqlsql+"andtc.sub!'2';";elseifcon.equals"2"sqlsql+"andtc.sub'2';";Statementstmtnull;DataBaseConnectiondbcnull;dbcnewDataBaseConnection;trystmtdbc.getConnection.createStatement;ResultSetrsstmt.executeQuerysql;whilers.nextTccounewTc;cou.setCnors.getString"tco";cou.setCnamers.getString"courseame";cou.setCreditrs.getDouble"course.credit";cou.setClocationrs.getString"tc.clocation";cou.setCteachnors.getInt"tc.cteachno";cou.setCtimers.getString"tc.ctime";cou.setCrs.getInt"tc.c";cou.setCselrs.getInt"tc.csel";all.addElementcou;rs.close;stmt.close;catchExceptionethrownewException"查詢中出現(xiàn)錯誤!??!";finallydbc.close;returnall;圖4.18其他教師開設(shè)課程查詢頁面publicVectorSelectScoreStringtidthrowsExceptionVectorallnewVector;Stringsql"SELECTtco,courseame,course.credit,tc.cselfromtc,coursewheretc.tid'"+tid+"'andcourseotco;";Statementstmtnull;DataBaseConnectiondbcnull;dbcnewDataBaseConnection;trystmtdbc.getConnection.createStatement;ResultSetrsstmt.executeQuerysql;whilers.nextTccounewTc;cou.setCnors.getString"tco";cou.setCnamers.getString"courseame";cou.setCreditrs.getDouble"course.credit";cou.setCselrs.getInt"tc.csel";all.addElementcou;rs.close;stmt.close;catchExceptionethrownewException"查詢中出現(xiàn)錯誤?。?!";finallydbc.close;returnall;publicStringSelectTidStringcno,intcteachnothrowsExceptionStringsql"SELECTtidfromtcwherecno'"+cno+"'andcteachno"+cteachno+";";Statementstmtnull;DataBaseConnectiondbcnull;dbcnewDataBaseConnection;Stringtidnull;trystmtdbc.getConnection.createStatement;ResultSetrsstmt.executeQuerysql;whilers.nexttidrs.getString"tid";rs.close;stmt.close;catchExceptionethrownewException"查詢中出現(xiàn)錯誤?。?!";finallydbc.close;returntid;密碼修改publicvoidChangecodeStringtid,StringtcodethrowsExceptionStringsql"UPDATEteachersettcode'"+tcode+"'WHEREtid'"+tid+"';";Statementstmtnull;DataBaseConnectiondbcnull;dbcnewDataBaseConnection;trystmtdbc.getConnection.createStatement;stmt.executeUpdatesql;stmt.close;catchExceptionethrownewException"修改中出現(xiàn)錯誤!??!";finallydbc.close;4.3學(xué)生模塊功能用戶名:004密碼:123以學(xué)生身份登錄1.課程查詢學(xué)生可以根據(jù)不同的查詢條件進行查詢,從而決定自己選擇的課程。4.19查詢課程信息頁面publicclassScDAOpublicVectorScSelectStringcno,Stringcname,doublecredit,intcteachno,Stringclocation,Stringctime,StringtnamethrowsExceptionVectorallnewVector;Stringsql"SELECTtco,courseame,course.credit,tc.cteachno,tc.clocation,tc.ctime,tc.c,tc.csel,teacher.tnameFROMtc,course,teacherwheretcocourseoandtc.tidteacher.tid";ifcno!""sqlsql+"andtcoLIKE'%"+cno+"%'";ifcname!""sqlsql+"andcourseameLIKE'%"+cname+"%'";ifcredit!0sqlsql+"andcourse.credit'"+credit+"'";ifcteachno!0sqlsql+"andtc.cteachno'"+cteachno+"'";ifclocation!""sqlsql+"andtc.clocationLIKE'%"+clocation+"%'";ifctime!""sqlsql+"andtc.ctimeLIKE'%"+ctime+"%'";iftname!""sqlsql+"andteacher.tnameLIKE'%"+tname+"%'";sqlsql+";";Statementstmtnull;DataBaseConnectiondbcnull;dbcnewDataBaseConnection;trystmtdbc.getConnection.createStatement;ResultSetrsstmt.executeQuerysql;whilers.nextTccounewTc;cou.setCnors.getString"tco";cou.setCnamers.getString"courseame";cou.setCreditrs.getDouble"course.credit";cou.setCteachnors.getInt"tc.cteachno";cou.setClocationrs.getString"tc.clocation";cou.setCtimers.getString"tc.clocation";cou.setCtimers.getString"tc.ctime";cou.setCrs.getInt"tc.c";cou.setCselrs.getInt"tc.csel";cou.setTnamers.getString"teacher.tname";all.addElementcou;rs.close;stmt.close;catchExceptionethrownewException"查詢中出現(xiàn)錯誤!?。?;finallydbc.close;returnall;2.提交課程此處可以看到已經(jīng)選擇的課程的信息圖4.20已選課程頁面然后可以根據(jù)自己的情況選擇新的課程圖4.21提交課程頁面圖4.22選課成功publicvoiddoGetHttpServletRequestrequest,HttpServletResponseresponsethrowsServletException,IOExceptiondoPostrequest,response;publicvoiddoAddHttpServletRequestrequest,HttpServletResponseresponsethrowsServletException,IOExceptionresponse.setContentType"text/html";request.setCharacterEncoding"utf-8";response.setCharacterEncoding"utf-8";PrintWriteroutresponse.getWriter;Stringsidrequest.getParameter"sid";Stringcnorequest.getParameter"cno";Stringrcteachnorequest.getParameter"cteachno";intcteachnoInteger.parseIntrcteachno;doublecredit0;CourseDAOcdaonewCourseDAO;TcDAOtcdaonewTcDAO;ScDAOscdaonewScDAO;Vectorvct1null;Stringtidnull;Stringctimenull;booleancanchofalse;trySytln"%%%%%%%%%%%";vct1cdao.Selectcno,"",0;tidtcdao.SelectTidcno,cteachno;ctimetcdao.SelectCtimecno,cteachno;canchoscdao.Checksid,ctime;Sytlncancho;catchExceptione1e1.printStackTrace;ifvct1.size!0CoursecouCoursevct1.elementAt0;creditcou.getCredit;ifcanchofalsetry//Sytln"^^^^^^^^^^^^^^^^";scdao.Insertsid,cno,tid,credit;Sytln"$$$$$$$$$$$";tcdao.AddCseltid,cno;catchExceptioneresponse.sendRedirect"student_cho_sub.jsp";elseout.println"";out.println"AServlet";out.println"BODYbgcolor#8dd8f8";out.print"imgsrcimage/f.pngfontsize6colorred提交成功?。?!";out.println"";out.println"";out.flush;out.close;3.刪除課程可以對已經(jīng)選擇的課程進行刪除操作圖4.23刪除課程頁面點擊提交刪除選擇的課程,可以同時刪除多門課程。刪除以后還可以重新選擇此門課程,不必?fù)?dān)憂刪除錯誤。圖4.24刪除成功此外,如果此處刪除以后,教師的課程信息中將不會再有自己的這個選課信息。圖4.25修改后的課程信息publicvoiddoDeleteHttpServletRequestrequest,HttpServletResponseresporintln"BODYbgcolor#8dd8f8";out.print"imgsrcimage/f.pngfontsize6colorred"+cno+"課程刪除失?。?;out.println"";out.println"";fn++;dn++;ifdn0out.println"";out.println"AServlet";out.println"BODYbgcolor#8dd8f8";out.print"imgsrcimage/f.pngfontsize6colorred未選擇刪除課程!";out.println"";out.println"";elseiffn0out.println"";out.println"AServlet";out.println"BODYbgcolor#8dd8f8";out.print"imgsrcimage/t.pngfontsize6colorred課程刪除成功!";out.println"";out.println"";out.flush;out.close;4.成績查詢此功能不但提供學(xué)生個人的詳細成績查詢,包括平時成績、期末成績、最終成績和排名,而且能夠查看別的同學(xué)的成績。圖4.26個人成績查詢publicVectorSelectCourseStringsidthrowsExceptionVectorallnewVector;Stringsql"SELECTsco,courseame,sc.tid,sc.credit,sc.pscore,sc.lscore,sc.escoreFROMsc,coursewheresc.sid'"+sid+"'andscocourseo;";Statementstmtnull;DataBaseConnectiondbcnull;dbcnewDataBaseConnection;trystmtdbc.getConnection.createStatement;ResultSetrsstmt.executeQuerysql;whilers.nextSccounewSc;cou.setCnors.getString"sco";cou.setCnamers.getString"courseame";cou.setTidrs.getString"sc.tid";cou.setCreditrs.getDouble"sc.credit";cou.setPscorers.getDouble"sc.pscore";cou.setLscorers.getDouble"sc.lscore";cou.setEscorers.getDouble"sc.escore";all.addElementcou;rs.close;stmt.close;catchExceptionethrownewException"查詢中出現(xiàn)錯誤!??!";finallydbc.close;returnall;同時還能查看別的同學(xué)的成績和排名,排名以總學(xué)分績點來排名。圖4.27他人成績查詢publicVectorS

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論