2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢業(yè)綜合實(shí)訓(xùn)報(bào)告</b></p><p>  班主任管理系統(tǒng)設(shè)計(jì)與實(shí)踐</p><p><b>  任務(wù)書</b></p><p>  熟練掌握J(rèn)AVA和JSP技術(shù),SQL數(shù)據(jù)庫編程。精通網(wǎng)頁的制作。擔(dān)任畢業(yè)設(shè)計(jì)小組組長。負(fù)責(zé):</p><p>  整個(gè)系統(tǒng)的總體開發(fā)與

2、設(shè)計(jì)。</p><p><b>  人員調(diào)度。</b></p><p><b>  模塊分配。</b></p><p><b>  項(xiàng)目進(jìn)度監(jiān)控。</b></p><p><b>  模塊整合。</b></p><p><b&

3、gt;  摘 要</b></p><p>  “班主任管理系統(tǒng)”是校園一個(gè)管理軟件。通過這個(gè)軟件在實(shí)際工作中可以起到對班級、學(xué)生個(gè)人、班主任工作進(jìn)行定量的考核,方便班主任的管理班級的工作,方便學(xué)生處考核各個(gè)班級以及班主任的工作。</p><p>  本系統(tǒng)采用JSP和J2EE技術(shù),可以跨平臺、跨網(wǎng)絡(luò)、統(tǒng)一界面;通過高度模塊化結(jié)構(gòu)、合理的XML文件的數(shù)據(jù)格式,方便了系統(tǒng)的擴(kuò)展和維

4、護(hù)。</p><p>  通過本系統(tǒng),可以查詢學(xué)生基本情況、查詢并修改班級和學(xué)生的千分制、查詢班主任日常事務(wù)并且可以動態(tài)定制任務(wù)、可以通過BBS進(jìn)行家長、學(xué)生和老師之間的交流、還可以動態(tài)設(shè)置權(quán)限。</p><p>  本系統(tǒng)的使用,可以大大提高班主任以及學(xué)生處的工作效率,可以增加家長、學(xué)生老師之間的溝通。</p><p>  關(guān)鍵詞:班級管理,千分制,Java, J

5、SP</p><p><b>  目 錄</b></p><p><b>  摘 要3</b></p><p><b>  目 錄4</b></p><p><b>  第一章 緒論5</b></p><p>  1.1

6、課題背景5</p><p>  1.2 使用技術(shù)及發(fā)展5</p><p>  第二章班主任管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)8</p><p>  2.1 班主任管理系統(tǒng)的設(shè)計(jì)8</p><p>  2.1.1 系統(tǒng)框架8</p><p>  2.1.2 系統(tǒng)使用部門9</p><p>  2.1

7、.3 系統(tǒng)使用者9</p><p>  2.1.4 系統(tǒng)功能劃分與描述9</p><p>  2.2班主任管理系統(tǒng)的部分實(shí)現(xiàn)10</p><p><b>  總 結(jié)22</b></p><p><b>  參考文獻(xiàn)24</b></p><p><b> 

8、 第一章 緒論</b></p><p><b>  1.1 課題背景</b></p><p>  隨著現(xiàn)在教育事業(yè)的不斷發(fā)展,信息技術(shù)對社會進(jìn)步和國名經(jīng)濟(jì)發(fā)揮著越來越大的促進(jìn)作用,并對傳統(tǒng)的思想觀念、工作方式產(chǎn)生巨大的沖擊。世界已進(jìn)入信息化時(shí)代,網(wǎng)絡(luò)技術(shù)已進(jìn)入了各行各業(yè),同時(shí)也帶動了各行業(yè)的發(fā)展。</p><p>  中國現(xiàn)在教育事

9、業(yè)的發(fā)展迅猛,高等院校的數(shù)量和規(guī)模不斷的擴(kuò)大。與此同時(shí),根據(jù)時(shí)代的要求,管理,特別是對日益增多的學(xué)生的管理,對學(xué)校的發(fā)展起著不可忽視的作用。而班主任(輔導(dǎo)老師)在學(xué)生的管理中有著承上啟下的樞紐地位,這一角色的重要性也日漸突出起來。學(xué)校與學(xué)生之間溝通途徑的建立、對學(xué)生的具體管理措施的實(shí)施等都是通過班主任的工作得以體現(xiàn)和貫徹執(zhí)行的,如果班主任這個(gè)環(huán)節(jié)的工作做的好,其對學(xué)生工作的總體管理和發(fā)展都具有不可估量的好處。因此,越來越多的學(xué)校對班主任

10、這一角色也越來越重視,一些院校專門對班主任進(jìn)行一系列培訓(xùn),并且由原來的一個(gè)系甚至一個(gè)院配備一名輔導(dǎo)員增加至每個(gè)班級一名班主任。</p><p>  與上述管理需求不符的是:針對班主任工作的配套管理軟件嚴(yán)重缺乏。雖然,已有很多較成熟的學(xué)生管理方面的軟件,但這些軟件主要是實(shí)現(xiàn)了教學(xué)和教務(wù)兩個(gè)方面的數(shù)字化管理,而在目前國內(nèi)已有的學(xué)生管理系統(tǒng)中,具體到班主任管理班級這個(gè)方面的管理軟件基本上是一片空白。</p>

11、<p>  實(shí)際上,一方面,班主任工作的特點(diǎn)是事多、瑣碎、繁雜,但工作程序是有序。因而,在當(dāng)今科技高度發(fā)達(dá)的信息社會,開發(fā)一個(gè)適合班主任工作的管理軟件,提高辦公質(zhì)量,加強(qiáng)班級管理,是適應(yīng)學(xué)校各方面發(fā)展的要求,是學(xué)生管理工作中急需解決的問題。</p><p>  1.2 使用技術(shù)及發(fā)展</p><p>  本論文主要研究JSP技術(shù)以及JSP技術(shù)實(shí)現(xiàn)基于Web的三層體系結(jié)構(gòu)的應(yīng)用

12、,實(shí)現(xiàn)了動態(tài)網(wǎng)頁對數(shù)據(jù)庫的查詢、統(tǒng)計(jì)、更新等功能。目的是應(yīng)用計(jì)算機(jī)網(wǎng)絡(luò)、數(shù)據(jù)庫、Internet技術(shù)、以Tomcat為服務(wù)器,JSP、JAVA作為主要開發(fā)工具,實(shí)現(xiàn)跨平臺、跨網(wǎng)絡(luò)、統(tǒng)一界面、易于擴(kuò)展和維護(hù)的大紅鷹班主任管理系統(tǒng)。 </p><p>  B/S結(jié)構(gòu),即Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶界面完全

13、通過WWW瀏覽器實(shí)現(xiàn),一部分事務(wù)邏輯在前端實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn),形成所謂3-tier結(jié)構(gòu)。B/S結(jié)構(gòu),主要是利用了不斷成熟的WWW瀏覽器技術(shù),結(jié)合瀏覽器的多種Script語言(VBScript、JavaScript…)和ActiveX技術(shù),用通用瀏覽器就實(shí)現(xiàn)了原來需要復(fù)雜專用軟件才能實(shí)現(xiàn)的強(qiáng)大功能,并節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。隨著Windows 98/Windows 2000將瀏覽器技術(shù)植入操作系統(tǒng)內(nèi)

14、部,這種結(jié)構(gòu)更成為當(dāng)今應(yīng)用軟件的首選體系結(jié)構(gòu)。顯然B/S結(jié)構(gòu)應(yīng)用程序相對于傳統(tǒng)的C/S結(jié)構(gòu)應(yīng)用程序?qū)⑹蔷薮蟮倪M(jìn)步。B/S結(jié)構(gòu)采用星形拓?fù)浣Y(jié)構(gòu)建立企業(yè)內(nèi)部通信網(wǎng)絡(luò)或利用Internet虛擬專網(wǎng)(VPN)。前者的特點(diǎn)是安全、快捷、準(zhǔn)確。后者則具有節(jié)省投資、跨地域廣的優(yōu)點(diǎn)。須視企業(yè)規(guī)模和地理分布確定。企業(yè)內(nèi)部通過防火墻接入Internet,再整個(gè)網(wǎng)絡(luò)采用TCP/IP協(xié)議。</p><p>  圖 1-1 網(wǎng)絡(luò)結(jié)構(gòu)圖

15、 C/S 與 B/S 區(qū)別:Client/Server是建立在局域網(wǎng)的基礎(chǔ)上的.Browser/Server是建立在廣域網(wǎng)的基礎(chǔ)上的。1.硬件環(huán)境不同: C/S 一般建立在專用的網(wǎng)絡(luò)上, 小范圍里的網(wǎng)絡(luò)環(huán)境, 局域網(wǎng)之間再通過專門服務(wù)器提供連接和數(shù)據(jù)交換服務(wù).B/S 建立在廣域網(wǎng)之上的, 不必是專門的網(wǎng)絡(luò)硬件環(huán)境,例與電話上網(wǎng), 租用設(shè)備. 信息自己管理. 有比C/S更強(qiáng)的適應(yīng)范圍, 一般只要有操作系統(tǒng)和瀏覽器就行 2.對安全

16、要求不同 C/S 一般面向相對固定的用戶群, 對信息安全的控制能力很強(qiáng). 一般高度機(jī)密的信息系統(tǒng)采用C/S 結(jié)構(gòu)適宜. 可以通過B/S發(fā)布部分可公開信息.B/S 建立在廣域網(wǎng)之上, 對安全的控制能力相對弱, 面向是不可知的用戶群. 3.對程序架構(gòu)不同 C/S 程序可以更加注重流程, 可以對權(quán)限多層次校驗(yàn), 對系統(tǒng)運(yùn)行速度可以較少考慮.B/S 對安全以及訪問速度的多重的考慮, 建立在需要更加優(yōu)化的基礎(chǔ)之上. 比C/S有更高的要求 B/S結(jié)

17、構(gòu)的程序架構(gòu)是發(fā)展的趨勢, 從MS的.Net系列的BizTalk 2000 Exchange 2</p><p>  JSP是JavaServer Pages的簡寫。JSP技術(shù)能讓W(xué)eb開發(fā)員和網(wǎng)頁設(shè)計(jì)員快速地開發(fā)容易維護(hù)的動態(tài)Web主頁。 </p><p>  用JSP開發(fā)的Web應(yīng)用是跨平臺的,即能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。 JSP技術(shù)使用Java編程語言

18、編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務(wù)端的資源(例如JavaBesns)的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。 JSP技術(shù)是Servlet技術(shù)的擴(kuò)展。Servlet是平臺無關(guān)的,100%純Java的Java服務(wù)端組件。</p><p

19、>  第二章班主任管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)</p><p>  2.1 班主任管理系統(tǒng)的設(shè)計(jì)</p><p>  班主任管理系統(tǒng)總的目的在于方便班主任對班級的管理,同時(shí)也提高了學(xué)生處對各個(gè)班級的評比和對班主任事務(wù)的評估與考核,為領(lǐng)導(dǎo)提供輔助決策支持,提高決策的科學(xué)性。建立學(xué)校數(shù)據(jù)庫,在日常工作中自動生成數(shù)據(jù),簡化上報(bào)過程,提高辦事效率。</p><p>  2.1

20、.1 系統(tǒng)框架</p><p>  班主任管理系統(tǒng)是學(xué)校信息系統(tǒng)的一個(gè)子系統(tǒng),相應(yīng)的系統(tǒng)框架圖見圖2-1:</p><p>  暫時(shí)還不存在的子系統(tǒng)</p><p><b>  已有的子系統(tǒng)</b></p><p><b>  班主任管理子系統(tǒng)</b></p><p>  班

21、主任管理子系統(tǒng)中的模塊</p><p>  圖2-1 系統(tǒng)框架圖</p><p>  說明:班主任管理子系統(tǒng)和教務(wù)處、宿管科、學(xué)生處都有數(shù)據(jù)交互。</p><p>  學(xué)生基本信息表單來自教務(wù)處中的數(shù)據(jù)庫。大紅鷹學(xué)院的教務(wù)系統(tǒng)是萬方系統(tǒng),它所使用的數(shù)據(jù)庫是ORACLE的。</p><p>  積分考核管理、班主任日常事務(wù)管理、用戶權(quán)限設(shè)置這

22、一模塊和學(xué)生處相連。</p><p>  班主任事務(wù)管理、積分考核管理與宿管科相連。</p><p>  2.1.2 系統(tǒng)使用部門</p><p>  班主任管理系統(tǒng)是一個(gè)非常實(shí)用的系統(tǒng),在學(xué)院里面使用它的部門主要是:學(xué)生處、宿管科和班級學(xué)生、學(xué)生家長以及相應(yīng)班主任。</p><p>  學(xué)生處每天對各班進(jìn)行各種檢查,針對不同的情況對相應(yīng)班級

23、的千分制進(jìn)行增減,每月對所有班級千分制排名,并且以此作為班主任當(dāng)月工作考核內(nèi)容之一。每月學(xué)生處根據(jù)本系統(tǒng)檢查班主任日常事務(wù),這也是班主任每月考核內(nèi)容之一。</p><p>  宿管科管理學(xué)生寢室住宿,有權(quán)對班級成員因住宿方面的情況進(jìn)行個(gè)人方面千分制的增減。每次班主任下寢室,都由宿管科登記。</p><p>  班級的普通學(xué)生可以查看自己的基本信息,查看自己班級以及本人的千分制情況,可以在留

24、言板里發(fā)布信息;班委除了擁有班級普通學(xué)生的權(quán)限以外,還可以根據(jù)班級成員的具體情況對班級成員的千分制進(jìn)行相應(yīng)增扣,查看其他班級成員信息;班主任可以修改班級成員的千分制,對班主任日常事務(wù)管理這一塊進(jìn)行相應(yīng)數(shù)據(jù)錄入。</p><p>  學(xué)生家長可以用自己子女的用戶名、密碼登入系統(tǒng),并且可以在留言板留言。</p><p>  2.1.3 系統(tǒng)使用者</p><p>  班

25、主任管理系統(tǒng)主要工作是方便班主任的日常工作,并且對班主任工作進(jìn)行定性定量考核的考核,系統(tǒng)使用者有:</p><p>  學(xué)生處管理者:對班級千分制進(jìn)行查詢、修改;對班主任工作進(jìn)行查詢。</p><p>  宿管科管理者:對班級成員千分制進(jìn)行增扣的錄入;對班主任下寢室時(shí)間與寢室號碼的錄入。</p><p>  班主任:對班級千分制和班級成員千分制的錄入、查詢、修改;對

26、班級成員信息的查詢;對班主任日常事務(wù)的相關(guān)錄入;留言板上留言。</p><p>  班委:對班級成員千分制的錄入;對班級千分制的查詢;留言板上留言。</p><p>  普通學(xué)生、學(xué)生家長:對本人或子女千分制的查詢,班級千分制的查詢,留言板留言。</p><p>  2.1.4 系統(tǒng)功能劃分與描述</p><p>  班主任管理系統(tǒng)分為學(xué)生基

27、本信息管理、積分考核管理、班主任日常事務(wù)管理、用戶權(quán)限設(shè)置管理、登入登出管理和消息公布留言板六個(gè)模塊。</p><p>  學(xué)生基本信息管理:這個(gè)模塊中的數(shù)據(jù)是教務(wù)處的方正教務(wù)系統(tǒng)中的數(shù)據(jù),在我們這個(gè)班主任管理系統(tǒng)中沒有修改權(quán)限,但是可以供班委、班主任、學(xué)生處查詢。</p><p>  積分考核管理:這個(gè)模塊是我們這個(gè)系統(tǒng)的一個(gè)重點(diǎn)模塊,班主任定性定量考核班委、學(xué)生處考核班主任、班級優(yōu)劣排

28、名都是在這個(gè)模塊進(jìn)行。</p><p>  班主任日常事務(wù)管理:這個(gè)模塊是考核班主任所有任務(wù)完成與否的一個(gè)模塊,通過這個(gè)模塊可以督促班主任和學(xué)生、學(xué)生家長之間的聯(lián)系;班主任可以通過這個(gè)模塊了解自己的工作進(jìn)程;同時(shí),這個(gè)模塊也是學(xué)生處對班主任工作考核的依據(jù)之一。這個(gè)模塊只能班主任和學(xué)生處可以看到。</p><p>  用戶權(quán)限設(shè)置:可以設(shè)置用戶的權(quán)限,分為:只讀、增加和修改權(quán)限。只讀權(quán)限權(quán)限

29、最低,除了查看之外沒有任何別的權(quán)限。增加權(quán)限可以輸入數(shù)據(jù),比如班級和個(gè)人千分制的輸入,但是不能進(jìn)行修改。修改權(quán)限權(quán)限最高,除了讀寫外,還可以修改數(shù)據(jù)。</p><p>  登入登出管理:形成一個(gè)日志文件,從該模塊可以知道進(jìn)入該模塊的人和時(shí)間。</p><p>  消息公布留言板模塊:這個(gè)模塊實(shí)際上是一個(gè)班級的BBS,所有同學(xué)都可以在上面留言,留言上面的名字顯示是登入班主任管理系統(tǒng)的名字,可

30、以規(guī)范留言。班級有什么事情,及時(shí)在這里發(fā)布。學(xué)生有什么意見或建議,又不愿意和老師溝通的,可以在這里發(fā)表。同時(shí),學(xué)生家長也可以通過這個(gè)模塊知道班級或?qū)W校動態(tài),并且可以發(fā)表言論。這個(gè)模塊是學(xué)生、家長和老師的一個(gè)溝通平臺。</p><p>  2.2班主任管理系統(tǒng)的部分實(shí)現(xiàn)</p><p>  班主任管理系統(tǒng)的實(shí)現(xiàn)是在我們畢業(yè)實(shí)踐小組的共同努力下完成的,我所作的工作是:</p>&

31、lt;p>  管理及協(xié)助小組成員如期的完成實(shí)踐項(xiàng)目。為此在首先的幾天中完成了人員的分工調(diào)度,并對整個(gè)系統(tǒng)做初步的分析,以搭建出初步的框架,好為以后的項(xiàng)目規(guī)劃奠定一定的基礎(chǔ)。</p><p>  為了保證項(xiàng)目團(tuán)隊(duì)按時(shí)保質(zhì)地完成項(xiàng)目目標(biāo),便于項(xiàng)目團(tuán)隊(duì)成員更好地了解項(xiàng)目情況,使項(xiàng)目工作開展的各個(gè)過程合理有序,因此我編寫了一份項(xiàng)目計(jì)劃書,把對于在項(xiàng)目生命周期內(nèi)的工作任務(wù)范圍、各項(xiàng)工作的任務(wù)分解等內(nèi)容做出的安排以書面

32、的方式,作為項(xiàng)目團(tuán)隊(duì)成員以及項(xiàng)目干系人之間的共識與約定,項(xiàng)目生命周期內(nèi)的所有項(xiàng)目活動的行動基礎(chǔ),項(xiàng)目團(tuán)隊(duì)開展和檢查項(xiàng)目工作的依據(jù)。</p><p>  在下一個(gè)階段中主要將實(shí)訓(xùn)的項(xiàng)目詳細(xì)的從整體到部分,從橫面到切面詳細(xì)的通過OO思想分析了一下,編寫出了項(xiàng)目詳細(xì)設(shè)計(jì)書,以將各個(gè)模塊的需求及如何實(shí)現(xiàn)手段及方法作出了詳細(xì)的設(shè)計(jì)說明。</p><p>  與此同時(shí)數(shù)據(jù)庫設(shè)計(jì)方面及界面設(shè)計(jì)方面的工作

33、也隨之同步進(jìn)行。</p><p><b>  登入登出功能部分:</b></p><p>  相應(yīng)的登錄界面圖見圖2-2:</p><p>  圖2-2 登錄界面圖</p><p>  登錄功能應(yīng)用是表現(xiàn):一個(gè)用戶通過瀏覽器訪問一個(gè)頁面。Web應(yīng)用展現(xiàn)一個(gè)登陸頁面要求用戶輸入有效的驗(yàn)證信息。用戶輸入了用戶名和密碼。此時(shí)我

34、們假設(shè)用戶提供的身份驗(yàn)證信息是正確的,經(jīng)過了驗(yàn)證過程,Web應(yīng)用允許用戶瀏覽他有權(quán)訪問的區(qū)域。用戶想退出時(shí),點(diǎn)擊退出按鈕,Web應(yīng)用要求用戶確認(rèn)他是否則真的需要退出,如果用戶確定退出,Session結(jié)束,Web應(yīng)用重新定位到登陸頁面。用戶可以放心的離開而不用擔(dān)心他的信息會泄露。如下是相關(guān)演示業(yè)務(wù)邏輯代碼:</p><p><b>  //...</b></p><p>

35、;  String action = request.getParameter("action");</p><p><b>  // 登陸</b></p><p>  if (action.equals("login")) {</p><p>  logIn(request, response);<

36、;/p><p><b>  }</b></p><p><b>  // 登出</b></p><p>  if (action.equals("logout")) {</p><p>  logOut(request, response);</p><p>

37、<b>  }</b></p><p>  private void logIn(HttpServletRequest request, HttpServletResponse response)</p><p>  throws ServletException, IOException {</p><p>  HttpSession ses

38、sion = request.getSession();</p><p>  String type = getString(request.getParameter("type"));</p><p>  String username = getString(request.getParameter("username"));</p>

39、<p>  String password = getString(request.getParameter("password"));</p><p>  session.setAttribute("name", rs1.getString(1));//存放用戶姓名</p><p>  session.setAttribute(&qu

40、ot;class", rs1.getString(2));//存放用戶所屬班級</p><p>  session.setAttribute("type", rs1.getString(3));//存放用戶類型</p><p><b>  }</b></p><p>  private void logOut(Ht

41、tpServletRequest request, HttpServletResponse response)</p><p>  throws ServletException, IOException {</p><p>  session = request.getSession();</p><p>  session.invalidate();</p

42、><p>  response.sendRedirect("Templates/index.jsp");</p><p><b>  }</b></p><p><b>  //...</b></p><p>  通過示例程序,闡述了在一個(gè)Web應(yīng)用中實(shí)現(xiàn)這一功能。</p>

43、;<p>  用戶登錄是分類型登錄的,不同的用戶類型擁有不同的權(quán)限,對系統(tǒng)有不同的操作結(jié)果。</p><p><b>  具體權(quán)限如下:</b></p><p>  表2-1 權(quán)限分類圖</p><p>  若非認(rèn)證用戶以非法用戶名登錄不同類別用戶,則生成相應(yīng)錯(cuò)誤信息, 相應(yīng)的錯(cuò)誤信息圖見圖1 2-3:</p>&l

44、t;p>  圖2-3 錯(cuò)誤信息圖1</p><p>  當(dāng)然系統(tǒng)也提供對合法用戶在輸入錯(cuò)誤的信息時(shí)做出響應(yīng)的友好的報(bào)錯(cuò)信息, 相應(yīng)的錯(cuò)誤信息圖見圖2-4:</p><p>  圖2-4 錯(cuò)誤信息圖2</p><p>  登入系統(tǒng)過程后所產(chǎn)生的系統(tǒng)顯示也有所不同,按照默認(rèn)系統(tǒng)登入類別分為:教師,班委,學(xué)生3種類型。相應(yīng)的登陸信息圖1 圖2圖3 見圖2-5 2-6

45、 2-7</p><p>  圖2-5 登陸信息圖1 圖2-6登陸信息圖2</p><p>  圖2-7 登陸信息圖3</p><p>  安全認(rèn)證機(jī)制普遍采用的方法是從form中獲得用戶輸入的認(rèn)證信息,然后到LDAP (lightweight directory access protocol)或關(guān)系數(shù)據(jù)庫的安全域中進(jìn)行認(rèn)證。如果

46、用戶提供的認(rèn)證信息是有效的,登陸動作往HttpSession對象中注入某個(gè)對象。HttpSession存在著注入的對象則表示用戶已經(jīng)登陸。</p><p><b>  演示相關(guān)代碼如下:</b></p><p><b>  //...</b></p><p>  private void logIn(HttpServlet

47、Request request, HttpServletResponse response)</p><p>  throws ServletException, IOException {</p><p><b>  ...</b></p><p>  HttpSession session = request.getSession();//

48、創(chuàng)建SESSION對象</p><p>  String type = getString(request.getParameter("type"));</p><p>  String username = getString(request.getParameter("username"));</p><p>  Stri

49、ng password = getString(request.getParameter("password"));</p><p>  JFBean jf = new JFBean();</p><p><b>  //橋接</b></p><p><b>  try {</b></p>

50、<p>  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");</p><p>  } catch (ClassNotFoundException en) {</p><p>  en.printStackTrace();</p><p><b>  }</b></

51、p><p><b>  try {</b></p><p>  con = DriverManager.getConnection("jdbc:odbc:bysj", "sa", "");</p><p>  sql = con.createStatement();</p>

52、<p><b>  // 教師登陸</b></p><p>  if (type.equals("teacher")) {</p><p><b>  ...</b></p><p>  session.setAttribute("islog", "yes&quo

53、t;);</p><p>  ResultSet rs1 = sql.executeQuery(condition1);</p><p>  rs1.next();</p><p>  session.setAttribute("name", rs1.getString(1));</p><p>  session.set

54、Attribute("class", rs1.getString(2));</p><p>  session.setAttribute("type", rs1.getString(3));</p><p>  response.sendRedirect("Templates/index.jsp");</p><

55、;p><b>  } else {</b></p><p>  session.setAttribute("error", "用戶名或密碼錯(cuò)誤,請重新輸入!");</p><p>  response.sendRedirect("Templates/index.jsp");</p><

56、;p><b>  }</b></p><p><b>  }</b></p><p><b>  // 學(xué)生登陸</b></p><p>  if (type.equals("student")) {</p><p><b>  ...&l

57、t;/b></p><p>  session.setAttribute("islog", "yes");</p><p>  ResultSet rs1 = sql.executeQuery(condition1);</p><p>  rs1.next();</p><p>  session

58、.setAttribute("name", rs1.getString(1));</p><p>  session.setAttribute("class", rs1.getString(2));</p><p>  session.setAttribute("type", rs1.getString(3));</p>

59、;<p>  response.sendRedirect("Templates/index.jsp");</p><p><b>  } else {</b></p><p>  session.setAttribute("error", "用戶名或密碼錯(cuò)誤,請重新輸入!");</p>

60、;<p>  response.sendRedirect("Templates/index.jsp");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  // 班委登陸</b></p><

61、p>  if (type.equals("monitor")) {</p><p><b>  ...</b></p><p>  session.setAttribute("islog", "yes");</p><p>  ResultSet rs1 = sql.execut

62、eQuery(condition1);</p><p>  rs1.next();</p><p>  session.setAttribute("name", rs1.getString(1));</p><p>  session.setAttribute("class", rs1.getString(2));</p

63、><p>  session.setAttribute("type", rs1.getString(3));</p><p>  response.sendRedirect("Templates/index.jsp");</p><p><b>  } else {</b></p><p&

64、gt;  session.setAttribute("error", "用戶名或密碼錯(cuò)誤,請重新輸入!");</p><p>  response.sendRedirect("Templates/index.jsp");</p><p><b>  }</b></p><p><

65、b>  }</b></p><p><b>  //...</b></p><p>  退出動作就包含了簡單的刪除用戶名以及對用戶的HttpSession對象調(diào)用invalidate()方法。清單2是從servlet中節(jié)選的一段代碼以此闡述退出動作:</p><p>  Listing 2 //...</p>

66、<p>  session = request.getSession();</p><p>  session.invalidate();</p><p>  response.sendRedirect("Templates/index.jsp");</p><p><b>  //...</b></p>

67、;<p><b>  系統(tǒng)登錄日志部分:</b></p><p>  相應(yīng)的日志管理界面圖見圖2-8:</p><p>  圖2-8 日志管理界面圖</p><p>  系統(tǒng)會保存每個(gè)用戶的登錄記錄,這些信息包括這個(gè)用戶的名字、登錄起始結(jié)束時(shí)間以及從何處登錄入系統(tǒng)的等等。它們被保存到數(shù)據(jù)庫文件的表中。</p><

68、;p>  Rzjl表中保存了所有的登錄、退出信息,包括登錄時(shí)間和類型,這個(gè)文件一般只有l(wèi)ogin程序使用,通過用戶的UID,來在日志文件中查找相應(yīng)記錄,然后報(bào)告其最后一次登出時(shí)間和終端tty。然后, login程序就使用新的記錄更新這個(gè)文件。因此隨著系統(tǒng)正常運(yùn)行時(shí)間的增加,它的大小也會越來越大,增加的速度依賴于系統(tǒng)用戶登錄次數(shù)。因此可以利用這個(gè)日志用來查看用戶的登錄記錄。</p><p><b>

69、  相關(guān)代碼如下:</b></p><p><b>  //存入日志</b></p><p>  String logid = getString(request.getParameter("username"));// 登入ID</p><p>  String logname = (String) sessi

70、on.getAttribute("name");// 登入姓名</p><p>  Date time = new Date();</p><p>  time.getTime();</p><p>  String logtime = time.toString().substring(4, 20);// 登入時(shí)間</p><

71、;p>  String condition2 = "insert into rzgl (rid,rname,intime) values ('"+ logid+ "'"+","+ "'"+ logname+ "'"+ ","+ "'" + logtime

72、 + "')";</p><p>  jf.execUpdate(condition2);</p><p><b>  //…</b></p><p><b>  用戶留言板部分:</b></p><p>  相應(yīng)的留言板界面圖見圖2-9:</p><

73、;p>  圖2-9 留言板界面圖</p><p>  留言板是一種電子便簽管理系統(tǒng),用CGI或其它腳本語言編寫的網(wǎng)絡(luò)應(yīng)用程序。在網(wǎng)絡(luò)用戶交流中有很大的作用,別人可以將他的資料和要求等保留在一個(gè)頁面上,以供其他人觀看。留言板可以提供完備的信息發(fā)布功能,有助于客戶收集網(wǎng)站的反饋信息,是客戶通過網(wǎng)絡(luò)收集信息的有力工具。 </p><p>  本系統(tǒng)采用留言板形式:"開放式&quo

74、t;開放式留言板,所有人都可以查看到他人的留言內(nèi)容。但只有用戶通過輸入用戶名和密碼登陸后才能發(fā)布留言。相應(yīng)留言界面圖見圖2-10:</p><p>  圖2-10 留言界面圖</p><p>  成功留言后返回本頁面。相應(yīng)的留言成功界面圖見圖2-11:</p><p>  圖2-11:留言成功界面圖</p><p>  留言板功能說明:1.

75、按照發(fā)言時(shí)間的先后順序,留言板自動排序。</p><p>  2.留言板提供支持多條留言分頁顯示功能,使界面更簡潔。</p><p>  3. 友好簡、潔的顯示界面,便于用戶使用留言板; </p><p>  相關(guān)代碼演示://...</p><p>  public class servlet extends HttpServlet {&

76、lt;/p><p>  private static final long serialVersionUID = 1L;</p><p>  public void doPost(HttpServletRequest request, HttpServletResponse response)</p><p>  throws ServletException, IOE

77、xception {</p><p>  response.setContentType("text/html;charset=gb2312");</p><p>  String action = request.getParameter("action");</p><p><b>  // 留言</b&g

78、t;</p><p>  if (action.equals("message")) {</p><p>  message(request, response);</p><p>  }private void message(HttpServletRequest request,</p><p>  HttpServ

79、letResponse response) throws ServletException, IOException {</p><p>  HttpSession session = request.getSession();</p><p>  JFBean jf = new JFBean();</p><p>  String s1 = (String) se

80、ssion.getAttribute("name");// 留言人名字</p><p>  String s2 = getString(request.getParameter("textarea"));// 留言內(nèi)容</p><p>  Date date = new Date();</p><p>  date.getTi

81、me();</p><p>  String a = date.toString();</p><p>  String s3 = a.substring(4, 20);// 留言時(shí)間</p><p>  String s = "'" + s3 + "'" + "," + "

82、9;" + s2 + "'" + "," + "'" + s1 + "'";</p><p>  String condition = "insert into lyb (ltime,lcontent,lid) values " + "("</p>

83、<p>  + s + ")";</p><p><b>  try {</b></p><p>  jf.execUpdate(condition);</p><p>  } catch (Exception e) {</p><p>  e.printStackTrace();<

84、/p><p><b>  }</b></p><p>  response.sendRedirect("Templates/message.jsp");</p><p><b>  }</b></p><p><b>  總 結(jié)</b></p>

85、<p>  經(jīng)過一個(gè)項(xiàng)目的鍛煉,覺得自己大有進(jìn)步!</p><p><b>  現(xiàn)在總結(jié)一下:</b></p><p>  1、需求報(bào)告。 項(xiàng)目正式啟動之前,盡可能多的搜集需求,盡可能清楚地描述需求,</p><p>  但是需求千萬不要在細(xì)節(jié)方面規(guī)定得太死,最好是抽象一點(diǎn)。反映商業(yè)策略等邏輯變</p><p>

86、;  化的部分尤其要靈活描述,這樣避免在設(shè)計(jì)的時(shí)候把這部分代碼寫得太死。實(shí)際上如</p><p>  果能確定所有的需求是最好的,這個(gè)我也想啊,不過現(xiàn)實(shí)中是不可能的,往往編碼的</p><p>  過程中會出現(xiàn)不斷的需求變更。這就要有足夠的程序設(shè)計(jì)水平來保證你的代碼可以應(yīng)付不斷變化的需求。</p><p>  2、系統(tǒng)設(shè)計(jì)。以前想象作一個(gè)項(xiàng)目必然是先由一個(gè)或者多個(gè)系

87、統(tǒng)架構(gòu)師,先做面</p><p>  面俱到的設(shè)計(jì),然后再由程序員們編碼實(shí)現(xiàn),哪知道我們這個(gè)項(xiàng)目卻要求每個(gè)人</p><p>  參與設(shè)計(jì)。我覺得這樣做很不錯(cuò),這樣可以使每個(gè)人都對這個(gè)系統(tǒng)有深入了解,最有</p><p>  可能產(chǎn)生較高質(zhì)量的程序,同樣可以減輕系統(tǒng)架構(gòu)師的負(fù)擔(dān),并且可以鍛煉每一個(gè)人!</p><p>  不過這個(gè)要求每個(gè)人都

88、有一定的設(shè)計(jì)水平,并且對業(yè)務(wù)了解。如果每個(gè)人設(shè)計(jì)一個(gè)子系統(tǒng),那么設(shè)計(jì)的時(shí)候就需要考慮各個(gè)子系統(tǒng)之間的對接問題,否則的話可能嚴(yán)重影響項(xiàng)目后期的進(jìn)度。</p><p>  3、編碼規(guī)范。編碼規(guī)范應(yīng)該是每個(gè)項(xiàng)目都有要求的,比如命名、大小寫、代碼</p><p>  風(fēng)格等,我覺得這個(gè)不是必需的,但是規(guī)定下來也有好處!</p><p>  4、文檔。可能編碼的人很不喜歡寫文

89、檔,我也不太喜歡寫文檔,特別是和代碼</p><p>  相關(guān)的文檔,每次代碼有一點(diǎn)改動,那么文檔就要作相應(yīng)的改動,應(yīng)次常常弄得</p><p>  文檔代碼不同步,這樣最終會導(dǎo)致文檔的不可信。這一點(diǎn)我深有體會! 我覺得</p><p>  最好是項(xiàng)目中配備專門的文檔編寫人員,并且在開發(fā)的過程中不要太在意文檔。還有開發(fā)的文檔可以借助一些第三方的工具來做。</p

90、><p>  5、資源管理。你開發(fā)的程序中要用到那些資源(比如資源文件、數(shù)據(jù)文件、配置</p><p>  文件)我想大家都應(yīng)該很清楚,那么這個(gè)資源怎么存放、怎么命名應(yīng)該在項(xiàng)目進(jìn)行</p><p>  指出定下來。如果編碼到后來再確定的話,可能引起不必要的麻煩。</p><p>  6、數(shù)據(jù)庫。如果有專門數(shù)據(jù)庫管理員和數(shù)據(jù)庫設(shè)計(jì)人員那么就好說了。

91、如果每個(gè)人都涉及到數(shù)據(jù)庫設(shè)計(jì)與實(shí)現(xiàn)的話(在每個(gè)人都參與設(shè)計(jì)的項(xiàng)目中),那么一定要注意不要重復(fù)。比如說很多日志表、一些通用的存儲過程大家共用就行了。</p><p>  7、人員分工、項(xiàng)目技術(shù)。在一個(gè)項(xiàng)目中,項(xiàng)目管理者必須清楚項(xiàng)目組的每一個(gè)成員的實(shí)力以及特長,而每個(gè)組員應(yīng)該被分配到他最適合的任務(wù),當(dāng)然很可能很多組員沒有突 出的特長,也可能項(xiàng)目管理者也不是很清楚團(tuán)隊(duì)每個(gè)人的實(shí)力,很多組員被分配到不適合自己的任務(wù),這

92、樣對整個(gè)項(xiàng)目來說都是和很危險(xiǎn)的。還有項(xiàng)目開始之前需要哪些技術(shù)因該清楚,并且組員們應(yīng)該準(zhǔn)備充分,否則如果要臨時(shí)學(xué)一門新技術(shù)的話是很危險(xiǎn)的,這樣很可能得不到高質(zhì)量的產(chǎn)品。</p><p>  項(xiàng)目還正在進(jìn)行中,我的經(jīng)驗(yàn)也在不斷積累中。我發(fā)覺,學(xué)習(xí)了很多理論知識之后,在經(jīng)過一定的實(shí)踐,收獲是巨大的。</p><p><b>  參考文獻(xiàn)</b></p>&l

93、t;p>  1 林上杰.林康司. JSP 2.0技術(shù)手冊.電子工業(yè)出版社</p><p>  2 飛思科技產(chǎn)品研發(fā).JSP 應(yīng)用開發(fā)詳解(第二版).電子工業(yè)出版社</p><p>  3 Marty Hall,Larry Brown. Servlet與JSP核心編程(第2版).清華大學(xué)出版社</p><p>  4 耿祥義.張躍平.JSP實(shí)用教程.清華

溫馨提示

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

評論

0/150

提交評論