jsp學(xué)生信息管理系統(tǒng)_第1頁
jsp學(xué)生信息管理系統(tǒng)_第2頁
jsp學(xué)生信息管理系統(tǒng)_第3頁
jsp學(xué)生信息管理系統(tǒng)_第4頁
jsp學(xué)生信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

/JavaWeb開發(fā)(JSP)

課程設(shè)計報告題目:學(xué)生信息管理系統(tǒng)設(shè)計者:李曉倩專業(yè)班級:軟件java12-1學(xué)號:指導(dǎo)教師:霍占強年6月28日河南理工大學(xué)計算機學(xué)院學(xué)生信息管理系統(tǒng)第1章系統(tǒng)需求背景1.1選題背景隨著社會的進步,經(jīng)濟的發(fā)展,計算機技術(shù)在日益成熟。Internet普及,人們利用網(wǎng)絡(luò)來實現(xiàn)相互協(xié)調(diào)工作以及資源共享越來越成為不可扭轉(zhuǎn)的趨勢,學(xué)校信息化的發(fā)展也成了必然方向。伴隨著學(xué)生人數(shù)每年都在增加,傳統(tǒng)的方法用來管理學(xué)生信息已跟不上了時代的發(fā)展,還帶來了很多的弊端,讓學(xué)校的信息化很難推進,制約了學(xué)校的進一步發(fā)展。因此,學(xué)生信息管理系統(tǒng)的開發(fā)對于學(xué)校而言是必要的,學(xué)生管理系統(tǒng)能夠促進學(xué)校信息化的發(fā)展,利于學(xué)校的長運計劃。并且學(xué)生信息管理系統(tǒng)還為學(xué)校管理學(xué)生一些必要的相關(guān)信息帶來了方便,免除了傳統(tǒng)管理方法的繁雜和花費大量的人類、物力資源,減輕了學(xué)校的負(fù)擔(dān)。1.2課題研究現(xiàn)狀目前國內(nèi)大多數(shù)高校的信息管理系統(tǒng)是B/S和C/S開發(fā)結(jié)構(gòu),獲得了不錯的效果,但同時也存在著一些不足之處?;贑/S的信息管理系統(tǒng)具體的做法是由管理員將C/S結(jié)構(gòu)的管理信息系統(tǒng)在服務(wù)器上發(fā)布,隨著計算機技術(shù)、通信技術(shù)、數(shù)據(jù)庫技術(shù)的迅速發(fā)展,Intranet/Internet技術(shù)的口益成熟,Internet的普及,校園網(wǎng)的完善,Java技術(shù)和.NET技術(shù)的興起,采用B/S結(jié)構(gòu)的學(xué)生信息管理系統(tǒng)逐步取代了原有的C/S結(jié)構(gòu)的信息管理系統(tǒng)。1,.2.2基于B/S的采用動態(tài)網(wǎng)頁的信息管理系統(tǒng)該方式采用瀏覽器/服務(wù)器的方式,通過動態(tài)網(wǎng)頁直接訪問數(shù)據(jù)庫的方法來實現(xiàn)網(wǎng)上操作。該方式能很好地克服C/S結(jié)構(gòu)選課系統(tǒng)的地點集中和時間集中的問題。1.3系統(tǒng)需求現(xiàn)代社會隨著信息技術(shù)的發(fā)展及在管理上的應(yīng)用越來越深入而廣泛,管理信息系統(tǒng)的設(shè)計、實施在技術(shù)上于完善。在當(dāng)今社會要想獲得成功都必須運用科學(xué)的方法組織、合理的運用資源,因而管理信息系統(tǒng)也成了他們不可缺少的管理工具。目前,教育方面也經(jīng)歷著同樣的考驗。學(xué)校的規(guī)模都在不斷的擴大,學(xué)生數(shù)量在急劇增長,有關(guān)學(xué)生的相應(yīng)信息也在成倍的增加。這就需要一個功能完善的學(xué)生信息管理系統(tǒng)來進行信息的規(guī)范化費力。本系統(tǒng)的開發(fā)主要包括后臺數(shù)據(jù)庫的建立、連接和維護以及前臺網(wǎng)絡(luò)頁面的開發(fā)兩大方面。由于Java的跨平臺性、安全性等諸多優(yōu)勢,本論文采用Jsp+Tomcat+MySQL的技術(shù)途徑和規(guī)范的全局設(shè)計開發(fā)流程,在Myeclipse的開發(fā)環(huán)境下設(shè)計、編寫學(xué)生信息管理系統(tǒng)。系統(tǒng)用戶權(quán)限分兩種:學(xué)生和管理員,不同權(quán)限的用戶登錄到不同的操作頁面,從而進行相應(yīng)的操作。1.4需求的收集及分析1:本系統(tǒng)要求設(shè)計兩個角色:教師用戶、管理員用戶;2:教師用戶實現(xiàn)功能:用戶登陸、教師用戶添加、刪除、修改(包含:教師用戶修改自己的信息)、查詢學(xué)生用戶信息及成績;3:學(xué)生用戶實現(xiàn)功能:用戶登陸、查詢自己的成績;系統(tǒng)所涉及的一些知識2.1JSP技術(shù):JSP是由SunMicrosystems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)技術(shù)標(biāo)準(zhǔn)。在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP標(biāo)簽,就構(gòu)成了JSP網(wǎng)頁。Java程序片段可以操縱數(shù)據(jù)庫、重新定向網(wǎng)頁以及發(fā)送E-mail等,實現(xiàn)建立動態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,這樣大大降低了對客戶瀏覽器的要求,即使客戶瀏覽器端不支持Java,也可以訪問JSP網(wǎng)頁。JSP全名為JavaServerPages,其根本是一個簡化的Servlet設(shè)計,他實現(xiàn)了Html語法中的java擴張(以<%,%>形式)。JSP與Servlet一樣,是在服務(wù)器端執(zhí)行的。通常返回給客戶端的就是一個HTML文本,因此客戶端只要有瀏覽器就能瀏覽。Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶端。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。通常JSP頁面很少進行數(shù)據(jù)處理,只是用來實現(xiàn)網(wǎng)頁的靜態(tài)化頁面,只是用來提取數(shù)據(jù),不會進行業(yè)務(wù)處理。JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計的顯示分離,支持可重用的基于組件的設(shè)計,使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。JSP(JavaServerPages)是一種動態(tài)頁面技術(shù),它的主要目的是將表示邏輯從Servlet中分離出來。JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁面被客戶端請求以后對這些Java代碼進行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。JavaServlet是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開發(fā)需要JavaServlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡單易用,完全的面向?qū)ο?,具有平臺無關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點。2.2JavaScript語言:JavaScript是一種基于對象和事件驅(qū)動并具有相對安全性的客戶端腳本語言。同時也是一種廣泛用于客戶端Web開發(fā)的腳本語言,常用來給HTML(標(biāo)準(zhǔn)通用標(biāo)記語言的子集)網(wǎng)頁添加動態(tài)功能,比如響應(yīng)用戶的各種操作。它最初由網(wǎng)景公司(Netscape)的BrendanEich設(shè)計,是一種動態(tài)、弱類型、基于原型的語言,內(nèi)置支持類。JavaScript是Sun公司(已被oracle收購)的注冊商標(biāo)。Ecma國際以JavaScript為基礎(chǔ)制定了ECMAScript標(biāo)準(zhǔn)。JavaScript也可以用于其他場合,如服務(wù)器端編程。完整的JavaScript實現(xiàn)包含三個部分:ECMAScript,文檔對象模型,瀏覽器對象模型。Netscape公司在最初將其腳本語言命名為LiveScript。Netscape在與Sun合作之后將其改名為JavaScript。JavaScript最初受Java啟發(fā)而開始設(shè)計的,目的之一就是“看上去像Java”,因此語法上有類似之處,一些名稱和命名規(guī)范也借自Java。但JavaScript的主要設(shè)計原則源自Self和Scheme。JavaScript與Java名稱上的近似,是當(dāng)時網(wǎng)景為了營銷[4]考慮與Sun公司達成協(xié)議的結(jié)果。為了取得技術(shù)優(yōu)勢,微軟推出了JScript腳本語言。Ecma國際(前身為歐洲計算機制造商協(xié)會)創(chuàng)建了ECMA-262標(biāo)準(zhǔn)(ECMAScript)?,F(xiàn)兩者都屬于ECMAScript的實現(xiàn)。盡管JavaScript作為給非程序人員的腳本語言,而非是作為給程序人員的編程語言來推廣和宣傳,但是JavaScript具有非常豐富的特性。2.3MySQLMySQL是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQLAB公司開發(fā),目前屬于Oracle公司。Mysql是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在WEB應(yīng)用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem:關(guān)系數(shù)據(jù)庫管理系統(tǒng))應(yīng)用軟件之一。MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個大倉庫內(nèi),這樣就增加了速度并提高了靈活性。MySQL所使用的SQL語言是用于訪問數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)化語言。MySQL軟件采用了雙授權(quán)政策(本詞條“授權(quán)政策”),它分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網(wǎng)站的開發(fā)都選擇MySQL作為網(wǎng)站數(shù)據(jù)庫。由于其社區(qū)版的性能卓越,搭配PHP和Apache可組成良好的開發(fā)環(huán)境。2.4JDBCJDBC(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也是個商標(biāo)名。有了JDBC,向各種關(guān)系數(shù)據(jù)發(fā)送SQL語句就是一件很容易的事。換言之,有了JDBCAPI,就不必為訪問Sybase數(shù)據(jù)庫專門寫一個程序,為訪問Oracle數(shù)據(jù)庫又專門寫一個程序,或為訪問Informix數(shù)據(jù)庫又編寫另一個程序等等,程序員只需用JDBCAPI寫一個程序就夠了,它可向相應(yīng)數(shù)據(jù)庫發(fā)送SQL調(diào)用。同時,將Java語言和JDBC結(jié)合起來使程序員不必為不同的平臺編寫不同的應(yīng)用程序,只須寫一遍程序就可以讓它在任何平臺上運行,這也是Java語言“編寫一次,處處運行”的優(yōu)勢。Java數(shù)據(jù)庫連接體系結(jié)構(gòu)是用于Java應(yīng)用程序連接數(shù)據(jù)庫的標(biāo)準(zhǔn)方法。JDBC對Java程序員而言是API,對實現(xiàn)與數(shù)據(jù)庫連接的服務(wù)提供商而言是接口模型。作為API,JDBC為程序開發(fā)提供標(biāo)準(zhǔn)的接口,并為數(shù)據(jù)庫廠商及第三方中間件廠商實現(xiàn)與數(shù)據(jù)庫的連接提供了標(biāo)準(zhǔn)方法。JDBC使用已有的SQL標(biāo)準(zhǔn)并支持與其它數(shù)據(jù)庫連接標(biāo)準(zhǔn),如ODBC之間的橋接。JDBC實現(xiàn)了所有這些面向標(biāo)準(zhǔn)的目標(biāo)并且具有簡單、嚴(yán)格類型定義且高性能實現(xiàn)的接口。Java具有堅固、安全、易于使用、易于理解和可從網(wǎng)絡(luò)上自動下載等特性,是編寫數(shù)據(jù)庫應(yīng)用程序的杰出語言。所需要的只是Java應(yīng)用程序與各種不同數(shù)據(jù)庫之間進行對話的方法。而JDBC正是作為此種用途的機制。JDBC擴展了Java的功能。例如,用Java和JDBCAPI可以發(fā)布含有applet的網(wǎng)頁,而該applet使用的信息可能來自遠(yuǎn)程數(shù)據(jù)庫。企業(yè)也可以用JDBC通過Intranet將所有職員連到一個或多個內(nèi)部數(shù)據(jù)庫中(即使這些職員所用的計算機有Windows、Macintosh和UNIX等各種不同的操作系統(tǒng))。隨著越來越多的程序員開始使用Java編程語言,對從Java中便捷地訪問數(shù)據(jù)庫的要求也在日益增加。MIS管理員們都喜歡Java和JDBC的結(jié)合,因為它使信息傳播變得容易和經(jīng)濟。企業(yè)可繼續(xù)使用它們安裝好的數(shù)據(jù)庫,并能便捷地存取信息,即使這些信息是儲存在不同數(shù)據(jù)庫管理系統(tǒng)上。新程序的開發(fā)期很短。安裝和版本控制將大為簡化。程序員可只編寫一遍應(yīng)用程序或只更新一次,然后將它放到服務(wù)器上,隨后任何人就都可得到最新版本的應(yīng)用程序。對于商務(wù)上的銷售信息服務(wù),Java和JDBC可為外部客戶提供獲取信息更新的更好方法。功能需求分析3.1系統(tǒng)的功能簡述本系統(tǒng)根據(jù)用戶的需求,主要功能有添加、刪除、修改和查詢相應(yīng)的信息,現(xiàn)將系統(tǒng)為用戶提供的服務(wù)總結(jié)如下:本系統(tǒng)根據(jù)用戶的權(quán)限不同分為兩類:學(xué)生和管理員(教師)。1:教師用戶實現(xiàn)功能:用戶登陸、教師用戶添加、刪除、修改(包含:教師用戶修改自己的信息)、查詢學(xué)生用戶信息及成績;2:學(xué)生用戶實現(xiàn)功能:用戶登陸、查詢自己的成績;通過上述的分析總結(jié)可以得出學(xué)生信息管理系統(tǒng)用戶功能簡略圖如圖3-1所示。學(xué)生信息管理系統(tǒng)學(xué)生學(xué)生信息管理系統(tǒng)學(xué)生管理員學(xué)生登錄學(xué)生信息查詢成績查詢教師用戶登錄教師用戶管理查詢學(xué)生信息查詢學(xué)生成績圖3-1系統(tǒng)功能略圖3.2系統(tǒng)的功能分析3.2.1管理員功能分析系統(tǒng)管理:教師用戶管理:可以增加、刪除教師賬戶學(xué)生信息管理:可以添加、刪除、修改學(xué)生信息學(xué)生成績管理:可以添加學(xué)生成績3.2.2學(xué)生功能分析學(xué)生管理:學(xué)生信息查詢:可以查詢學(xué)生信息學(xué)生成績查詢:可以查詢學(xué)生成績第4章系統(tǒng)設(shè)計方案為了實現(xiàn)系統(tǒng)總體功能,提供系統(tǒng)的各項指標(biāo),這些指標(biāo)包括系統(tǒng)的可行性、可用性、可維護性、易讀性。提高系統(tǒng)的工作效率??傮w結(jié)構(gòu)設(shè)計的主要任務(wù)是將整個系統(tǒng)合理的劃分成各個功能模塊,正確處理模塊間與模塊內(nèi)部的聯(lián)系以及它們之間的調(diào)用關(guān)系和數(shù)據(jù)關(guān)系,定義各模塊的內(nèi)部結(jié)構(gòu)等等。4.1系統(tǒng)功能模塊劃分與設(shè)計4.1.1系統(tǒng)功能模塊劃分本系統(tǒng)的功能劃分主要是從學(xué)生和管理員兩個角度進行劃分的,分為前臺和后臺。前臺主要是提供學(xué)生進行相應(yīng)的操作。后臺為管理員維護整個學(xué)生信息管理系統(tǒng),并且對學(xué)生相應(yīng)信息進行相應(yīng)的維護。其功能劃分如圖5-1所示。學(xué)生信息管理系統(tǒng)學(xué)生學(xué)生信息管理系統(tǒng)學(xué)生管理員個人信息維護選修課信息成績查詢系統(tǒng)管理學(xué)生管理選修課管理成績管理前臺后臺圖4-1學(xué)生信息管理系統(tǒng)功能模塊劃分4.1.2系統(tǒng)各功能模塊的分析與設(shè)計從上節(jié)的劃分角度下面分模塊對各模塊進行功能的分析與設(shè)計,系統(tǒng)的主要用戶有管理員和學(xué)生?,F(xiàn)在從這兩種用戶的權(quán)限來分析并設(shè)計出屬于不同用戶的功能。(1)、管理員模塊的功能分析與設(shè)計管理員,他具有系統(tǒng)正常運行的全部功能與系統(tǒng)使用的管理權(quán)限。對學(xué)生的管理有:添加、刪除、查詢學(xué)生、修改學(xué)生登錄密碼、添加、查詢、修改學(xué)生個人信息。對成績的管理有:添加、刪除、查詢、修改成績單。管理員模塊功能圖如圖5-2所示。管理員教師登錄管理員教師登錄教師用戶管理學(xué)生信息管理學(xué)生成績管理登錄成功賬號或密碼錯誤添加教師用戶刪除教師用戶修改教師用戶信息添加學(xué)生用戶添加學(xué)生信息刪除學(xué)生用戶修改學(xué)生信息添加、修改、刪除成績查看學(xué)生個人成績圖4-2管理員功能模塊圖(2)、學(xué)生模塊的功能分析與設(shè)計學(xué)生是學(xué)校管理的主體,但不是系統(tǒng)使用的主體,唯一專為學(xué)生提供的使用接口是學(xué)生通過學(xué)號和登錄密碼進行與自己相關(guān)的操作,其主要功能是查看與自己相關(guān)信息,修改部分個人信息,修改自身登錄密碼,參與選課、報名等活動,無任何刪除權(quán)限。學(xué)生功能模塊圖如圖4-3所示。學(xué)生學(xué)生個人信息管理刪除學(xué)生用戶信息修改學(xué)生用戶信息個人成績查詢查詢個人成績圖4-3學(xué)生功能模塊4.2系統(tǒng)功能模塊流程圖4.2.1系統(tǒng)管理員功能模塊流程圖系統(tǒng)管理員是系統(tǒng)的最高權(quán)限管理者,進行操作前必須正確的登錄,系統(tǒng)管理員的登錄模塊流程圖如圖4-4所示:Y開始Y開始選擇用戶權(quán)限并輸入用戶名和密碼驗證用戶信息管理員界面結(jié)束N圖4-4管理員登錄流程圖管理員成功登錄后就可以對學(xué)生信息管理系統(tǒng)進行管理了。第一、教師用戶管理,可以對教師用戶進行添加修改和刪除,其操作流程圖如下圖4-5所示:管理員界面選擇管理員界面選擇教師用戶管理?對教師用戶進行添加修改和刪除操作成功YN圖4-5教師用戶管理流程圖第二、學(xué)生信息管理,管理員可以添加、刪除學(xué)生,可以添加、修改學(xué)生的個人信息,還可以查看所有學(xué)生。其管理流程圖如圖4-6所示:Y管理員界面Y管理員界面選擇學(xué)生管理操作成功對學(xué)生用戶進行添加修改和刪除N圖4-6學(xué)生信息管理流程圖第三、學(xué)生成績管理,管理員負(fù)責(zé)添加學(xué)生成績。其處理流程圖如圖4-7所示:Y管理界面Y管理界面學(xué)生成績選管理輸入學(xué)生成績操作成功N圖4-7課程管理流程圖4.2.2學(xué)生功能模塊流程圖第一、學(xué)生登錄功能,學(xué)生只有輸入正確的賬號、密碼和選擇合適的權(quán)限才能登錄學(xué)生端來管理和查詢自己相關(guān)的事件。其操作如下圖4-9所示:Y開始Y開始選擇用戶權(quán)限并輸入用戶名和密碼驗證用戶信息學(xué)生界面結(jié)束N圖4-9學(xué)生登錄模塊功能流程圖第二、個人信息維護,學(xué)生登錄后能夠查詢個人信息并做部分修改,還可以查看、修改自己登錄密碼,其具體操作流程圖如圖4-10所示:NYNY學(xué)生界面選擇個人信息維護查詢、修改部分個人信息,查看、修改個人登錄密碼操作成功圖4-10個人信息維護模塊功能流程圖第四、成績查詢,學(xué)生可以查看自己的成績,其操作流程圖如圖4-12所示:NYNY學(xué)生界面選擇成績查詢查詢成績操作成功圖4-11成績查詢模塊功能流程圖第5章系統(tǒng)涉及的數(shù)據(jù)庫表5.1數(shù)據(jù)庫概述計算機化的管理信息系統(tǒng)是一個以大量數(shù)據(jù)資源為基礎(chǔ)并以此為中心而建立起來的應(yīng)用系統(tǒng)。其目的是為一個組織中各個部門和各個管理層次提供必要的管理信息和決策數(shù)據(jù),由于涉及到應(yīng)用領(lǐng)域中一定的深度和廣度,因而必然需要接觸大量的不同類型的數(shù)據(jù)。對這些數(shù)據(jù)的合理組織和有效的存儲時管理信息系統(tǒng)開發(fā)中一項至關(guān)重要的工作。數(shù)據(jù)庫(DataBase),是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的倉庫,是用于查詢大量數(shù)據(jù)的存儲區(qū)域。使用數(shù)據(jù)庫可以減少數(shù)據(jù)的冗余度,大大的節(jié)省數(shù)據(jù)的存儲空間,實現(xiàn)數(shù)據(jù)資源充分共享等等功能。本系統(tǒng)使用的是MySQL.5.2數(shù)據(jù)字典名字:用戶別名:描述:登錄管理此系統(tǒng)的用戶和查詢信息的學(xué)生定義:用戶=管理員+學(xué)生位置:管理員和學(xué)生名字:用戶檔案別名:登錄表 描述:管理系統(tǒng)所有用戶檔案定義:用戶檔案=用戶ID+用戶密碼+權(quán)限位置:學(xué)生信息表,教師信息表名字:學(xué)生信息別名:學(xué)生信息表描述:包括學(xué)生的基本信息,學(xué)號是唯一鍵,管理員可以添加任意學(xué)生,學(xué)生只能查詢個人信息和部分修改的權(quán)限。定義:學(xué)生=學(xué)號+姓名+性別+地址位置:學(xué)生信息表名字:成績表別名:成績表描述:相應(yīng)學(xué)生的成績表定義:成績表=學(xué)號+姓名+課程名+成績位置:成績表5.3數(shù)據(jù)庫邏輯設(shè)計服務(wù)器上已建好名為的stuman數(shù)據(jù)庫。其中包含以下表:stugrade,stuinfo,teachers。下面將具體的介紹數(shù)據(jù)庫中各個表的結(jié)構(gòu)。學(xué)生成績表表5-1學(xué)生成績表(stugrader)列名(中文)列名(英文)數(shù)據(jù)類型長度允許空用戶名idint50No姓名namevarchar255No課程courseVarchar255No成績grodeVarchar255No(2)學(xué)生信息表表5-2學(xué)生信息表(stuinfo)列名(中文)列名(英文)數(shù)據(jù)類型長度允許空賬號IdInt50No密碼PsaawordInt20No姓名nameVarchar255No性別SexVarchar255No院系CollegeVarchar50No住址AddressVarchar255No(3)教師表表5-3教師表(teachers)列名(中文)列名(英文)數(shù)據(jù)類型長度允許空賬號NameVarchar255No密碼PasswordInt30No第6章具體功能分析6.1登錄功能的設(shè)計與實現(xiàn)由于系統(tǒng)分為學(xué)生和系統(tǒng)管理員兩類對象,系統(tǒng)需要區(qū)分不同對象,將信息發(fā)給不同用戶,估系統(tǒng)登錄頁面設(shè)計如下圖6-1所示。圖6-1系統(tǒng)登錄功能設(shè)計圖在選擇教師用戶登錄之后出現(xiàn)頁面,如圖6-2.圖6-2教師登錄功能設(shè)計圖如果登錄正確,則顯現(xiàn)頁面為如圖6-3.圖6-3教師登錄成功如果用戶名或密碼錯誤,則顯示如圖6-4圖6-3教師登錄不成功6.2教師信息的添加、刪除及修改的設(shè)計與實現(xiàn)在正確登錄了教師賬號之后(自己設(shè)定了四個教師用戶,用戶名為tea1,tea2,tea3,tea4,密碼都為123456),選擇教師用戶管理,進入教師用戶管理模塊。如圖6-4圖6-4教師信息管理界面點擊添加教師用戶,如圖6-5.圖6-5添加教師用戶界面點擊提交之后便將tea5用戶插入到數(shù)據(jù)庫中,如圖6-6.圖6-6添加教師用戶后界面在每一個用戶之后,都有刪除和修改,點擊即可實現(xiàn)刪除和修改功能。6.3學(xué)生信息的添加、刪除及修改的設(shè)計與實現(xiàn)在正確登錄了教師賬號之后,選擇學(xué)生用戶管理,進入學(xué)生用戶管理模塊。如圖6-7.圖6-7學(xué)生信息管理界面這里使用了分頁的功能,由于學(xué)生人數(shù)較多,所以10條信息分一頁,點擊上一頁,下一頁和數(shù)字便可進入對應(yīng)的頁數(shù),在每一條信息之后,都有刪除和修改,對應(yīng)點擊即可實現(xiàn)刪除和修改的功能。最上方有添加,點擊進入添加學(xué)生信息6.3學(xué)生成績的添加、刪除及修改的設(shè)計與實現(xiàn)在正確登錄了教師賬號之后,選擇學(xué)生成績管理,進入學(xué)生成績管理模塊。如圖6-8.圖6-8學(xué)生成績管理界面這里也使用了分頁的功能。在每一條信息之后,都有刪除和修改,對應(yīng)點擊即可實現(xiàn)刪除和修改的功能。最上方有添加,點擊進入添加學(xué)生成績信息。如圖6-9.圖6-9添加學(xué)生成績界面6.4學(xué)生個人信息及成績的查詢設(shè)計與實現(xiàn)在登錄頁面選擇學(xué)生登錄,進入學(xué)生登錄模塊,如圖6-10.圖6-10學(xué)生信息管理界面用戶名和密碼正確后進入學(xué)生個人信息及成績查詢頁面,如圖6-11.圖6-11學(xué)生成績查詢界面6.5學(xué)生信息管理系統(tǒng)實現(xiàn)的具體細(xì)節(jié)由于系統(tǒng)代碼數(shù)量比較大,不易一一列舉,估只列舉部分代碼。6.5.1數(shù)據(jù)庫的連接編寫一個數(shù)據(jù)庫連接的DBOperator.java文件,用來訪問MySQL數(shù)據(jù)庫,從而對數(shù)據(jù)庫做相應(yīng)的操作。其部分代碼如下:packagestumanager;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;publicclassDBOperator{ privatestaticStringdriver="com.mysql.jdbc.Driver"; privatestaticStringurl="jdbc:mysql://localhost/stuman?user=root&password=root"; static { try{ Class.forName(driver); }catch(ClassNotFoundExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } publicstaticConnectiongetConnection() { Connectionconn=null; try{ conn=DriverManager.getConnection(url); }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } returnconn; } publicstaticvoidclose(ResultSetrs,Statementst,Connectionconn) { try{ if(rs!=null) { rs.close(); } if(st!=null) { st.close(); } if(conn!=null) { conn.close(); } }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } publicstaticvoidclose(Statementst,Connectionconn) { close(null,st,conn); }}6.5.2系統(tǒng)登錄頁面的實現(xiàn)由于系統(tǒng)分學(xué)生和管理員兩類,估登錄時需要驗證用戶權(quán)限并發(fā)往不同的頁面。其部分代碼如下:packageservlet;publicclassWelcomeServletextendsHttpServlet{publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ intpageNo=1; intpageSize=10; inttotalRecords=0; intmaxPageNo=0; intstartRow=0; //確定總記錄數(shù)和總頁數(shù) StudentServicess=newStudentServiceImpl(); totalRecords=ss.getAll().size(); maxPageNo=totalRecords%pageSize==0?totalRecords/pageSize:totalRecords/pageSize+1; //確定pageNo StringpageNoStr=request.getParameter("pageno"); if(pageNoStr!=null) { pageNo=Integer.parseInt(pageNoStr); if(pageNo<1) { pageNo=1; } if(pageNo>maxPageNo) { pageNo=maxPageNo; } } //確定startRow startRow=(pageNo-1)*pageSize; List<StuInfo>list=ss.getStuInfo(startRow,pageSize); request.setAttribute("pageno",pageNo); request.setAttribute("maxpageno",maxPageNo); request.setAttribute("list",list); //轉(zhuǎn)發(fā) request.getRequestDispatcher("/login.jsp").forward(request,response); }}6.5.3系統(tǒng)添加學(xué)生信息功能的實現(xiàn)系統(tǒng)添加功能如學(xué)生個人信息的添加。學(xué)生個人信息調(diào)用相應(yīng)的.servlet,從表單中獲得相應(yīng)的信息,再通過連接數(shù)據(jù)庫對數(shù)據(jù)做相應(yīng)的操作。其部分代碼如下所示。packageservlet;importjava.io.IOException;publicclassAddStuInfoextendsHttpServlet{ protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ request.setCharacterEncoding("GB18030");Stringid=request.getParameter("id");Stringpassword=request.getParameter("password");Stringname=request.getParameter("name"); Stringsex=request.getParameter("sex"); Stringaddress=request.getParameter("address"); StudentServicess=newStudentServiceImpl(); StuInfostu=newStuInfo(); stu.setId(Integer.parseInt(id)); stu.setPassword(Integer.parseInt(password));stu.setName(name); stu.setSex(sex); stu.setAddress(address); booleanflag=ss.add(stu); if(flag) { response.sendRedirect("stuinfo.jsp"); } }}6.5.4系統(tǒng)添加學(xué)生成績功能的實現(xiàn)系統(tǒng)添加學(xué)生成績。學(xué)生成績調(diào)用相應(yīng)的.servlet,從表單中獲得相應(yīng)的信息,再通過連接數(shù)據(jù)庫對數(shù)據(jù)做相應(yīng)的操作。其部分代碼如下所示。packageservlet;importjava.io.IOException;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importstumanager.*;importstumanager.StudentService;importstumanager.StudentServiceImpl;/***ServletimplementationclassAddGrade*/publicclassAddGradeextendsHttpServlet{ protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ request.setCharacterEncoding("GB18030");Stringid=request.getParameter("id");Stringname=request.getParameter("name"); Stringcourse=request.getParameter("course"); Stringgrade=request.getParameter("grade"); StudentServicess=newStudentServiceImpl(); StuGradestu=newStuGrade(); stu.setId(Integer.parseInt(id)); stu.setName(name); stu.setCourse(course); stu.setGrade(Integer.parseInt(grade)); booleanflag=ss.add(stu); if(flag) { response.sendRedirect("stugrade.jsp"); } }}6.6.6系統(tǒng)修改學(xué)生信息功能的實現(xiàn)系統(tǒng)修改功能的實現(xiàn)如學(xué)生個人信息的修改。學(xué)生個人信息的修改是將個人信息重新輸入,其部分代碼如下所述:packageservlet;importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importstumanager.StuInfo;importstumanager.StudentService;importstumanager.StudentServiceImpl;publicclassUpdateServletextendsHttpServlet{ /** *ThedoPostmethodoftheservlet.<br> * *Thismethodiscalledwhenaformhasitstagvaluemethodequalstopost. * *@paramrequesttherequestsendbytheclienttotheserver *@paramresponsetheresponsesendbytheservertotheclient *@throwsServletExceptionifanerroroccurred *@throwsIOExceptionifanerroroccurred */ publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ request.setCharacterEncoding("GB18030"); Stringid=request.getParameter("id"); Stringpassword=request.getParameter("password"); Stringname=request.getParameter("name"); Stringsex=request.getParameter("sex"); Stringaddress=request.getParameter("address")

溫馨提示

  • 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

提交評論