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

下載本文檔

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

文檔簡介

滁州職業(yè)技術(shù)學院信息工程系姓名:班級:設(shè)計課題:學生學籍管理系統(tǒng)指導教師:目錄PAGEii目錄引言 i摘要 1第一章系統(tǒng)概述 11.1課題的背景與意義 11.1.1課題開發(fā)背景 11.1.2課題開發(fā)意義 11.2課題開發(fā)工具與環(huán)境 11.2.1MyEclipse簡介 11.2.2J2EE概述 21.2.3mysql概述 21.2.4Tomcat6.0服務器架構(gòu) 31.2.5總體開發(fā) 3第二章系統(tǒng)分析 52.1系統(tǒng)概述 52.1.1系統(tǒng)分析原則與方針 52.1.2系統(tǒng)需求 52.2系統(tǒng)功能分析 52.2.1可能性分析 52.2.2具體功能分析 6第三章系統(tǒng)設(shè)計 83.1數(shù)據(jù)庫設(shè)計 83.1.1數(shù)據(jù)庫總體設(shè)計 83.1.2數(shù)據(jù)庫概念設(shè)計 83.1.3數(shù)據(jù)庫邏輯設(shè)計 103.2系統(tǒng)總體設(shè)計 113.2.1系統(tǒng)邏輯設(shè)計 113.3功能設(shè)計 113.3.1前臺用戶功能模塊設(shè)計 123.3.2后臺管理員功能模塊設(shè)計 12第四章系統(tǒng)實現(xiàn)與調(diào)試 134.1系統(tǒng)功能實現(xiàn) 134.1.1文件結(jié)構(gòu)圖 134.2.2文件詳細結(jié)構(gòu)圖 134.3關(guān)鍵技術(shù)實現(xiàn) 144.3.1struts+Hibernate 144.3.2處理中文問題 144.4調(diào)試過程中的常見錯誤 164.4.1404錯誤 164.4.2空指針異常 164.4.3數(shù)據(jù)庫連接錯誤 17第五章系統(tǒng)運行結(jié)果截圖 195.1系統(tǒng)主界面 195.2查詢界面 195.3學生學籍成績界面 205.4管理員個人界面 205.5添加管理員 215.6管理員回收站列表 21結(jié)論 22致謝 23參考文獻 24引言引言學生信息檔案的管理對于學校的管理者來說至關(guān)重要,學生學籍是高等學校非常重要的一項數(shù)據(jù)資源,是一個教育單位不可缺少一部分。特別是近幾年來,國家政策的調(diào)整,我國高等院校大規(guī)模的擴招,給高等院校的教學管理、學生管理、后勤管理等方面都帶來不少的沖擊。其包含的數(shù)據(jù)量大,涉及的人員面廣,而且需要及時更新,故較為復雜,難以單純地依靠人工管理,而且傳統(tǒng)的人工管理方式既不易于規(guī)范化,管理效率也不高,目前我國各類高等院校中還有相當一部分學生檔案管理還停留在紙介質(zhì)的基礎(chǔ)上,尤其是中、小學對學生檔案的管理更是落后,這樣的管理機制已經(jīng)不能適應時代發(fā)展的要求,其管理方法將浪費許多人力和物力。隨著科學技術(shù)的不斷提高,計算機科學與技術(shù)日漸成熟,計算機應用的普及已進入人類社會生活的各個領(lǐng)域,并發(fā)揮著越來越重要的作用。這種傳統(tǒng)的手工管理模式必然被以計算機為物質(zhì)基礎(chǔ)的信息管理方法所取代。然而,信息時代的到來,給傳統(tǒng)的手工管理模式致以致命的打擊,也給我們這些學軟件開發(fā)的莘莘學子指明了一條光明路。本小組此次開發(fā)主要是以學校學籍的管理員以及學生為主要使用人群,并且開發(fā)環(huán)境也是使用目前市場上較為流行的JSP+struts+hibernate3作為開發(fā)模式,既融合了方便,快捷,高效的辦公理念,也體現(xiàn)了時代趨勢。摘要PAGE1摘要學生信息管理系統(tǒng)是針對學校人事處的大量業(yè)務處理工作而開發(fā)的管理軟件,主要用于學校學生信息管理,總體任務是實現(xiàn)學生信息關(guān)系的系統(tǒng)化、科學化、規(guī)范化和自動化,其主要任務是用計算機對學生各種信息進行日常管理,如查詢、修改、增加、刪除學生基本信息,另外還考慮到學生的成績,所以針對成績也進行了一系列錄入,刪除,以及修改等操作。本課題設(shè)計的目標是實現(xiàn)一個基于Jsp+struts2+hibernate3模式的學生學籍管理系統(tǒng)。論文先介紹了開發(fā)項目所用到的關(guān)鍵技術(shù),接著從用戶需求、經(jīng)濟和技術(shù)等三個方面對系統(tǒng)進行分析。在概要設(shè)計中,根據(jù)系統(tǒng)分析的結(jié)果,把系統(tǒng)分為前臺和后臺兩大模塊。根據(jù)前臺和后臺用戶的不同需求,把前臺細分為學生查詢信息(成績以及學籍信息),學生修改登錄密碼等模塊,把后臺細分為管理員登錄,密碼修改,添加學生信息以及成績,查詢學生信息等模塊。詳細介紹了在基于Jsp+struts+hibernate模式下各個模塊的實現(xiàn)過程,且以開發(fā)過程為基礎(chǔ)實現(xiàn)系統(tǒng)所具有的可重用性、可維護性和可擴展性等優(yōu)勢進行了分析。關(guān)鍵詞:myeclipsemysql數(shù)據(jù)庫struts2hibernate3Jsp滁州職業(yè)技術(shù)學院軟件技術(shù)專業(yè)畢業(yè)論文PAGE17第一章系統(tǒng)概述1.1課題的背景與意義1.1.1課題開發(fā)背景信息時代主要的體現(xiàn)便是方便,快捷與高效的綜合理念。此次在學生學籍管理系統(tǒng)開發(fā)中,由于學校需要從大量的日常教學活動中提取相關(guān)信息,從而來反應教學的情況。傳統(tǒng)的手工操作方式,易發(fā)生數(shù)據(jù)丟失,統(tǒng)計錯誤,勞動強度高,且速度慢。這里使用計算機便可以高速,快捷地完成以上工作。在計算機聯(lián)網(wǎng)后,數(shù)據(jù)在網(wǎng)上傳遞,可以實現(xiàn)數(shù)據(jù)共享,避免重復勞動,規(guī)范教學管理行為,從而提高了管理效率和水平。學生學籍管理信息系統(tǒng)主要是以計算機為操作平臺,通過對教務管理所需的信息管理,使管理人員從繁瑣的數(shù)據(jù)計算處理中解脫出來,使其有更多的精力從事教務管理政策的研究實施,教學計劃的制定執(zhí)行和教學質(zhì)量的監(jiān)督檢查,從而全面提高教學質(zhì)量。1.1.2課題開發(fā)意義隨著科學技術(shù)的不斷提高,計算機科學日漸成熟,其強大的功能已被人們深刻認識,它已進入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。學校作為社會構(gòu)成不可或缺的一部分,它的發(fā)展可以明確顯現(xiàn)出社會發(fā)展的步伐。而學生學籍管理系統(tǒng)又是一個教育單位不可缺少的部分,它的內(nèi)容對于學校的決策者和管理者來說都至關(guān)重要,所以學籍管理系統(tǒng)應該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護都帶來了不少的困難。作為計算機應用的一部分,使用計算機對學生學籍進行管理,具有手工管理所無法比擬的優(yōu)點.例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高學生學籍管理的效率,也是企業(yè)的科學化、正規(guī)化管理,與世界接軌的重要條件。1.2課題開發(fā)工具與環(huán)境1.2.1MyEclipse簡介MyEclipse企業(yè)級工作平臺(MyEclipseEnterpriseWorkbench,簡稱MyEclipse)是對EclipseIDE的擴展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布以及應用程序服務器的整合方面極大的提高工作效率。MyEclipse是一個十分優(yōu)秀的用于開發(fā)Java,J2EE的Eclipse插件集合,MyEclipse的功能非常強大,支持也十分廣泛,尤其是對各種開源產(chǎn)品的支持十分不錯。MyEclipse目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC數(shù)據(jù)庫鏈接工具等多項功能??梢哉fMyEclipse幾乎囊括了目前所有主流開源產(chǎn)品的專屬eclipse開發(fā)工具。1.2.2J2EE概述J2EE是一種利用Java2平臺來簡化企業(yè)解決方案的開發(fā)、部署和管理相關(guān)的復雜問題的體系結(jié)構(gòu)。J2EE技術(shù)的基礎(chǔ)就是核心Java平臺或Java2平臺的標準版,J2EE不僅鞏固了標準版中的許多優(yōu)點,例如"編寫一次、隨處運行"的特性、方便存取數(shù)據(jù)庫的JDBCAPI、CORBA技術(shù)以及能夠在Internet應用中保護數(shù)據(jù)的安全模式等等,同時還提供了對EJB(EnterpriseJavaBeans)、JavaServletsAPI、JSP(JavaServerPages)以及XML技術(shù)的全面支持。其最終目的就是成為一個能夠使企業(yè)開發(fā)者大幅縮短投放市場時間的體系結(jié)構(gòu)。J2EE體系結(jié)構(gòu)提供中間層集成框架用來滿足無需太多費用而又需要高可用性、高可靠性以及可擴展性的應用的需求。通過提供統(tǒng)一的開發(fā)平臺,J2EE降低了開發(fā)多層應用的費用和復雜性,同時提供對現(xiàn)有應用程序集成強有力支持,完全支持EnterpriseJavaBeans,有良好的向?qū)еС执虬筒渴饝茫砑幽夸浿С?,增強了安全機制,提高了性能。1.2.3mysql概述(1)MySQL數(shù)據(jù)平臺MySQL是一個開放源碼的小型關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQLAB公司。目前MySQL被廣泛地應用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。(2)MySQL應用環(huán)境與其他的大型數(shù)據(jù)庫例如Oracle、DB2、SQLServer等相比,MySQL自有它的不足之處,如規(guī)模小、功能有限(MySQLCluster的功能和效率都相對比較差)等,但是這絲毫也沒有減少它受歡迎的程度。對于一般的個人使用者和中小型企業(yè)來說,MySQL提供的功能已經(jīng)綽綽有余,而且由于MySQL是開放源碼軟件,因此可以大大降低總體擁有成本。目前Internet上流行的網(wǎng)站構(gòu)架方式是LAMP和LNMP,即使用Linux作為操作系統(tǒng),Apache和Nginx作為Web服務器,MySQL作為數(shù)據(jù)庫,PHP/Perl/Python作為服務器端腳本解釋器。由于這四個軟件都是免費或開放源碼軟件(FLOSS),因此使用這種方式不用花一分錢(除開人工成本)就可以建立起一個穩(wěn)定、免費的網(wǎng)站系統(tǒng)。1.2.4Tomcat6.0服務器架構(gòu)Tomcat6.0由Apache組織開發(fā)的一種常用Web服務器,提供Web服務。一種JSP引擎,本身具有Web功能,可以作為獨立的Web服務器使用。但是,在作為Web服務器方面,Tomcat處理靜態(tài)HTML頁面時不如Apache迅速,也沒有Apache健壯,一般選用Tomcat與Apache結(jié)合的方式,讓后者對網(wǎng)站的靜態(tài)頁面的請求提供服務,而Tomcat作為專用的JSP引擎,提供JSP解析,得以更好的性能。1.JDK的安裝與配置(1)找到path變量后單擊[編輯]按鈕;彈出[編輯系統(tǒng)變量]對話框。在[變量值]文本框中輸入“c:\jdk\bin”,然后單擊[確定]按鈕。同時新建CLASSPATH變量;(2)在[系統(tǒng)變量]選項組中單擊[新建]按鈕,在[變量名]文本框中輸入“CLASSPATH”,在[變量值]文本框中輸入“c:\jdk\lib\tools.jar;c:\jdk\lib\dt.jar;”然后單擊[確定]按鈕;(3)用同樣的方法把c:\jdk添加到JAVA_HOME環(huán)境變量中;2.TOMCAT的安裝與配置在這里我們設(shè)默認安裝目錄為c:\Tomcat安裝完畢,更改環(huán)境變量,用同樣的方法把c:\Tomcat添加到TOMCAT_HOME環(huán)境變量中。啟動Tomcat,在瀏覽器的[地址]下拉列表框中輸入“http://localhost:8080/”,如果看到的是在左上方有一只可愛的小貓,則表示Tomcat安裝成功。1.2.5總體開發(fā)1.J2EE的Struts2+Hibernate3MVC模式架構(gòu):界面表示層:JSP+JavaScript+HTML(XML);業(yè)務邏輯層: JavaBeans;數(shù)據(jù)存儲層:mysql;2.開發(fā)工具采用MyEclipse10.0,數(shù)據(jù)庫采用mysql5.0,服務器:ApacheTomcat6.0,Java中連接數(shù)據(jù)庫的技術(shù)是JDBC。3.系統(tǒng)總體架構(gòu)(見圖1-1)圖1-1系統(tǒng)總體架構(gòu)

第二章系統(tǒng)分析2.1系統(tǒng)概述2.1.1系統(tǒng)分析原則與方針本系統(tǒng)采用結(jié)構(gòu)化系統(tǒng)分析的方法,并且盡量避免使用計算機的專業(yè)術(shù)語,以便于企業(yè)人員與系統(tǒng)開發(fā)人員的溝通。此系統(tǒng)的結(jié)構(gòu)是層次化的暗盒模塊結(jié)構(gòu)。對高層模塊,將采用以事物為中心的設(shè)計策略,把一個大的復雜的系統(tǒng)逐步分解成小的相對簡單的暗盒模塊,對低層模塊,采用以變換為中心的設(shè)計策略。因此,為了提高模塊的內(nèi)聚性,降低模塊的耦合程度,數(shù)據(jù)庫的設(shè)計原則是把它作為模塊間的郵政信箱,從而為實現(xiàn)數(shù)據(jù)共享由提高了模塊的獨立性,使系統(tǒng)具有很高的可修改性。2.1.2系統(tǒng)需求學生需求分析,學生除了可以查詢自己的所有基本信息(如學生的學籍信息及有關(guān)課程的成績)外,還能修改個人的查詢密碼。超級管理員需求分析,超級管理員擁有普通管理員以及學生最大的權(quán)限,他需要對學生以及普通管理員進行設(shè)置包括查看、刪除、添加、修改等操作。還有就是修改超級管理員自己的登錄密碼。普通管理員需求分析,他需要對學生進行設(shè)置包括查看、刪除、添加、修改等操作。還有就是修改普通管理員自己的登錄密碼。以上所有的操作都要求數(shù)據(jù)的安全性,完整性。要有安全保密、上下級數(shù)據(jù)一致性功能,要采用嚴格的用戶權(quán)限管理。各單位只能擁有自己相應的操作權(quán)限,不可越權(quán)操作。各單位只可操作本單位的數(shù)據(jù),不可修改甚至瀏覽其他單位的數(shù)據(jù)。2.2系統(tǒng)功能分析2.2.1可能性分析1.技術(shù)可行性:本系統(tǒng)的配置(Tomcat6.0以及Mysql5.0)在這種中小規(guī)模的情況下能夠提供較快的數(shù)據(jù)訪問,技術(shù)上可行。2.經(jīng)濟可行性:所有的軟件都是免費開放的,開發(fā)成本低。3.操作可行性:訪問系統(tǒng)的主要有三種:學生,超級管理員,普通管理員。目前資源的利用情況和可操作性,只需少量的對數(shù)據(jù)庫中的表的直接操作就可以實現(xiàn)系統(tǒng)的完整、穩(wěn)定的運行,不會造成系統(tǒng)的巨大壓力。2.2.2具體功能分析表2-1功能分析表功能類別功能名稱、標識符描述學籍管理功能學籍信息添加添加學生詳細信息學生查詢密碼修改進入查詢界面后,可修改自己的原密碼學生的查詢學生根據(jù)自己的學號和密碼可以查詢自己的學籍信息以及成績管理員管理功能管理員信息添加添加管理員信息管理員登陸管理員根據(jù)自己的賬號以及密碼進入系統(tǒng)的事務管理管理員修改登錄密碼管理員進入管理員列表頁面后點擊操作中的修改密碼即可1.學生系統(tǒng):查詢:學生用學號和密碼可實現(xiàn)查詢自己的個人信息和成績;修改密碼:學生通過登錄進入查詢信息界面后,點擊修改密碼,可以修改密碼;2.普通管理員系統(tǒng):普通管理員登錄:管理員用賬號和密碼進入系統(tǒng)管理界面;添加學生信息:學號、身份證號、姓名、性別、專業(yè)、班級、入學年月、出生日期以及四門課的成績等學生學籍信息;修改密碼:學生通過登錄進入查詢信息界面,點擊修改密碼,即可以修改密碼;退出功能;3.超級管理員系統(tǒng):(1)超級管理員登錄:管理員用賬號和密碼進入系統(tǒng)管理界面;(2)添加學生或者管理員信息: ①學生:學號、身份證號、姓名、性別、專業(yè)、班級、入學年月、出生日期以及四門課的成績等學生學籍信息; ②管理員:真實姓名、聯(lián)系方式以及密碼;(3)修改密碼:管理員通過登錄進入查詢信息界面后,點擊修改密碼,可以修改密碼;(4)退出功能;注:系統(tǒng)的前臺界面編輯于與美化工作也在其中。

第三章系統(tǒng)設(shè)計3.1數(shù)據(jù)庫設(shè)計3.1.1數(shù)據(jù)庫總體設(shè)計因為本系統(tǒng)需要采用一種關(guān)系型的數(shù)據(jù)庫模式,此數(shù)據(jù)庫是由若干個二維表組成。據(jù)市場調(diào)查,數(shù)據(jù)庫保存的方法有很多種,但是最常用的卻是DBMS(數(shù)據(jù)庫管理系統(tǒng))?,F(xiàn)如今活躍在市場的幾大主流數(shù)據(jù)庫是Oracle、SYBASE、MSSQLServer、DB2、Informix、Mysql等,而Mysql作為中小型數(shù)據(jù)管理系統(tǒng)的首選,所以,根據(jù)以上分析,本系統(tǒng)后臺數(shù)據(jù)庫決定采用Mysql5.0作為后臺數(shù)據(jù)庫。3.1.2數(shù)據(jù)庫概念設(shè)計管理員管理員超級管理員ID密碼狀態(tài)聯(lián)系方式真實姓名賬號圖3-1管理員E-R圖學生學生學制ID政治面貌狀態(tài)聯(lián)系方式民族行政班級專業(yè)院系入學年份學號家庭住址籍貫身份證號碼出生日期英語真實姓名性別軟件測試Uml密碼總成績Java新密碼昵稱英語密碼圖3-2學生E-R圖3.1.3數(shù)據(jù)庫邏輯設(shè)計表3-1學生數(shù)據(jù)表表序號1表名Student含義學生的基本信息序號屬性名稱含義數(shù)據(jù)類型長度說明約束1status狀態(tài)int11主鍵2schoolLength學制int11notnull3administrativeClass行政班級varchar50notnull4professional專業(yè)varchar50notnull5department院系varchar50notnull6telephoneNumber聯(lián)系方式bigint207schoolYear入學年份int11notnull8politicalAffiliation政治面貌varchar209nation民族varchar5010studentId學號bigint20notnull11homeAddress家庭住址varchar5012nativePlace籍貫varchar5013idcardNumber身份證號碼varchar5014birthDate出生日期date015sex性別varchar50notnull16name昵稱varchar5017realName真實姓名varchar50notnull18password密碼varchar5019id學生idint11notnull主鍵20english英語decimal521j2eeJavadecimal522softTest軟件測試decimal523totalScore總成績decimal524umlUmldecimal5表3-2管理員數(shù)據(jù)表表序號2表名admin含義管理員基本信息序號屬性名稱含義數(shù)據(jù)類型長度說明約束1superManager超級管理員int11notnull2status管理員名int11notnull3phone_number管理員密碼bigint204real_name真實姓名varchar50notnull5password密碼varchar50notnull6idIdint11notnull主鍵7name登錄名varchar50notnull3.2系統(tǒng)總體設(shè)計3.2.1系統(tǒng)邏輯設(shè)計系統(tǒng)采用MVC結(jié)構(gòu),在客戶端用戶通過瀏覽器完成數(shù)據(jù)下載與模擬操作,瀏覽器端的表現(xiàn)邏輯通過JSP網(wǎng)頁完成。而系統(tǒng)內(nèi)部復雜的業(yè)務邏輯主要通過controller實現(xiàn),通過jsp返回到客戶瀏覽器。通過表現(xiàn)邏輯與業(yè)務邏輯的分離,使網(wǎng)頁內(nèi)容簡潔,系統(tǒng)的可維護性和可擴充性增強。在服務器端,系統(tǒng)使用hibernate中間件訪問數(shù)據(jù)庫,數(shù)據(jù)庫服務器定義了本系統(tǒng)所需要的事務邏輯和數(shù)據(jù)邏輯。本系統(tǒng)使用JSP技術(shù)作為表現(xiàn)手段,服務器采用Tomcat6.0作為JSP引擎,系統(tǒng)業(yè)務邏輯由controller層完成,使用hibernate驅(qū)動程序訪問數(shù)據(jù)庫。由于系統(tǒng)測試需要成熟的數(shù)據(jù)庫支持,因此系統(tǒng)采用mysql數(shù)據(jù)庫作為數(shù)據(jù)庫服務器。3.3功能設(shè)計根據(jù)需求分析得出本系統(tǒng)整體分前臺和后臺兩大模塊。前臺用戶主要功能模塊包括:學生的查詢,修改密碼,退出前臺;后臺管理員(普通和超級管理員)主要功能模塊包括:管理員登陸,添加學生(管理員)信息和成績,修改學生(管理員)信息和成績,刪除學生(管理員)信息和成績,查詢學生(管理員)信息和成績,修改管理員本人密碼等。下面分別從前臺和后臺進行詳細功能設(shè)計。3.3.1前臺用戶功能模塊設(shè)計根據(jù)概要設(shè)計對前臺模塊進行細化,經(jīng)過對用戶需求和業(yè)務邏輯的分析,前臺各個模塊的詳細設(shè)計如下:(1)查詢模塊:學生查詢模塊主要有查詢成績功能。查詢功能主要用于學生對自己的學籍以及成績的查詢,學生只需輸入“學號”和“密碼”即可進行進入系統(tǒng)的事務,對自己的學籍以及成績進行查看。(2)修改密碼模塊:如果想要修改自己的查詢密碼的話,直接在學生信息界面的右下角點擊“改密”,即可進入修改密碼,隨后系統(tǒng)會根據(jù)要求顯示修改密碼界面,在輸入框中分別輸入原密碼和修改后的密碼,如果你的原密碼輸入有誤的話,系統(tǒng)會自動提醒,是的注意的是:在輸入修改后的密碼時需要進行二次輸入,倘若兩次密碼不一樣也會有紅色字體的提示。3.3.2后臺管理員功能模塊設(shè)計根據(jù)管理員對系統(tǒng)的需求和對管理員權(quán)限的限制,后臺模塊功能詳細設(shè)計如下:(1)管理員修改密碼模塊:管理員登入列表界面后,在列表中找到自己的所屬位置,即可點擊“操作”中的“修改密碼”,即可同學生一樣進入修改頁面;(2)退出模塊:當管理員進入列表后,如果想切換賬戶,即可直接點擊左下角的退出按鈕,即可退出主頁面進入登陸頁面; (3)添加模塊:管理員進入主頁面后,點擊新增,即可添加學生。如果是超級管理員的話,在管理員界面點擊新增不僅可以添加學生信息還可以添加管理員信息;

第四章系統(tǒng)實現(xiàn)與調(diào)試4.1系統(tǒng)功能實現(xiàn)4.1.1文件結(jié)構(gòu)圖文件結(jié)構(gòu)的良好設(shè)計,對自己的開發(fā)過程有很大的好處,在設(shè)計的最初,應該想到自己要用的文件資源,一般來說:把項目shoppingsales放到新建目錄的workspace下,里面的主要存src和WebRoot文件,src主要存放com包,WebRoot主要存放jsp網(wǎng)頁、css代碼和images圖片文件。這樣在自己改進系統(tǒng)或書寫文檔以及書寫使用說明時都可以簡明扼要的寫出自己的程序結(jié)構(gòu)。4.2.2文件詳細結(jié)構(gòu)圖圖4-1文檔結(jié)構(gòu)關(guān)系圖4.3關(guān)鍵技術(shù)實現(xiàn)4.3.1struts+Hibernate①域?qū)ο髮樱壕唧w的實體類,如管理員,學生等等這些具體的類(需要與數(shù)據(jù)庫中的表對應),由持久層類完成。②數(shù)據(jù)持久層:主要負責與底層的數(shù)據(jù)庫打交道。這里采用Spring封裝的Hibernate操作來簡化實際的編碼。主要的操作為CRUD(create,read,update,delete),由DAO完成。③業(yè)務邏輯層:主要負責具體的業(yè)務處理。通過Spring的IOC以及AOP實現(xiàn)各個功能的耦合相連,業(yè)務邏輯由service來完成,service通過調(diào)用DAO操作數(shù)據(jù)庫,實現(xiàn)業(yè)務邏輯。service由Struts的Action類來調(diào)用。④UI層:負責與用戶交互,包括:接受用戶的請求,把處理結(jié)果返回給用戶。目前主要采用struts來做UI層,雖然比起Tapestry以及JSF這些事件驅(qū)動的表現(xiàn)層技術(shù)而言,Struts的設(shè)計顯得有些老土,但它目前仍是表現(xiàn)層事實上的標準,所以我們還是選用它。4.3.2處理中文問題創(chuàng)建一個com.sms.filter包在包里創(chuàng)建一個SetCharaterEncodingFilter.java類的代碼如下。Packagecom.sms.filter;Importjava.io.IOException;Importjavax.servlet.Filter;Importjavax.servlet.FilterChain;importjavax.servlet.FilterConfig;importjavax.servlet.ServletException;importjavax.servlet.ServletRequest;Importjavax.servlet.ServletResponse;PublicclassSetCharacterEncodingFilterimplementsFilter{ProtectedStringencoding=null;ProtectedFilterConfigfilterConfig=null;ProtectedBooleanignore=true;Publicvoiddestroy(){This.Encoding=null;this.filterConfig=null;}publicvoiddoFilter(ServletRequestrequest,ServletResponseresponse,FilterChainchain) throwsIOException,ServletException{if(ignore||(request.getCharacterEncoding()==null)){Stringencoding=selectEncoding(request);if(encoding!=null)request.setCharacterEncoding(encoding);}chain.doFilter(request,response);}publicvoidinit(FilterConfigfilterConfig)throwsServletException{ this.filterConfig=filterConfig;this.encoding=filterConfig.getInitParameter("encoding");Stringvalue=filterConfig.getInitParameter("ignore");if(value==null)this.ignore=true;elseif(value.equalsIgnoreCase("true"))this.ignore=true;elseif(value.equalsIgnoreCase("yes"))this.ignore=true;elsethis.ignore=false;}protectedStringselectEncoding(ServletRequestrequest){return(this.encoding);}}4.4調(diào)試過程中的常見錯誤4.4.1空指針異常圖4-2空指針異常解決方法:為了確保進行操作或引用的對象非空,假若我們要對某對象進行操作或引用,我們首先去檢查該對象是否已經(jīng)實例化且不為空;并且在系統(tǒng)中加入針對對象為空時情況的處理。如:采用String對象保存用戶提交的結(jié)果;在如果涉及對象的操作時,先檢測其是否為空后,檢查到對象為空后,可再選擇進行以下任一種處理方式:

處理方式1:檢查到對象為空時,設(shè)置對象值為空字符串或一個默認值;

處理方式2:檢測到對象為空時,根本不執(zhí)行某操作,直接跳轉(zhuǎn)到其他處理中。

處理方式3:檢查到對象為空時,提示用戶操作有錯誤。4.圖4-3404錯誤解決方法:表示的是這個頁面不存在也就是說,你訪問網(wǎng)站是沒有問題的,問題是你訪問的這個頁面網(wǎng)站上不存在有可能是被站長刪除了,當然也有可能是你的網(wǎng)址輸入錯誤,所以你可以:1.檢查網(wǎng)址有沒有輸入錯誤;2.這個頁面內(nèi)容確實對你很重要的話,想辦法聯(lián)系站長;4.4.3數(shù)據(jù)庫連接錯誤圖4-4數(shù)據(jù)庫連接錯誤解決方法:選擇的順序和數(shù)據(jù)庫順序不一致,獲得結(jié)果集中的次序不對,避免的方法是SQL語句時就按數(shù)據(jù)庫中的順序?qū)?,取值時亦按照順序嚴格取值。還有你的版本太低,需要升級,你檢查看看你的版本是sp3還是sp4,因為好多時候版本低的話,不支持。還有一種可能就是你的MSSQL連接的用戶和密碼和DataBase中設(shè)置連接的用戶和密碼是否一致。代碼如下:url="jdbc:microsoft:sqlserver://:1433;DataName=pubs";driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";uid="sa";(必須和數(shù)據(jù)庫連接所用的用戶名,保持一致)pwd="";(必須和數(shù)據(jù)庫連接所用的密碼,保持一致)Class.forName(driver);

第五章系統(tǒng)運行結(jié)果截圖5.1系統(tǒng)主界面圖5-1系統(tǒng)主界面5.2查詢界面圖5-2查詢界面5.3學生學籍成績界面圖5-3學生學籍成績管理界面5.4管理員個人界面圖5-4管理員個人信息界面5.5添加管理員圖5-5添加管理員5.6管理員回收站列表圖5-6管理員回收站列表結(jié)論結(jié)論本次項目的完成給予我一個極大的鼓舞。大學三年以來,說實話我沒有好好學,對于之前的C、java、jsp等沒有一個是精通的,但是,就是畢業(yè)設(shè)計的到來,讓我深刻意識到幾種語言之間的關(guān)系。就拿今年的J2EE來說,他所用的架構(gòu)跟JSP的架構(gòu)是差不多的,區(qū)別就是在于數(shù)據(jù)庫連接的處理和Action層的處理方式不一樣就我而言。所以我不得不重新拿起書本,從基礎(chǔ)開始學。經(jīng)過一個星期的強化訓練,我才清楚的了解J2EE的作用,以及從項目伊始到項目結(jié)束的層層架構(gòu)關(guān)聯(lián)。學生學籍管理系統(tǒng)——如果是按照以往的架構(gòu)模式,那他的代碼量會很大,而且較現(xiàn)在的J2EE而言沒有什么優(yōu)勢。我認真學這個也有一段時間,最大的感受就是在數(shù)據(jù)庫連接處理上面非常的簡單,數(shù)據(jù)庫不像JDBC還要敲好多的連接代碼,看著就頭疼,重點是幾乎每個servlet層都得敲一遍,費時費力。還有就是以前的基類都是需要一個代碼一個代碼

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論