畢業(yè)論文-教師管理系統(tǒng)_第1頁(yè)
畢業(yè)論文-教師管理系統(tǒng)_第2頁(yè)
畢業(yè)論文-教師管理系統(tǒng)_第3頁(yè)
畢業(yè)論文-教師管理系統(tǒng)_第4頁(yè)
畢業(yè)論文-教師管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩58頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

太原理工大學(xué)畢業(yè)設(shè)計(jì)(論文)用紙引言隨著計(jì)算機(jī)科學(xué)與技術(shù)的迅速發(fā)展,計(jì)算機(jī)技術(shù)已經(jīng)滲透到了社會(huì)的每一個(gè)角落,隨之帶來(lái)的高效率、高性能計(jì)算機(jī)軟件推動(dòng)了其他各個(gè)行業(yè)的技術(shù)更新和科技革命。人類(lèi)社會(huì)正從工業(yè)社會(huì)邁向信息社會(huì),信息技術(shù)是當(dāng)代最具潛力的新的生產(chǎn)力,信息資源是國(guó)民經(jīng)濟(jì)和社會(huì)發(fā)展的戰(zhàn)略資源,信息化水平已成為國(guó)家現(xiàn)代化和綜合國(guó)力的重要標(biāo)志。全球信息化不僅對(duì)我國(guó)的經(jīng)濟(jì)和社會(huì)產(chǎn)生了廣泛而深刻的影響,而且給信息產(chǎn)業(yè)帶來(lái)了難得的發(fā)展機(jī)遇。努力把我國(guó)建設(shè)成為現(xiàn)代化國(guó)家的經(jīng)濟(jì)形式模式,就必須加快信息化建設(shè)步伐。信息管理系統(tǒng)就是我們常說(shuō)的MIS(ManagementInformationSystem),在強(qiáng)調(diào)管理,強(qiáng)調(diào)信息的現(xiàn)代社會(huì)中它變得越來(lái)越普及。MIS是一門(mén)新的學(xué)科,它跨越了若干個(gè)領(lǐng)域,比如管理科學(xué)、系統(tǒng)科學(xué),運(yùn)籌學(xué)、統(tǒng)計(jì)學(xué)以及計(jì)算機(jī)科學(xué)。在這些學(xué)科的基礎(chǔ)上,形成信息收集和加工的方法,從而形成一個(gè)縱橫交織的系統(tǒng)。設(shè)計(jì)與實(shí)現(xiàn)這個(gè)教師信息管理系統(tǒng)的目的是高校對(duì)教師信息的管理工作效率得到提高。課題背景、研究目的及意義1.1.1課題背景在JSP出現(xiàn)以前開(kāi)發(fā)一個(gè)能夠和用戶交互并實(shí)時(shí)檢索數(shù)據(jù)庫(kù)的Web應(yīng)用程序是一件非常繁瑣的事情,系統(tǒng)的管理者需要花費(fèi)很大精力去創(chuàng)建和維護(hù)它,而且在以往的方式下,應(yīng)用的開(kāi)發(fā)效率是極其低下的。即使是單個(gè)頁(yè)面布局的微小變動(dòng),往往都需要重新設(shè)計(jì)頁(yè)面的源代碼。而隨著JSP技術(shù)的推出,開(kāi)發(fā)Web應(yīng)用就成了一件輕松的事情,即使是初學(xué)者也只用簡(jiǎn)單的語(yǔ)句就可以開(kāi)發(fā)出一個(gè)完整的應(yīng)用。更重要的是此次軟件設(shè)計(jì)開(kāi)發(fā)也讓自己得到實(shí)踐中的鍛煉。1.1.2課題發(fā)展前景及趨勢(shì)⑴JSP技術(shù)的前景和趨勢(shì)本課題是采用JSP技術(shù)進(jìn)行開(kāi)發(fā)的教師信息管理系統(tǒng),隨著近些年Internet的飛速發(fā)展,傳統(tǒng)的提供靜態(tài)網(wǎng)頁(yè)的Web服務(wù)已經(jīng)無(wú)法滿足廣大Internet用戶的需求,動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)隨之誕生,如ASP、PHP、JSP等,其中JSP由于具備“一次編寫(xiě),隨處運(yùn)行(WriteOnce,RunAnywhere)”的特點(diǎn),在WEB應(yīng)用開(kāi)發(fā)中得到了廣泛的應(yīng)用。應(yīng)用JSP技術(shù)開(kāi)發(fā)教師信息管理系統(tǒng)能夠使JSP在網(wǎng)絡(luò)技術(shù)中的性能得到淋漓盡致的發(fā)揮,調(diào)查研究表明,大多數(shù)教師信息管理軟件的主要問(wèn)題是受阻基于機(jī)構(gòu)內(nèi)部的管理的,脫離了與廣大教職工的聯(lián)系,它變的孤立而且功能受限,一個(gè)脫離了廣大客戶的管理系統(tǒng),就必將在未來(lái)的市場(chǎng)中無(wú)用武之地。更與現(xiàn)今的常用的軟件開(kāi)發(fā)模式B/S模式背道而馳,加之這樣JSP技術(shù)可以支持多種運(yùn)行平臺(tái),運(yùn)行速度快,難易程度低,擴(kuò)展性安全性好,數(shù)據(jù)庫(kù)支持多等特點(diǎn),為設(shè)計(jì)者、使用者和維護(hù)者提供了方便。⑵教師信息管理對(duì)Internet/Intranet的需求的發(fā)展趨勢(shì)教師信息管理系統(tǒng)與互聯(lián)網(wǎng)的結(jié)合,正成為現(xiàn)今發(fā)展的焦點(diǎn)問(wèn)題之一。因?yàn)殡S著機(jī)構(gòu)規(guī)模的擴(kuò)大和業(yè)務(wù)信息交流量的增大,教師信息管理已不再滿足于簡(jiǎn)單的文件共享方式,而是追求一種更靈活、更方便的數(shù)據(jù)共享策略,這便是機(jī)構(gòu)將自身以數(shù)據(jù)庫(kù)為核心的MIS系統(tǒng)從客戶機(jī)/服務(wù)器模式向Internet/Intranet的系統(tǒng)架構(gòu)轉(zhuǎn)變的原因。另外,隨著機(jī)構(gòu)自身在不斷的發(fā)展,尤其大型機(jī)構(gòu)的國(guó)際化發(fā)展已成為必然,一些客戶和業(yè)務(wù)點(diǎn)可能是跨地區(qū)、甚至是跨國(guó)界的,因此,在數(shù)據(jù)傳遞、信息共享和發(fā)布時(shí),Internet成為這些跨地域用戶的必然選擇,可以是客戶足不出戶就能享受服務(wù),通過(guò)Internet網(wǎng)拉近了客戶和機(jī)構(gòu)之間聯(lián)系,機(jī)構(gòu)無(wú)形中牢牢抓住了廣大客源,在激烈的市場(chǎng)競(jìng)爭(zhēng),占有了自己的一席之地,通過(guò)基于WEB的機(jī)構(gòu)管理系統(tǒng)對(duì)客戶的信息做科學(xué)的管理,能夠提供一種對(duì)教師信息管理的大量數(shù)據(jù)做出匯總的多層次的快速靈活的查詢、分析及報(bào)表制作手段。因此,教師信息管理迫切需求的是一個(gè)基于Internet網(wǎng)又能進(jìn)行機(jī)構(gòu)內(nèi)部管理的綜合管理系統(tǒng),并能及時(shí)為機(jī)構(gòu)管理各種管理提供服務(wù)。如何將管理支持系統(tǒng)與Internet/Intranet技術(shù)有機(jī)地結(jié)合起來(lái),提供基于Web、集查詢、報(bào)表、已經(jīng)成為一個(gè)重要課題。1.2課題內(nèi)容簡(jiǎn)介本課題解決的問(wèn)題是如何通過(guò)設(shè)計(jì)一個(gè)切實(shí)可行的軟件系統(tǒng)來(lái)解決教師信息管理目前存在的一系列問(wèn)題。該課題是基于Windows7的操作系統(tǒng),后臺(tái)數(shù)據(jù)庫(kù)采用SqlServer2008,前端使用JSP進(jìn)行開(kāi)發(fā)。本軟件編寫(xiě)的目標(biāo)是為教職工的管理設(shè)計(jì)的教師信息管理系統(tǒng)。該系統(tǒng)應(yīng)具有教師信息顯示功能,材料、工作情況、簡(jiǎn)歷及通知通告情況添加、保存、修改、刪除功能等在具有權(quán)限的情況下,本設(shè)計(jì)按照功能模塊分為以下幾個(gè)模塊;(1)系統(tǒng)具有簡(jiǎn)潔大方的頁(yè)面,使用簡(jiǎn)便,友好的錯(cuò)誤操作提示(2)管理員用戶具有教師信息管理、消息新聞上傳、工作記錄等功能(3)教師用戶具有個(gè)人信息管理、資料下載、工作記錄提交等功能(4)具有較強(qiáng)的安全性,避免用戶的惡意操作1.3課題調(diào)研及可行性分析1.3.1課題調(diào)研深入教師人群進(jìn)行交流和調(diào)查,滿足教師最大需要。深入機(jī)構(gòu)實(shí)地調(diào)研,到高校與主要負(fù)責(zé)人詢問(wèn)相關(guān)細(xì)節(jié),包括業(yè)務(wù)流程、數(shù)據(jù)流分析、實(shí)地情況等。上網(wǎng)搜索相關(guān)內(nèi)容,參看其他一些教師信息管理軟件,從中學(xué)習(xí)借簽。1.3.2可行性分析(1)技術(shù)可行性硬件方面,我們目前擁有了計(jì)算機(jī)硬件配備,有了Windows7操作系統(tǒng)的運(yùn)行環(huán)境,提供了WindowsXP的工作平臺(tái),安裝了開(kāi)發(fā)軟件,包括運(yùn)行平臺(tái)的、數(shù)據(jù)庫(kù)的和各類(lèi)編程工具的,在編程環(huán)境上提供了可靠的支持,為系統(tǒng)的開(kāi)發(fā)提供了必要的技術(shù)保障。我們開(kāi)發(fā)的這個(gè)系統(tǒng)就是采用B/S的3層結(jié)構(gòu)模式,Browser/Web/DataBase。此系統(tǒng)用JSP開(kāi)發(fā),JSP作為一種Web實(shí)現(xiàn)技術(shù),它的效率是很高的。這一點(diǎn)正好符合了本系統(tǒng)所要求的實(shí)時(shí)性。另外它可以方便的連接各種數(shù)據(jù)庫(kù),像Oracle8/8i/9i數(shù)據(jù)庫(kù),SqlServer7.0/2000數(shù)據(jù)庫(kù),DB2數(shù)據(jù)庫(kù)等等,這樣可以根據(jù)需要進(jìn)行移植。另外作為Java平臺(tái)的一部分,JSP擁有Java語(yǔ)言“一次編寫(xiě),各處運(yùn)行”的特點(diǎn)。幾乎所有平臺(tái)都支持Java,JSP+JavaBeans幾乎可以在所有平臺(tái)下通行無(wú)阻。從一個(gè)平臺(tái)移植到另外一個(gè)平臺(tái),JSP和JavaBeans甚至不用重新編譯,因?yàn)镴ava字節(jié)碼都是標(biāo)準(zhǔn)的與平臺(tái)無(wú)關(guān)的。又隨著越來(lái)越多的服務(wù)器供應(yīng)商將JSP支持添加到他們的產(chǎn)品中,這樣一來(lái)用JSP做成的這套系統(tǒng)可以輕松移植到其它平臺(tái)來(lái)運(yùn)行。所以用JSP來(lái)開(kāi)發(fā)是完全可行的。同時(shí),JavaScript是一種基于對(duì)象和事件驅(qū)動(dòng)并具有相對(duì)安全性的客戶端腳本語(yǔ)言。同時(shí)也是一種廣泛用于客戶端Web開(kāi)發(fā)的腳本語(yǔ)言,常用來(lái)給HTML網(wǎng)頁(yè)添加動(dòng)態(tài)功能,比如響應(yīng)用戶的各種操作。JavaScript的一個(gè)重要功能就是面向?qū)ο蟮墓δ埽ㄟ^(guò)基于對(duì)象的程序設(shè)計(jì),可以用更直觀、模塊化和可重復(fù)使用的方式進(jìn)行程序開(kāi)發(fā)。在HTML基礎(chǔ)上,使用Javascript可以開(kāi)發(fā)交互式Web網(wǎng)頁(yè)。Javascript的出現(xiàn)使得網(wǎng)頁(yè)和用戶之間實(shí)現(xiàn)了一種實(shí)時(shí)性的、動(dòng)態(tài)的、交互性的關(guān)系,使網(wǎng)頁(yè)包含更多活躍的元素和更加精彩的內(nèi)容。在本系統(tǒng)中很多地方使用了javascript技術(shù),比如說(shuō),檢驗(yàn)用戶輸入數(shù)據(jù)的有效性,是否重復(fù),是否為空等等。(2)經(jīng)濟(jì)可行性系統(tǒng)開(kāi)發(fā)所需的費(fèi)用是比較低的,由于系統(tǒng)并不復(fù)雜,其運(yùn)行費(fèi)用也不會(huì)占用很多資金,同時(shí)無(wú)須費(fèi)用,用戶直接就可通過(guò)瀏覽器使用,并且可以預(yù)見(jiàn)系統(tǒng)完成后可以給單位帶來(lái)較大的作用。所帶來(lái)的效益遠(yuǎn)遠(yuǎn)大于系統(tǒng)軟件的開(kāi)發(fā)成本,譬如:可以進(jìn)行低投入的大范圍的經(jīng)營(yíng)活動(dòng),增加經(jīng)營(yíng)者與客戶的交流,對(duì)項(xiàng)目都可以進(jìn)行有效而方便的管理。因此在經(jīng)濟(jì)上完全可行。(3)操作可行性本系統(tǒng)操作簡(jiǎn)單,輸入信息頁(yè)面大多數(shù)都是下拉框的選擇形式,在某些頁(yè)面,信息可以自動(dòng)生成,無(wú)需輸入,時(shí)間的輸入也是用的日歷控件,操作簡(jiǎn)便,對(duì)操作人員的要求很低,只需對(duì)WINDOWS操作熟練,加之對(duì)本系統(tǒng)的操作稍加培訓(xùn)即可工作,而且本系統(tǒng)可視性非常好,所以在技術(shù)上不會(huì)有很大難度。(4)法律可行性開(kāi)發(fā)本系統(tǒng)的過(guò)程未觸及任何法律上的問(wèn)題,遵守國(guó)際國(guó)內(nèi)上通用的法則,采用的軟件也均為正版,因此在法律上也是可行的。綜上所述,開(kāi)發(fā)一個(gè)教師信息管理系統(tǒng)與人工記錄的方式相比具有速度更快,操作更準(zhǔn)確,節(jié)省開(kāi)支等有利之處,因此,建立一個(gè)教師信息管理系統(tǒng)是必要可行的。2系統(tǒng)需求分析2.1系統(tǒng)功能分析本系統(tǒng)以教師信息管理為主要目標(biāo),提供一個(gè)信息更新快捷,管理方便,功能設(shè)置合理的教師信息管理解決方案。系統(tǒng)總體目標(biāo)如下:使教師信息管理更加科學(xué)化;提供必要的工作管理功能;提供靈活方便的操作;節(jié)約管理成本提高管理效率;提供必要的權(quán)限管理;為學(xué)校考核教師的工作情況提供必要的數(shù)據(jù)支持。本軟件編寫(xiě)的目標(biāo)是為教職工的基本信息,簡(jiǎn)歷信息及工作情況,設(shè)計(jì)教師信息管理系統(tǒng)。該系統(tǒng)應(yīng)具有教師信息信息顯示功能,基本信息,簡(jiǎn)歷信息及工作情況添加、保存、修改、刪除功能等。根據(jù)不同權(quán)限的考慮,(1)系統(tǒng)總體架構(gòu):根據(jù)系統(tǒng)功能需求,系統(tǒng)功能及對(duì)數(shù)據(jù)庫(kù)的操作都在服務(wù)器端完成,而用戶在瀏覽器端的操作都送到服務(wù)器端處理。(2)教師管理:當(dāng)教師登錄后,顯示該教職工的信息首頁(yè),并為其顯示相應(yīng)的基本信息。(3)管理員管理:將教職工的相應(yīng)信息存入數(shù)據(jù)庫(kù)中;教職工的基本信息和其它信息。2.2業(yè)務(wù)流程圖在開(kāi)發(fā)機(jī)構(gòu)綜合管理系統(tǒng)前期,必須掌握整個(gè)教師信息管理的業(yè)務(wù)流程,這樣才能有條不紊的進(jìn)行系統(tǒng)設(shè)計(jì)。業(yè)務(wù)流程圖(transactionflowdiagram,簡(jiǎn)稱TFD),

就是用一些規(guī)定的符號(hào)及連接來(lái)表示某個(gè)具體的業(yè)務(wù)處理過(guò)程。在對(duì)系統(tǒng)的組織結(jié)構(gòu)和功能進(jìn)行分析時(shí),需從一個(gè)實(shí)際業(yè)務(wù)流程的角度將系統(tǒng)調(diào)查中有關(guān)該業(yè)務(wù)流程的資料都串起來(lái)作進(jìn)一步的分析。業(yè)務(wù)流程圖是一種描述系統(tǒng)內(nèi)各單位、人員之間業(yè)務(wù)關(guān)系、作業(yè)順序和管理信息流向的圖表,利用它可以幫助分析人員找出業(yè)務(wù)流程中的不合理流向,它是物理模型。業(yè)務(wù)流程分析可以幫助我們了解該業(yè)務(wù)的具體處理過(guò)程,發(fā)現(xiàn)和處理系統(tǒng)的調(diào)查工作中的錯(cuò)誤和疏漏,修改和刪除原系統(tǒng)的不合理部分,在新系統(tǒng)基礎(chǔ)上優(yōu)化業(yè)務(wù)處理流程。業(yè)務(wù)流程圖描述的是完整的業(yè)務(wù)流程,以業(yè)務(wù)處理過(guò)程為中心,一般沒(méi)有數(shù)據(jù)的概念。業(yè)務(wù)流程圖的繪制是按照業(yè)務(wù)的實(shí)際處理步驟和過(guò)程進(jìn)行的。業(yè)務(wù)流程圖是一種系統(tǒng)分析人員都懂的共同語(yǔ)言,用來(lái)描述系統(tǒng)組織結(jié)構(gòu)、業(yè)務(wù)流程。業(yè)務(wù)流程圖如圖2-1所示?;拘畔⒒拘畔⒐芾韱T未分配賬號(hào)分配登陸系統(tǒng)分配過(guò)的賬號(hào)查詢查詢刪除添加修改發(fā)布保存所有用戶所有被操作的信息被自動(dòng)寫(xiě)入數(shù)據(jù)庫(kù)圖2-1業(yè)務(wù)流程圖2.3數(shù)據(jù)字典數(shù)據(jù)字典是系統(tǒng)中各類(lèi)數(shù)據(jù)描述的集合,是進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要成果。數(shù)據(jù)字典通常包括數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)和處理過(guò)程。數(shù)據(jù)項(xiàng)即數(shù)據(jù)表,數(shù)據(jù)表是進(jìn)行數(shù)據(jù)訪問(wèn)與存取的工具。對(duì)于任何一個(gè)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng),它的數(shù)據(jù)處理的工具和對(duì)象均是數(shù)據(jù)表,界面是一種對(duì)內(nèi)部數(shù)據(jù)進(jìn)行控制的手段,因此系統(tǒng)中各種各樣的界面制作的目的,就是通過(guò)界面中的控件實(shí)現(xiàn)對(duì)數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行查詢、操縱、定義、控制,因此需要設(shè)計(jì)各種需要的數(shù)據(jù)表。例如存放材料信息的數(shù)據(jù)字典如表2-1所示。表2-1存放材料信息的數(shù)據(jù)字典字段名字段類(lèi)型約束或索引描述ClIdint(8)PKauto_increment材料信息號(hào)ClNamevarchar(16)notnull材料名稱ClShowvarchar(200)notnull材料說(shuō)明ClDocvarchar(32)notnull相關(guān)文件3系統(tǒng)設(shè)計(jì)3.1系統(tǒng)開(kāi)發(fā)與運(yùn)行環(huán)境確定3.1.1系統(tǒng)開(kāi)發(fā)⑴此系統(tǒng)是基于Windows7網(wǎng)絡(luò)環(huán)境的數(shù)據(jù)庫(kù)管理,后臺(tái)數(shù)據(jù)庫(kù)采用SqlServer2008數(shù)據(jù)庫(kù),前端使用MyEclipse10進(jìn)行開(kāi)發(fā)。⑵開(kāi)發(fā)系統(tǒng)中數(shù)據(jù)庫(kù)設(shè)計(jì)是為了適應(yīng)教師信息管理的需要。在系統(tǒng)設(shè)計(jì)過(guò)程中,為了保證程序能正常運(yùn)行且符合生產(chǎn)管理的要求,本人根據(jù)機(jī)構(gòu)的一些實(shí)際情況進(jìn)行設(shè)計(jì)。⑶開(kāi)發(fā)過(guò)程是在指導(dǎo)老師和同學(xué)的幫助下結(jié)合自己的實(shí)際水平,借閱圖書(shū)館大量資料后而進(jìn)行的。3.1.2系統(tǒng)開(kāi)發(fā)環(huán)境此系統(tǒng)是基于Windows7網(wǎng)絡(luò)環(huán)境,后臺(tái)數(shù)據(jù)庫(kù)采用SqlServer2008,前端使用MyEclipse10進(jìn)行開(kāi)發(fā)。SQLServer是由Microsoft開(kāi)發(fā)和推廣的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同開(kāi)發(fā)的,并于1988年推出了第一個(gè)OS/2版本。SQLServer近年來(lái)不斷更新版本,1996年,Microsoft推出了SQLServer6.5版本;1998年,SQLServer7.0版本和用戶見(jiàn)面;SQLSERVER2005是Microsoft公司于2005年推出的版本。SQLServer特點(diǎn):(1)真正的讀者機(jī)/服務(wù)器體系結(jié)構(gòu)。(2)圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫(kù)管理更加直觀、簡(jiǎn)單。(3)豐富的編程接口工具,為用戶進(jìn)行程序設(shè)計(jì)提供了更大的選擇余地。(4)SQLServer與WindowsNT完全集成,利用了NT的許多功能,如發(fā)送和接受消息,管理登錄安全性等。SQLServer也可以很好地與MicrosoftBackOffice產(chǎn)品集成。(5)具有很好的伸縮性,可跨越從運(yùn)行Windows95/98的膝上型電腦到運(yùn)行Windows2000的大型多處理器等多種平臺(tái)使用。(6)對(duì)Web技術(shù)的支持,使用戶能夠很容易地將數(shù)據(jù)庫(kù)中的數(shù)據(jù)發(fā)布到Web頁(yè)面上。(7)SQLServer提供數(shù)據(jù)倉(cāng)庫(kù)功能,這個(gè)功能只在Oracle和其他更昂貴的DBMS中才有。3.1.3系統(tǒng)運(yùn)行環(huán)境簡(jiǎn)介⑴性能要求系統(tǒng)的性能要求通常指系統(tǒng)需要的存儲(chǔ)容量以及后援存儲(chǔ),重新啟動(dòng)和安全性,運(yùn)行效率等方面的考慮。本系統(tǒng)是以MyEclipse為前臺(tái),SqlServer2008為后臺(tái)數(shù)據(jù)庫(kù),因此要求系統(tǒng)運(yùn)行在:Windows7系統(tǒng)運(yùn)行時(shí)對(duì)數(shù)據(jù)的保密性要求不高對(duì)一般的數(shù)據(jù)不要求進(jìn)行加密。此外,對(duì)其它軟件幾乎沒(méi)有依賴性,程序健壯性較好。⑵運(yùn)行需求本系統(tǒng)是由JSP+SqlServer2008開(kāi)發(fā)的,因此系統(tǒng)必須滿足如下條件才能正常運(yùn)行:1.硬件要求:酷睿2CPU、1024M內(nèi)存或更高。2.操作系統(tǒng):WindowsXPWindows7或者以上版本。3.腳本解釋器:安裝IE6.0或者以上版本4.安裝JDK(Java集成開(kāi)發(fā)工具包)。5.安裝Tomcat服務(wù)器。6.安裝MyEclipse10。7.?dāng)?shù)據(jù)庫(kù):SqlServer20088.權(quán)限要求:對(duì)SqlServer2008數(shù)據(jù)庫(kù)具有建表、備份的權(quán)限⑶其他需求本系統(tǒng)有較好的可維護(hù)性、可靠性、可理解性、效率。易于用戶理解和操作??删S護(hù)性包括了可讀性、可修改性、可測(cè)試性、等含義。可靠性通常包括正確性和健壯性。開(kāi)發(fā)過(guò)程中,在各種矛盾的目標(biāo)之間作權(quán)衡,并在一定的限制的條件下(經(jīng)費(fèi)、時(shí)間、可用的軟、硬件資源等),使上述各方面最大限度的得到滿足。3.2數(shù)據(jù)庫(kù)的設(shè)計(jì)與分析計(jì)算機(jī)信息系統(tǒng)以數(shù)據(jù)庫(kù)為核心,在數(shù)據(jù)庫(kù)管理系統(tǒng)的支持下,進(jìn)行信息的收集、整理、存儲(chǔ)、檢索、更新、加工、統(tǒng)計(jì)和傳播等操作。數(shù)據(jù)庫(kù)已經(jīng)成為現(xiàn)在信息系統(tǒng)等計(jì)算機(jī)系統(tǒng)的基礎(chǔ)與核心部分。數(shù)據(jù)庫(kù)設(shè)計(jì)的好壞直接影響到整個(gè)系統(tǒng)的質(zhì)量和效率。數(shù)據(jù)庫(kù)的設(shè)計(jì)一般經(jīng)過(guò)規(guī)劃。需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)5個(gè)步驟。3.2.1數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)概念設(shè)計(jì)是指在數(shù)據(jù)分析的基礎(chǔ)上自底向上的建立整個(gè)系統(tǒng)的數(shù)據(jù)庫(kù)概念結(jié)構(gòu),從用戶的角度進(jìn)行視圖設(shè)計(jì),然后將視圖集成,最后對(duì)集成的結(jié)構(gòu)分析優(yōu)化得到最后結(jié)果。數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)采用實(shí)體—聯(lián)系(E-R)模型設(shè)計(jì)方法。E-R模型法的組成元素有:實(shí)體、屬性、聯(lián)系,E-R模型用E-R圖表示,是提示用戶工作環(huán)境中所涉及的事物,屬性則是對(duì)實(shí)體特性的描述。概念設(shè)計(jì)的目標(biāo)是產(chǎn)生反映企業(yè)組織信息要求的數(shù)據(jù)庫(kù)概念結(jié)構(gòu),即概念模式。概念模式是獨(dú)立于數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu),獨(dú)立于支持?jǐn)?shù)據(jù)庫(kù)的DBMS,不依賴于計(jì)算機(jī)系統(tǒng)的,根據(jù)以上對(duì)數(shù)據(jù)庫(kù)的需求分析,并結(jié)合系統(tǒng)概念模型的特點(diǎn)及建立方法,建立E-R模型圖。例如管理員E-R圖如圖3-1所示。圖3-1E-R圖3.2.2數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)設(shè)計(jì)我們知道,數(shù)據(jù)庫(kù)概念模型獨(dú)立于任何特定的數(shù)據(jù)庫(kù)管理系統(tǒng),因此,需要根據(jù)具體使用的數(shù)據(jù)庫(kù)管理系統(tǒng)的特點(diǎn)進(jìn)行轉(zhuǎn)換。即轉(zhuǎn)化為按計(jì)算機(jī)觀點(diǎn)處理的邏輯關(guān)系模型,E-R模型向關(guān)系數(shù)據(jù)庫(kù)模型轉(zhuǎn)換應(yīng)遵循下列原則:*每一個(gè)實(shí)體要轉(zhuǎn)換成一個(gè)關(guān)系*所有的主鍵必須定義非空(NOTNULL)*對(duì)于二元聯(lián)系應(yīng)按照一對(duì)多、弱對(duì)實(shí)、一對(duì)一、多對(duì)多等聯(lián)系來(lái)定義外鍵。根據(jù)E-R模型,教師信息管理系統(tǒng)建立了以下邏輯數(shù)據(jù)結(jié)構(gòu),下面是各數(shù)據(jù)表的詳細(xì)說(shuō)明。(1)教師信息表主要是記錄了教師的基本信息。表結(jié)構(gòu)如表3-1所示。表3-1教師信息表(t_daoshi)列名數(shù)據(jù)類(lèi)型長(zhǎng)度允許空是否主鍵說(shuō)明idint4否是IDgonghaovarchar50否否教師號(hào)xingmingvarchar50否否姓名xingbievarchar50否否性別nianlingvarchar20否否年齡shengrivarchar20否否出生日期gongzuovarchar50否否工作時(shí)間zhuanyevarchar50否否專(zhuān)業(yè)zhaopianvarchar50否否照片beizhuvarchar50否否備注信息(2)管理員信息表主要記錄了管理員的賬號(hào)信息,包括用戶名和密碼,表結(jié)構(gòu)如表3-2所示。表3-2管理員信息表(t_admin)列名數(shù)據(jù)類(lèi)型長(zhǎng)度允許空是否主鍵說(shuō)明userIdint4否是編號(hào)userNamevarchar50否否用戶名userPwvarchar50否否密碼材料信息表主要記錄了上傳材料的名稱、說(shuō)明和存放地址的信息,表結(jié)構(gòu)如表3-3所示。表3-3材料信息表(t-cailiao)列名數(shù)據(jù)類(lèi)型長(zhǎng)度允許空是否主鍵說(shuō)明clNamevarchar50否否材料名稱clIDint4否是材料編號(hào)clShowvarchar50否否材料說(shuō)明clUrlvarchar50否否相關(guān)文件(存放地址)消息信息表主要記錄上傳消息的標(biāo)題、類(lèi)別、作者、發(fā)布人以及發(fā)布時(shí)間的信息,表結(jié)構(gòu)如表3-4所示。表3-4消息信息表(t-xiaoxi)列名數(shù)據(jù)類(lèi)型長(zhǎng)度允許空是否主鍵說(shuō)明xxIdint4否是編號(hào)xxNamevarchar50否否標(biāo)題xxClassvarchar50否否類(lèi)別xxAuthervarchar50否否作者xxPubvarchar50否否發(fā)布人xxTimedate8否否發(fā)布時(shí)間工作情況表主要記錄教師的工作時(shí)間及完成情況等信息,表結(jié)構(gòu)如表3-5所示。表3-5工作情況表(t-qingkuang)列名數(shù)據(jù)類(lèi)型長(zhǎng)度允許空是否主鍵說(shuō)明qkIdint4否是編號(hào)qkNamevarchar50否否工作情況記錄內(nèi)容qkTeachervarchar50否否工作情況記錄導(dǎo)師qkTimedate8否否記錄時(shí)間3.2.3數(shù)據(jù)庫(kù)的連接原理采用JDBC連接數(shù)據(jù)庫(kù)的方式,只需在工程中導(dǎo)入對(duì)應(yīng)數(shù)據(jù)庫(kù)的jar包,就可以方便的對(duì)數(shù)據(jù)庫(kù)進(jìn)行連接,在程序中,用Class.forName()方法來(lái)加載驅(qū)動(dòng)程序,在用DriverManager的getConnection()方法就可以創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)連接。程序采用的是DAO模式來(lái)操作數(shù)據(jù)庫(kù),DAO(DataAccessObject,數(shù)據(jù)訪問(wèn)對(duì)象),是Java編程中的一種經(jīng)典模式,已被廣泛應(yīng)用,也是J2EE架構(gòu)中持久層框架的基礎(chǔ)知識(shí),基于分層次式的軟件架構(gòu)來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)操作。DAO模式的主要思想就是從抽象數(shù)據(jù)源獲取與操縱數(shù)據(jù)的方法。抽象數(shù)據(jù)的含義就是編寫(xiě)應(yīng)用程序的程序員不必關(guān)心數(shù)據(jù)庫(kù)的物理位置,已經(jīng)是何種數(shù)據(jù)庫(kù),只需使用封裝數(shù)據(jù)庫(kù)中表示記錄的數(shù)據(jù)對(duì)象即可。其思想如圖3-2所示。封裝使用封裝使用DataSourceDataAccessObjectBusinessObjectDataSourceDataAccessObjectBusinessObject創(chuàng)建/使用獲取/修改創(chuàng)建/使用獲取/修改DataTransferObjectDataTransferObject圖3-2DAO模式類(lèi)圖圖中BussinessObject是業(yè)務(wù)對(duì)象,是使用DAO模式的客戶端;DataTransferObject數(shù)據(jù)傳輸對(duì)象,在應(yīng)用程序不同層次之間傳輸對(duì)象,在一個(gè)分布式應(yīng)用程序中,通常可以提高整理的性能;DataObjectAcces數(shù)據(jù)輸入/輸出對(duì)象封裝了對(duì)數(shù)據(jù)源的一些基本操作;DataSource指的是數(shù)據(jù)源??梢詮膱D中看出,DAO模式分離了業(yè)務(wù)邏輯和數(shù)據(jù)羅即將,是的編寫(xiě)的軟件具有良好的層次式體系結(jié)構(gòu)。本系統(tǒng)為了方便數(shù)據(jù)庫(kù)的操作,主要使用DBContent的對(duì)象來(lái)接一個(gè)數(shù)據(jù)庫(kù)(建立一個(gè)類(lèi)DBContent),代碼如下:publicDBContent(){ StringCLASSFORNAME="com.MySql.jdbc.Driver";//連接數(shù)據(jù)庫(kù)的驅(qū)動(dòng) Stringurl="jdbc:MySql://localhost:3306/jzggl"; Stringuser="root";//連接數(shù)據(jù)庫(kù)的用戶名 Stringpassword="root";//連接數(shù)據(jù)庫(kù)的密碼 try{ Class.forName(CLASSFORNAME); con=DriverManager.getConnection(url,user,password);//加載數(shù)據(jù)庫(kù)的驅(qū)動(dòng) stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); } catch(Exceptionex){ ex.printStackTrace(); } } 在程序需要連接數(shù)據(jù)庫(kù)的地方,只需要生成一個(gè)DBConnet的對(duì)象,就可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行連接并操作。3.2.4中文亂碼問(wèn)題處理在程序中經(jīng)常會(huì)遇到中文亂碼的情況,如果手動(dòng)的在servlet和jsp頁(yè)面進(jìn)行設(shè)置,相當(dāng)麻煩。因此,在程序的開(kāi)始就寫(xiě)了一個(gè)過(guò)濾器SetCharacterEncodingFilter。在web.xml中配置:<filter><filter-name>SetCharacterEncodingFilter</filter-name><filter-class>myweb.util.filter.SetCharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>gb2312</param-value></init-param></filter><filter-mapping><filter-name>SetCharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern>//*表示工程下所有的頁(yè)面都會(huì)有此過(guò)濾器的處理</filter-mapping>對(duì)應(yīng)的SetCharacterEncodingFilter.java文件中的重要代碼,在初始化init()方法中定義:publicvoidinit(FilterConfigfilterConfig)throwsServletException{ this.filterConfig=filterConfig;this.encoding=filterConfig.getInitParameter("encoding");Stringvalue=filterConfig.getInitParameter("ignore");}在工具包util包中同樣定義了DataFormate類(lèi)來(lái)處理字符轉(zhuǎn)換:publicstaticStringtoUni(StringgbStr){StringuniStr="";/*把字符串轉(zhuǎn)換成uincode編碼*/if(gbStr==null){gbStr="";}try{byte[]tempByte=gbStr.getBytes("GB2312");uniStr=newString(tempByte,"ISO8859_1");}catch(Exceptionex){}returnuniStr;}/*把字符串轉(zhuǎn)換成Utf8編碼*/publicstaticStringtoUtf8String(Strings){StringBuffersb=newStringBuffer();for(inti=0;i<s.length();i++){charc=s.charAt(i);if(c>=0&&c<=255){sb.append(c);}else{byte[]b;try{b=Character.toString(c).getBytes("utf-8");}catch(Exceptionex){System.out.println(ex);b=newbyte[0];}for(intj=0;j<b.length;j++){intk=b[j];if(k<0){k+=256;}sb.append("%"+Integer.toHexString(k).toUpperCase());}} returnsb.toString();}3.3功能模塊圖系統(tǒng)有兩種登錄權(quán)限,每種權(quán)限有兩大類(lèi)功能,具體功能模塊如圖3-3所示。圖3-3功能模塊圖3.4處理流程設(shè)計(jì)3.4.1系統(tǒng)操作流程圖在登陸頁(yè)面輸入用戶名、密碼和權(quán)限,通過(guò)后臺(tái)檢查,顯示錯(cuò)誤重新登錄,顯示正確直接進(jìn)入權(quán)限的主功能頁(yè)面,進(jìn)行一系列操作和數(shù)據(jù)庫(kù)保存后退出。系統(tǒng)操作流程圖如圖3-4所示。開(kāi)始錯(cuò)誤信息系統(tǒng)主界面開(kāi)始錯(cuò)誤信息系統(tǒng)主界面系統(tǒng)登錄界面系統(tǒng)登錄界面系統(tǒng)管理系統(tǒng)管理輸入用戶名及密碼輸入用戶名及密碼檢查檢查密碼錯(cuò)誤 F密碼錯(cuò)誤 T密碼正確密碼正確功能界面功能界面終止功能處理終止功能處理圖3-4系統(tǒng)操作流程圖3.4.2數(shù)據(jù)增加流程添加信息時(shí),編號(hào)字段由系統(tǒng)自動(dòng)生成,且不能修改,其他信息由用戶輸入,之后對(duì)數(shù)據(jù)進(jìn)行合法判斷,合法則寫(xiě)入保存至數(shù)據(jù)庫(kù),不合法則重新輸入數(shù)據(jù)。數(shù)據(jù)增加流程圖如圖3-5所示。圖3-5數(shù)據(jù)增加流程圖3.4.3數(shù)據(jù)修改流程在修改信息時(shí),先選中一條待修改的記錄,然后直接輸入數(shù)據(jù),判斷合法性,合法則保存至數(shù)據(jù)庫(kù),不合法重新輸入。數(shù)據(jù)修改流程圖如圖3-6所示。圖3-6數(shù)據(jù)修改流程圖3.4.4數(shù)據(jù)刪除流程當(dāng)用戶選定一條記錄時(shí),單擊刪除按鈕,會(huì)提示用戶是否確定刪除,然后刪除數(shù)據(jù)庫(kù)相關(guān)內(nèi)容。數(shù)據(jù)刪除流程圖如圖3-7所示。圖3-7數(shù)據(jù)刪除流程圖4模塊設(shè)計(jì)與實(shí)現(xiàn)在管理信息系統(tǒng)的生命周期中,僅過(guò)了需求分析、系統(tǒng)設(shè)計(jì)等階段之后,便開(kāi)始了系統(tǒng)實(shí)施階段。在系統(tǒng)分析和設(shè)計(jì)階段,系統(tǒng)開(kāi)發(fā)工作主要是集中在邏輯、功能和技術(shù)設(shè)計(jì)上,系統(tǒng)實(shí)施階段要繼承此前面各個(gè)階段的工作成果,將技術(shù)設(shè)計(jì)轉(zhuǎn)化為物理實(shí)現(xiàn),因此系統(tǒng)實(shí)施的成果是系統(tǒng)分析和設(shè)計(jì)階段的結(jié)晶。4.1前臺(tái)模塊設(shè)計(jì)管理員用戶登陸模塊,用html+jsp實(shí)現(xiàn),通過(guò)javascrip做頁(yè)面驗(yàn)證,java程序做后臺(tái)驗(yàn)證,保證信息安全可靠。登陸界面如圖4-1所示。圖4-1登陸界面4.2后臺(tái)模塊設(shè)計(jì)4.2.1管理員登陸在用戶登錄界面,在用戶名對(duì)應(yīng)的文本框中輸入用戶名,在密碼對(duì)應(yīng)的文本框中輸入密碼,如果用戶名和密碼同時(shí)與數(shù)據(jù)庫(kù)中的用戶名和密碼相對(duì)應(yīng),點(diǎn)擊“確定”后進(jìn)入系統(tǒng)的主界面。如果輸入的信息不正確,則給出提示。輸入:用戶名和密碼。處理:校檢字符的有效性。用戶要登錄本系統(tǒng)需要提供用戶名和密碼,在這里就是要檢驗(yàn)用戶是否滿足輸入的要求,即檢驗(yàn)用戶名和密碼文本框是否為空,若為空,則提示用戶輸入用戶名和密碼。檢驗(yàn)用戶名是否存在或密碼是否正確,即是否存在用戶輸入的用戶名,并且密碼是否正確。輸出:登錄成功,進(jìn)入用戶的系統(tǒng)使用資源頁(yè)面,不成功則顯示錯(cuò)誤信息頁(yè)面。publicStringlogin(StringuserName,StringuserPw,intuserType){ try { Thread.sleep(700); }catch(InterruptedExceptione) { //TODOAuto-generatedcatchblock e.printStackTrace(); } Stringresult="no"; if(userType==0)//系統(tǒng)管理員登陸 { Stringsql="fromTAdminwhereuserName=?anduserPw=?"; Object[]con={userName,userPw}; ListadminList=adminDAO.getHibernateTemplate().find(sql,con); if(adminList.size()==0) { result="no"; } else { WebContextctx=WebContextFactory.get(); HttpSessionsession=ctx.getSession(); TAdminadmin=(TAdmin)adminList.get(0); session.setAttribute("userType",0); session.setAttribute("admin",admin); result="yes"; } } if(userType==1) { } if(userType==2) { } returnresult; }4.2.2教師信息管理功能描述:此模塊要實(shí)現(xiàn)對(duì)教師信息信息的管理功能。(1)添加教師信息信息操作: 點(diǎn)擊添加教師信息信息按鈕,輸入需要添加教師信息的內(nèi)容。內(nèi)容包括教師信息的標(biāo)題、內(nèi)容、文檔。 檢驗(yàn)用戶輸入的教師信息的標(biāo)題、內(nèi)容、上傳文檔是否符合教師信息數(shù)據(jù)庫(kù)表中字段定義。若不符合則提示輸入有誤。 提示用戶信息添加成功。 更新用戶數(shù)據(jù)庫(kù)表的信息。(2)修改教師信息信息 點(diǎn)擊修改教師信息信息按鈕。內(nèi)容包括教師信息的標(biāo)題、內(nèi)容、上傳文檔。 檢驗(yàn)用戶輸入的教師信息的標(biāo)題、內(nèi)容、上傳文檔是否符合用戶數(shù)據(jù)庫(kù)表中字段定義。若不符合則提示輸入有誤。 如果用記錄存在,進(jìn)行修改操作,輸入新的字段,并根據(jù)用戶數(shù)據(jù)庫(kù)表中對(duì)應(yīng)字段的定義檢查輸入是否合法,如果輸入有錯(cuò)誤則進(jìn)行提示。 如果輸入正確,執(zhí)行(UPDATE)SQL語(yǔ)句,更新用戶教師信息數(shù)據(jù)庫(kù)表中該用戶所對(duì)應(yīng)的記錄。 提示用戶信息添加成功。 更新用戶數(shù)據(jù)庫(kù)表的信息。界面如圖4-2所示。圖4-2檔案信息界面在每個(gè)jsp頁(yè)面將會(huì)對(duì)相關(guān)用戶進(jìn)行攔截操作,這樣可以提高安全性,防止用戶不經(jīng)過(guò)登陸頁(yè)面而進(jìn)入任何子菜單頁(yè)面:if(session.getAttribute("user")==null){out.print("<script>alert('請(qǐng)先登錄!');window.open('../index.jsp','_self')</script>"); }4.2.3教師基本信息管理功能描述:管理員輸入教師相關(guān)正確信息后點(diǎn)擊錄入按鈕,如果是沒(méi)有輸入完整的信息,都會(huì)給出相應(yīng)的錯(cuò)誤提示,不能錄入成功。輸入數(shù)據(jù)都通過(guò)form表單中定義的方法onsubmit="returncheckForm()"來(lái)檢查,checkForm()函數(shù)中是各種的校驗(yàn)輸入數(shù)據(jù)的方式。界面如圖4-3所示。圖4-3基本信息管理界面4.2.4教師管理功能描述:管理員點(diǎn)擊左側(cè)的菜單“教師管理”,頁(yè)面跳轉(zhuǎn)到做教師界面,調(diào)用后臺(tái)的servlet類(lèi)查詢所有教師的信息。程序效果圖如圖4-4所示。圖4-4教師管理界面教師管理關(guān)鍵代碼:publicvoidjihuayuanAdd(HttpServletRequestreq,HttpServletResponseres)publicvoidjiaoshiDel(HttpServletRequestreq,HttpServletResponseres) { intid=Integer.parseInt(req.getParameter("id")); Stringdel="yes"; Stringsql="updatet_jiaoshisetdel=?whereid=?"; Object[]params={del,id}; DBmydb=newDB(); mydb.doPstm(sql,params); mydb.closed(); req.setAttribute("message","教師信息刪除成功!"); req.setAttribute("path","jiaoshi?type=jiaoshiMana"); StringtargetURL="/common/success.jsp"; dispatch(targetURL,req,res); } publicvoidjiaoshiUpd(HttpServletRequestreq,HttpServletResponseres) { intid=Integer.parseInt(req.getParameter("id")); Stringgonghao=req.getParameter("gonghao"); Stringxingming=req.getParameter("xingming"); Stringxingbie=req.getParameter("xingbie"); Stringnianling=req.getParameter("nianling"); Stringshengri=req.getParameter("shengri"); Stringgongzuo=req.getParameter("gongzuo"); Stringzhuanye=req.getParameter("zhuanye"); Stringzhaopian=req.getParameter("zhaopian"); Stringbeizhu=req.getParameter("beizhu"); Stringsql="updatet_jiaoshisetgonghao=?,xingming=?,xingbie=?,nianling=?,shengri=?,gongzuo=?,zhuanye=?,zhaopian=?,beizhu=?whereid=?"; Object[]params={gonghao,xingming,xingbie,nianling,shengri,gongzuo,zhuanye,zhaopian,beizhu,id}; DBmydb=newDB(); mydb.doPstm(sql,params); mydb.closed(); req.setAttribute("message","教師信息修改成功!"); req.setAttribute("path","jiaoshi?type=jiaoshiMana"); StringtargetURL="/common/success.jsp"; dispatch(targetURL,req,res); } publicvoidjiaoshiAdd(HttpServletRequestreq,HttpServletResponseres) { Stringgonghao=req.getParameter("gonghao"); Stringxingming=req.getParameter("xingming"); Stringxingbie=req.getParameter("xingbie"); Stringnianling=req.getParameter("nianling"); Stringshengri=req.getParameter("shengri"); Stringgongzuo=req.getParameter("gongzuo"); Stringzhuanye=req.getParameter("zhuanye"); Stringzhaopian=req.getParameter("zhaopian"); Stringbeizhu=req.getParameter("beizhu"); Stringdel="no"; Stringsql="insertintot_jiaoshi(gonghao,xingming,xingbie,nianling,shengri,gongzuo,zhuanye,zhaopian,beizhu,del)"+ "values(?,?,?,?,?,?,?,?,?,?)"; Object[]params={gonghao,xingming,xingbie,nianling,shengri,gongzuo,zhuanye,zhaopian,beizhu,del}; DBmydb=newDB(); mydb.doPstm(sql,params); mydb.closed(); req.setAttribute("message","教師信息添加成功!"); req.setAttribute("path","jiaoshi?type=jiaoshiMana"); StringtargetURL="/common/success.jsp"; dispatch(targetURL,req,res); } publicvoidjiaoshiMana(HttpServletRequestreq,HttpServletResponseres)throwsServletException,IOException { ListjiaoshiList=newArrayList(); Stringsql="select*fromt_jiaoshiwheredel='no'"; Object[]params={}; DBmydb=newDB(); try { mydb.doPstm(sql,params); ResultSetrs=mydb.getRs(); while(rs.next()) { TJiaoshijiaoshi=newTJiaoshi(); jiaoshi.setId(rs.getInt("id")); jiaoshi.setGonghao(rs.getString("gonghao")); jiaoshi.setXingming(rs.getString("xingming")); jiaoshi.setXingbie(rs.getString("xingbie")); jiaoshi.setNianling(rs.getString("nianling")); jiaoshi.setShengri(rs.getString("shengri")); jiaoshi.setGongzuo(rs.getString("gongzuo")); jiaoshi.setZhuanye(rs.getString("zhuanye")); jiaoshi.setZhaopian(rs.getString("zhaopian")); jiaoshi.setBeizhu(rs.getString("beizhu")); jiaoshiList.add(jiaoshi); } rs.close(); } catch(Exceptione) { e.printStackTrace(); } mydb.closed(); req.setAttribute("jiaoshiList",jiaoshiList); req.getRequestDispatcher("admin/jiaoshi/jiaoshiMana.jsp").forward(req,res); }4.2.5安全退出系統(tǒng)功能描述:點(diǎn)擊注銷(xiāo)按鈕回到系統(tǒng)的登陸界面。關(guān)鍵代碼:主要是通過(guò)javascript語(yǔ)句來(lái)實(shí)現(xiàn),item_word[8][4]="退出系統(tǒng)";item_link[8][4]="javascript:window.open('../index.jsp','_self')";5系統(tǒng)測(cè)試5.1系統(tǒng)測(cè)試目的與意義系統(tǒng)測(cè)試是管理信息系統(tǒng)開(kāi)發(fā)周期中一個(gè)十分重要而漫長(zhǎng)的的階段。其重要性體現(xiàn)在他是保證系統(tǒng)質(zhì)量與可靠性的最后關(guān)口,是對(duì)整個(gè)系統(tǒng)開(kāi)發(fā)過(guò)程包括系統(tǒng)分析、系統(tǒng)設(shè)計(jì)和系統(tǒng)實(shí)現(xiàn)的最終審查。系統(tǒng)測(cè)試的任務(wù)是盡可能徹底的檢查出程序中的錯(cuò)誤,提高軟件系統(tǒng)的可靠性,其目的是檢驗(yàn)系統(tǒng)“做得怎樣”。這這階段又可以分為三個(gè)步驟:模塊測(cè)試,測(cè)試每個(gè)模塊的程序是否正確;組裝測(cè)試,測(cè)試模塊之間的接口是否正確;確認(rèn)測(cè)試,測(cè)試整個(gè)軟件系統(tǒng)是否滿足用戶功能和性能的要求。測(cè)試發(fā)現(xiàn)問(wèn)題之后要經(jīng)過(guò)調(diào)試找出錯(cuò)誤原因和位置,然后進(jìn)行改正。是基于系統(tǒng)整體需求說(shuō)明書(shū)的黑盒測(cè)試,應(yīng)覆蓋系統(tǒng)隨偶聯(lián)合的部件,系統(tǒng)測(cè)試是正對(duì)整個(gè)產(chǎn)品系統(tǒng)進(jìn)行的測(cè)試,目的是驗(yàn)證系統(tǒng)是否滿足了需求規(guī)格的定義,找出需求規(guī)格不符合或與之矛盾的地方。5.1測(cè)試過(guò)程在測(cè)試之初,由于將數(shù)據(jù)庫(kù)中的數(shù)據(jù)是隨便輸入,沒(méi)有實(shí)用性,為了使系統(tǒng)更加完善,在系統(tǒng)測(cè)試的過(guò)程中,本系統(tǒng)將一開(kāi)始編程隨便輸入的數(shù)據(jù)全部清理后,輸入了一些有效的測(cè)試數(shù)據(jù),這樣可以更真實(shí)的反映系統(tǒng)的功能實(shí)現(xiàn)情況。這樣不斷發(fā)現(xiàn)問(wèn)題,經(jīng)過(guò)反復(fù)的測(cè)試、調(diào)試,把問(wèn)題一個(gè)個(gè)的解決,最終系統(tǒng)可以正常運(yùn)行。5.1.1主頁(yè)面的登錄模塊測(cè)試測(cè)試流程:(1)打開(kāi)系統(tǒng)首頁(yè),輸入錯(cuò)誤的登錄信息(2)登錄(3)輸入正確的登錄信息(4)登錄(5)測(cè)試結(jié)果表5-1登錄模塊測(cè)試用例模塊名稱測(cè)試用例預(yù)期結(jié)果實(shí)際結(jié)果是否通過(guò)登錄模塊用戶名:null密碼:null彈出錯(cuò)誤提示,請(qǐng)輸入用戶名登陸失敗,提示請(qǐng)輸入用戶名通過(guò)登錄模塊用戶名:m1密碼:null彈出錯(cuò)誤提示,請(qǐng)輸入密碼失敗,提示輸入密碼通過(guò)登錄模塊用戶名:m1密碼:1彈出錯(cuò)誤提示,用戶名或者密碼錯(cuò)誤登陸失敗,提示用戶名或者密碼錯(cuò)誤通過(guò)5.1.2其他錯(cuò)誤在程序設(shè)計(jì)實(shí)現(xiàn)的過(guò)程中不可避免的會(huì)產(chǎn)生各種難以預(yù)料的錯(cuò)誤,如書(shū)寫(xiě)錯(cuò)誤、傳值類(lèi)型不一致、參數(shù)傳遞問(wèn)題等等。這些都需要通過(guò)細(xì)心的檢測(cè)與不斷的調(diào)試才能夠排除。比如在servlet路徑配置時(shí)因粗心錯(cuò)誤導(dǎo)致運(yùn)行導(dǎo)致所報(bào)錯(cuò)誤,如圖5-1所示:圖5-1由于servlet路徑配置錯(cuò)誤,運(yùn)行時(shí)的提示6系統(tǒng)評(píng)價(jià)6.1系統(tǒng)主要功能、特色/優(yōu)點(diǎn)介紹6.1.1系統(tǒng)主要功能本課題主要是解決教師信息管理系統(tǒng)的日常管理中所涉及到的基本信息,目標(biāo)是使教師信息管理系統(tǒng)在管理上做到數(shù)據(jù)的信息化、快速化和網(wǎng)絡(luò)化。本系統(tǒng)主要包括系統(tǒng)管理、教師信息管理等模塊。6.1.2系統(tǒng)的特色/優(yōu)點(diǎn)介紹⑴本系統(tǒng)根據(jù)教師信息管理中的實(shí)際需求和需要進(jìn)行設(shè)計(jì)和開(kāi)發(fā)的。⑵數(shù)據(jù)庫(kù)管理系統(tǒng)采用SqlServer2008,前臺(tái)采用JSP開(kāi)發(fā),系統(tǒng)的應(yīng)用規(guī)??梢愿鶕?jù)用戶的需要由管理隨時(shí)做出調(diào)整和更新。⑶模塊分工明確,模塊功能強(qiáng)大,基本符合實(shí)際需求,可以為機(jī)構(gòu)所使用,而不是憑空的一個(gè)架子,推廣性和實(shí)用性都比較高。⑷有機(jī)結(jié)合計(jì)算機(jī)自動(dòng)處理與人工處理,使其在實(shí)際應(yīng)用中更加的高效。⑸系統(tǒng)主界面設(shè)計(jì)素樸,給人一種清新的感覺(jué),功能介紹明了,用戶不需要指導(dǎo)就可以方便的了解到自己想要的信息。⑹本系統(tǒng)因?yàn)椴捎肑SP技術(shù)開(kāi)發(fā),所以安全性好,可靠性高。⑺另外JSP技術(shù)的可擴(kuò)充性好,發(fā)展?jié)摿Υ?。所以可以?yīng)用于多種系統(tǒng)平臺(tái)。6.2系統(tǒng)存在的不足與改進(jìn)方案6.2.1系統(tǒng)存在不足系統(tǒng)不足:由于本學(xué)期因?yàn)樯眢w原因耽誤了很多時(shí)間,時(shí)間非常倉(cāng)促,所以本系統(tǒng)還不是太完善,功能還不是很強(qiáng)大。具體的說(shuō),項(xiàng)目管理方面可以更加詳細(xì),主要是實(shí)現(xiàn)教師簡(jiǎn)歷信息管理、材料信息管理等功能,另外數(shù)據(jù)庫(kù)中的表字段信息量不足,有些還是空的我會(huì)在有空的時(shí)候添加上去。因?yàn)槟K是由框架組成,所以局限于框架的有些界面功能不能正常顯示。這些問(wèn)題有的是自己考慮的,有的是老師給我提的寶貴意見(jiàn),我會(huì)認(rèn)真吸取。6.2.2改進(jìn)方案對(duì)于此系統(tǒng)要從美觀、功能和技術(shù)上三個(gè)方面做重點(diǎn)改進(jìn)。美觀方面當(dāng)然是提高審美觀點(diǎn),盡可能做到界面美觀,可視化并且要方便管理人員使用;功能方面要擴(kuò)大此系統(tǒng)的功能,以前沒(méi)有時(shí)間實(shí)現(xiàn)的將來(lái)完善;技術(shù)方面的改進(jìn)表現(xiàn)在系統(tǒng)雖然基本上實(shí)現(xiàn)了功能要求,但很多方面還沒(méi)有考慮仔細(xì),有些問(wèn)題上考慮的比較籠統(tǒng),可能跟實(shí)際有所偏差,這個(gè)問(wèn)題會(huì)在了解更多的機(jī)構(gòu)運(yùn)營(yíng)方式之后得到改進(jìn),因?yàn)檎麄€(gè)系統(tǒng)沒(méi)有原始的模版參考,網(wǎng)上利用Jsp開(kāi)發(fā)的教師信息管理系統(tǒng)根本也根本沒(méi)有,模塊設(shè)計(jì)的雛形都是出自自己之手,也會(huì)存在不完善、不科學(xué)的因素。我們會(huì)在以后的工作中積累更多經(jīng)驗(yàn),完善自己。6.3畢業(yè)設(shè)計(jì)心得體會(huì)畢業(yè)設(shè)計(jì)即將完成了,我的答辯也即將來(lái)臨,面對(duì)這大學(xué)最后一次考試,此時(shí)的心情相當(dāng)?shù)膹?fù)雜,既有畢業(yè)設(shè)計(jì)完成的高興,也有即將離開(kāi)大學(xué)生活的失落和惆悵,但無(wú)論怎樣,我想畢業(yè)設(shè)計(jì)這一環(huán)節(jié)對(duì)我來(lái)說(shuō)意義最大,因?yàn)樗鼨z驗(yàn)了我大學(xué)所學(xué)知識(shí)的掌握情況。在這一階段里我發(fā)現(xiàn)了自己的不足,也努力彌補(bǔ)了自己的不足。時(shí)光飛逝,轉(zhuǎn)眼的工夫,已是到了畢業(yè)季節(jié),最初面對(duì)畢業(yè)設(shè)計(jì)的時(shí)候,居然不知道自己怎么做,在計(jì)算機(jī)專(zhuān)業(yè)知識(shí)方面,所學(xué)過(guò)的編程語(yǔ)言到是不少,但是將所學(xué)到的理論知識(shí)應(yīng)用于實(shí)際時(shí),我卻一頭霧水,因?yàn)橛X(jué)得自己好象什么都沒(méi)有掌握,似乎每門(mén)功課的學(xué)習(xí)都是為了應(yīng)付期末考試,并沒(méi)有真正深入的涉及到某一門(mén)語(yǔ)言的學(xué)習(xí)上,總是學(xué)了一門(mén),隨著課程的結(jié)束也便放棄一門(mén)。最終,為了真正鍛煉自己,我選擇了JSP語(yǔ)言來(lái)進(jìn)行軟件設(shè)計(jì)。這是一次相當(dāng)大的挑戰(zhàn),JSP具有動(dòng)態(tài)顯示和良好的擴(kuò)展性等特點(diǎn),功能十分強(qiáng)大。起初的幾個(gè)月內(nèi)我也強(qiáng)烈感覺(jué)到自身的不足,感覺(jué)真的無(wú)從下手。最后的時(shí)刻是不允許退縮的,只能硬著頭皮上了,從最開(kāi)始到處翻閱資料,到中期的調(diào)試代碼,到最后的美化界面,無(wú)不充斥了我的辛勤汗水。在畢業(yè)設(shè)計(jì)過(guò)程中,我也得到了同學(xué)們的無(wú)私幫助,設(shè)計(jì)階段,同學(xué)們都很忙,然而在這個(gè)時(shí)候還能夠得到同學(xué)的無(wú)私幫助,讓我深切感受到同學(xué)之間的友情是多么的真摯,他們用真摯的關(guān)懷打動(dòng)我了,也使我的畢業(yè)設(shè)計(jì)能夠順利進(jìn)行。計(jì)算機(jī)軟件開(kāi)發(fā)是一個(gè)講究團(tuán)隊(duì)合作的工作,畢業(yè)設(shè)計(jì)雖然不是什么大的不得了的系統(tǒng),但是我仍然感受到了團(tuán)隊(duì)的力量是多么的強(qiáng)大。同學(xué)的友誼是多么的深厚,老師關(guān)懷是多么的溫暖。結(jié)論本次畢業(yè)設(shè)計(jì)將我大學(xué)四年所學(xué)的軟件工程理論知識(shí)用到了具體的實(shí)踐中去,深化了理論知識(shí),同時(shí)也鍛煉了動(dòng)手實(shí)踐能力。在這段日子里,我查閱了許多有關(guān)教師管理信息系統(tǒng)的資料,翻閱了許多JSP的書(shū)籍,結(jié)合自己的經(jīng)驗(yàn),詳細(xì)調(diào)查了教師管理的工作內(nèi)容與細(xì)節(jié),開(kāi)發(fā)設(shè)計(jì)了這個(gè)教師信息管理系統(tǒng),雖然企業(yè)每個(gè)學(xué)期都會(huì)有相應(yīng)課程的課程設(shè)計(jì)和實(shí)訓(xùn)來(lái)作為動(dòng)手練習(xí)訓(xùn)練,不過(guò)在本次畢業(yè)設(shè)計(jì)具體的實(shí)踐的時(shí)候還是遇到了很多小問(wèn)題,比如說(shuō)在jsp頁(yè)面將輸入框設(shè)為不可用是添加屬性readonly=“true”,而我在實(shí)際編程中卻錯(cuò)寫(xiě)成disable=“true”,這樣直接導(dǎo)致了request對(duì)象取不到數(shù)據(jù),調(diào)試了程序很久才發(fā)現(xiàn)request對(duì)象獲得的返回值一直是空,之前一直以為是代碼哪里出了問(wèn)題,總是在查源程序的邏輯。這些雖然都是小問(wèn)題,但是由于不細(xì)心在具體實(shí)踐中卻浪費(fèi)了不少時(shí)間,看來(lái)平時(shí)還是要多多實(shí)踐才是。在系統(tǒng)的開(kāi)發(fā)過(guò)程中,我運(yùn)用到了B/S三層結(jié)構(gòu)技術(shù)和自己在平時(shí)學(xué)習(xí)中掌握的一些技術(shù),通過(guò)這些技術(shù)的實(shí)現(xiàn),整個(gè)系統(tǒng)的性能得到了大大的提高。這些技術(shù)都在論文中做了比較詳細(xì)的介紹。本系統(tǒng)還存在許多的缺陷和不足之處,比如很多細(xì)節(jié)上做的還不行,有些功能模塊還應(yīng)再加強(qiáng)。希望在以后的時(shí)間里,我可以把這些缺陷都彌補(bǔ)過(guò)來(lái),進(jìn)一步完善系統(tǒng)。隨著畢業(yè)設(shè)計(jì)的基本完成,我的大學(xué)生活也即將畫(huà)上一個(gè)句號(hào),然而畢業(yè)設(shè)計(jì)這段生活經(jīng)歷在我的內(nèi)心留下了深刻的記憶,從上學(xué)期末的軟件生產(chǎn)實(shí)習(xí)開(kāi)始,我們基本上就算踏上了畢業(yè)設(shè)計(jì)日程,在這半年多的時(shí)間里,經(jīng)歷了很多很多,最后都挺過(guò)來(lái)了,現(xiàn)在回頭想想,真的挺不容易,也確實(shí)從畢業(yè)設(shè)計(jì)過(guò)程中,學(xué)習(xí)到了很多的東西,有了自己親手開(kāi)發(fā)系統(tǒng)的經(jīng)歷,自己的自信心也增強(qiáng)了很多,大學(xué)幾年的理論學(xué)習(xí),自身的實(shí)踐經(jīng)驗(yàn)相對(duì)較少,通過(guò)這次畢業(yè)設(shè)計(jì),我的經(jīng)驗(yàn)得到了積累,在即將來(lái)臨的畢業(yè)設(shè)計(jì)答辯中,我會(huì)好好準(zhǔn)備,認(rèn)真對(duì)待大學(xué)生涯的最后一次考試。爭(zhēng)取為我的大學(xué)生涯畫(huà)上一個(gè)完整的句號(hào)。總結(jié)設(shè)計(jì),展望未來(lái),在即將踏入社會(huì)之際,感慨良多,也許以后我可能不從事計(jì)算機(jī)軟件的開(kāi)發(fā),或者根本就不從事與計(jì)算機(jī)有關(guān)的工作,但是,大學(xué)的鍛煉和成長(zhǎng)是我今生非常寶貴的財(cái)富,這些財(cái)富都會(huì)在我將來(lái)的工作和學(xué)習(xí)中起到關(guān)鍵的作用,學(xué)習(xí)的知識(shí)固然重要,但更重要的是學(xué)習(xí)的方法和學(xué)習(xí)的過(guò)程,這可能是一生都需要不斷改進(jìn),就要畢業(yè)了,傷感充斥了內(nèi)心,希望我的同學(xué)們都能找到自己滿意的工作,也希望我的老師們身體健康,工作順利。當(dāng)我走出校門(mén)的那一天,會(huì)用悲痛轉(zhuǎn)化力量,投入到將來(lái)的工作中,也許會(huì)默默無(wú)聞,但在大學(xué)的記憶將永遠(yuǎn)陪伴我前進(jìn)!致謝在畢業(yè)論文結(jié)束,畢業(yè)設(shè)計(jì)完成之際,我要感謝很多人。首先,我要感謝我們的指導(dǎo)老師,我們這個(gè)課題在一開(kāi)始選定時(shí),李老師就給了我們很多意見(jiàn)和建議。最終我們敲定了現(xiàn)在的課題。可以毫不掩飾的說(shuō),指導(dǎo)老師是我在大學(xué)中見(jiàn)到的最負(fù)責(zé)任的老師。我還要感謝在設(shè)計(jì)過(guò)程中給過(guò)我?guī)椭耐M的其他同學(xué)。在開(kāi)發(fā)初期,可以說(shuō)我對(duì)JSP還只是比較膚淺的認(rèn)識(shí),在同學(xué)們熱心地幫助下,才使我走上了設(shè)計(jì)的正軌,在技術(shù)上給我很多的幫助和指導(dǎo),只要我有困難向他們提出,他們都會(huì)認(rèn)真的向我解答。在此,我要對(duì)他們表示我衷心的感謝。另外,我們還要感謝班主任老師和系主任老師,對(duì)我的關(guān)心從始至終。是他們給我們提供了如此良好的學(xué)習(xí)和設(shè)計(jì)環(huán)境,使我們能夠全心全意地投入設(shè)計(jì)工作。最后我要感謝我的爸爸媽媽?zhuān)瑳](méi)有他們堅(jiān)強(qiáng)的后盾,我不可能擁有今天的這一切,更不可能完成學(xué)業(yè)。其實(shí),要感謝人的真的很多很多,雖然不能一一列舉,但是我會(huì)永遠(yuǎn)記住你們,隨后向所有幫助過(guò)我的人道一聲:“你們辛苦了,謝謝大家!”參考文獻(xiàn)張奇、李建松、衛(wèi)建偉.VisualC#數(shù)據(jù)庫(kù)項(xiàng)目案例導(dǎo)航[M].北京:清華大學(xué)出版社,2005.余金山、林慧.SQLServer2000/2005數(shù)據(jù)庫(kù)開(kāi)發(fā)實(shí)例入門(mén)與提高[M].北京:電子工業(yè)出版社,2005.沈軍.基于ASP.NET2.0技術(shù)的Web數(shù)據(jù)庫(kù)多層架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)[J].電子測(cè)量技術(shù),2008,31(2):76-79.王靜冬、賀濤、謝獻(xiàn)平、王博.基于ASP.NET和SQLServer的網(wǎng)絡(luò)教學(xué)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].有線電視技術(shù),2008,15(3):93-94.朱強(qiáng)、賴云靈.基于B/S結(jié)構(gòu)的二級(jí)學(xué)院研究生學(xué)位信息管理系統(tǒng)[J].現(xiàn)代計(jì)算機(jī):下半月版,2007,2:91-93.季修峰.ASP.NET開(kāi)發(fā)疑難200問(wèn)[M].北京:人民郵電出版社,2004.KimWimpsett.BeginningASP.NET2.0inC#2005[M].MatthewMacDonald,2006.RebeccaM.Riordan.MicrosoftADO.NETStepbyStep[M].MicrosoftPress,2004.BipinJoshi.ProfessionalADO.Net[M].MicrosoftPress,2001.RebeccaM.Riordan.MicrosoftADO.NETStepbyStep[M].MicrosoftPress,2004.外文文獻(xiàn)TheJavaI/OSystemCreatingagoodinput/output(I/O)systemisoneofthemoredifficulttasksforthelanguagedesigner.Thisisevidencedbythenumberofdifferentapproaches.Thechallengeseemstobeincoveringalleventualities.NotonlyaretheredifferentsourcesandsinksofI/Othatyouwanttocommunicatewith(files,theconsole,networkconnections,etc.),butyouneedtotalktotheminawidevarietyofways(sequential,random-access,buffered,binary,character,bylines,bywords,etc.).TheJavalibrarydesignersattackedthisproblembycreatinglotsofclasses.Infact,therearesomanyclassesforJava’sI/Osystemthatitcanbeintimidatingatfirst(ironically,theJavaI/Odesignactuallypreventsanexplosionofclasses).TherewasalsoasignificantchangeintheI/OlibraryafterJava1.0,whentheoriginalbyte-orientedlibrarywassupplementedwithchar-oriented,Unicode-basedI/Oclasses.InJDK1.4,thenioclasses(for“newI/O,”anamewe’llstillbeusingyearsfromnow)wereaddedforimprovedperformanceandfunctionality.Asaresult,thereareafairnumberofclassestolearnbeforeyouunderstandenoughofJava’sI/Opicturethatyoucanuseitproperly.Inaddition,it’sratherimportanttounderstandtheevolutionhistoryoftheI/Olibrary,evenifyourfirstreactionis“don’tbothermewithhistory,justshowmehowtouseit!”Theproblemisthatwithoutthehistoricalperspective,youwillrapidlybecomeconfusedwithsomeoftheclassesandwhenyoushouldandshouldn’tusethem.ThischapterwillgiveyouanintroductiontothevarietyofI/OclassesinthestandardJavalibraryandhowtousethem.TheFileclassBeforegettingintotheclassesthatactuallyreadandwritedatatostreams,we’lllookatautilityprovidedwiththelibrarytoassistyouinhandlingfiledirectoryissues.TheFileclasshasadeceivingname;youmightthinkitreferstoafile,butitdoesn’t.Itcanrepresenteitherthenameofaparticularfileorthenamesofasetoffilesinadirectory.Ifit’sasetoffiles,youcanaskforthatsetusingthelist()method,whichreturnsanarrayofString.Itmakessensetoreturnanarrayratherthanoneoftheflexiblecontainerclasses,becausethenumberofelementsisfixed,andifyouwantadifferentdirectorylisting,youjustcreateadifferentFileobject.Infact,“FilePath”wouldhavebeenabetternamefortheclass.Thissectionshowsanexampleoftheuseofthisclass,includingtheassociatedFilenameFilterinterface.AdirectorylisterSupposeyou’dliketoseeadirectorylisting.TheFileobjectcanbelistedintwoways.Ifyoucalllist()withnoarguments,you’llgetthefulllistthattheFileobjectcontains.However,ifyouwantarestrictedlist—forexample,ifyouwantallofthefileswithanextensionof.java—thenyouusea“directoryfilter,”whichisaclassthattellshowtoselecttheFileobjectsfordisplay.Here’sthecodefortheexample.Notethattheresulthasbeeneffortlesslysorted(alphabetically)usingthejava.utils.Arrays.sort()methodandtheAlphabeticComparatordefinedinChapter11://:c12:DirList.java//Displaysdirectorylistingusingregularexpressions.//{Args:"D.*\.java"}importjava.io.*;importjava.util.*;importjava.util.regex.*;importcom.bruceeckel.util.*;publicclassDirList{publicstaticvoidmain(String[]args){Filepath=newFile(".");String[]list;if(args.length==0)list=path.list();elselist=path.list(newDirFilter(args[0]));Arrays.sort(list,newAlphabeticComparator());for(inti=0;i<list.length;i++)System.out.println(list[i]);}}

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論