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

下載本文檔

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

文檔簡介

1、<p><b>  本科畢業(yè)論文</b></p><p><b> ?。?0 屆)</b></p><p>  高校教學(xué)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-網(wǎng)上答疑管理模塊</p><p><b>  摘要</b></p><p>  現(xiàn)在高校教學(xué)產(chǎn)生的信息量越來越龐大,隨著計(jì)算

2、機(jī)科學(xué)技術(shù)的發(fā)展,一款能夠幫助高校管理教學(xué)的軟件十分必要,根據(jù)這種需求,建立了高校教學(xué)管理系統(tǒng),該系統(tǒng)能夠?qū)崿F(xiàn)讓教師通過網(wǎng)絡(luò)進(jìn)行學(xué)生網(wǎng)上答疑管理,加了老師和學(xué)生的互動(dòng)性,提高了老師的效率,為高校教學(xué)質(zhì)量的提高奠定了基礎(chǔ)。</p><p>  本論文主要介紹的是高校教學(xué)管理系統(tǒng)的網(wǎng)上答疑管理模塊,分析了系統(tǒng)中該模塊的功能需求和實(shí)現(xiàn)該功能的技術(shù)原理。本文還介紹了教學(xué)管理系統(tǒng)的總體架構(gòu),該系統(tǒng)采用的是三層B/S架構(gòu)。在

3、設(shè)計(jì)數(shù)據(jù)庫時(shí)使用了Mysql,使用了JSP進(jìn)行編程,另外還用到、Servlet、JavaBean等技術(shù)進(jìn)行系統(tǒng)開發(fā)。</p><p>  本模塊實(shí)現(xiàn)的功能是教學(xué)管理系統(tǒng)的網(wǎng)上答疑管理功能,主要包括教師對(duì)于學(xué)生問題的管理功能,學(xué)生對(duì)于自己問題的管理功能,教師回復(fù)學(xué)生問題的功能,以及管理學(xué)生和老師賬號(hào)的功能。該模塊的使用大大增加了教師和學(xué)生的互動(dòng)性,能夠讓教師及時(shí)幫助學(xué)生解決學(xué)習(xí)中所遇到的問題,同時(shí)通過網(wǎng)絡(luò)實(shí)現(xiàn)資源共

4、享,所有學(xué)生都能夠分享到教師的答案,從而提高學(xué)習(xí)效率和教學(xué)質(zhì)量。</p><p>  關(guān)鍵詞:網(wǎng)上答疑管理模塊,JSP, 瀏覽器/服務(wù)器,高校教學(xué)管理系統(tǒng)</p><p><b>  Abstract </b></p><p>  Now the teaching of information has become more and more

5、big,with the development of computer science and technology, a help of university teaching management software is very necessary, according to the demand, we set up the teaching management system, the system can realize

6、the teacher to students through the network problem sets job management, online examination management, on-line question-answering management, practice management four big functions, thus greatly increased the teacher an

7、d t</p><p>  Are mainly introduced in this paper the teaching management system of the on-line question-answering management module, analyzes the functions of the module in the system requirements, and reali

8、ze the function of technical principle, at the same time, the paper has analyzed the feasibility of the module. This article also introduces the overall architecture of the teaching management system, including the modul

9、e of online question-answering system has carried on the detailed design and introduct</p><p>  This module implements the function of the teaching management system on-line question-answering management fun

10、ctions, management functions mainly includes the teacher to students, students for their own problem of management function, the function of the teachers respond to students' problems, as well as the function of the

11、students and the teacher account management. The use of the module has greatly increased the interaction of teachers and students, can make teachers timely help students to </p><p>  Key Words:Mysql,JSP, The

12、 Browser/Server,Online Question-Answering Management Module</p><p><b>  目錄</b></p><p><b>  1 概述1</b></p><p><b>  1.1開發(fā)背景1</b></p><p

13、>  1.2設(shè)計(jì)目的及內(nèi)容1</p><p>  1.2.1設(shè)計(jì)目的1</p><p>  1.2.2設(shè)計(jì)內(nèi)容1</p><p>  1.3 技術(shù)概述2</p><p>  1.3.1 B/S模式簡介2</p><p>  1.3.1 MYSQL簡介2</p><p>  1

14、.3.3 MVC模式簡介2</p><p>  1.4硬件和軟件要求3</p><p>  1.4.1硬件要求3</p><p>  1.4.2軟件要求3</p><p><b>  1.5基本環(huán)境3</b></p><p>  1.6系統(tǒng)開發(fā)命名規(guī)則3</p><

15、p>  1.6.1命名規(guī)則3</p><p><b>  2 系統(tǒng)分析4</b></p><p>  2.1可行性分析4</p><p><b>  2.2需求分析4</b></p><p>  2.2.1系統(tǒng)需求分析4</p><p>  2.2.2系統(tǒng)主

16、要設(shè)計(jì)類4</p><p><b>  2.3功能分析5</b></p><p>  2.3.1用戶基本功能5</p><p>  2.3.2后臺(tái)管理5</p><p>  2.3.3板塊管理6</p><p>  3 數(shù)據(jù)庫設(shè)計(jì)7</p><p>  3.

17、1數(shù)據(jù)庫概要結(jié)構(gòu)設(shè)計(jì)7</p><p>  3.2數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)7</p><p>  4 系統(tǒng)界面設(shè)計(jì)9</p><p>  4.1系統(tǒng)界面設(shè)計(jì)9</p><p><b>  5主要代碼12</b></p><p>  5.1配置文件12</p><p>

18、<b>  結(jié)論21</b></p><p><b>  致謝22</b></p><p><b>  參考文獻(xiàn)23</b></p><p><b>  1 概述</b></p><p><b>  1.1開發(fā)背景</b>&l

19、t;/p><p>  互聯(lián)網(wǎng)的高速發(fā)展為現(xiàn)代教育事業(yè)發(fā)展注入了新的活力,建立起基于互聯(lián)網(wǎng)的遠(yuǎn)程教育體系已經(jīng)成為現(xiàn)代教育所關(guān)注的熱點(diǎn)。原來傳統(tǒng)的教學(xué),教師只能通過課堂短短的時(shí)間來向?qū)W生傳授知識(shí),教師與學(xué)生缺乏交流機(jī)會(huì),教師只能通過布置紙質(zhì)作業(yè)和考試來檢測學(xué)生的學(xué)習(xí)成果。同時(shí),教師回答單個(gè)學(xué)生問題時(shí)只能把知識(shí)傳授給一個(gè)學(xué)生,實(shí)現(xiàn)不了所有學(xué)生共享問題的思路和答案,只有通過課堂教學(xué)才能實(shí)現(xiàn)共享,而這些知識(shí)由于學(xué)生能力的不同,

20、需求也不一樣,但是所有學(xué)生還必須得聽課,這樣就浪費(fèi)了學(xué)生的時(shí)間,降低了學(xué)習(xí)效率。</p><p>  而高效教學(xué)管理系統(tǒng)的應(yīng)用能夠更加快捷的傳遞信息,讓教師和學(xué)生互動(dòng)的機(jī)會(huì)更多,教師可以通過系統(tǒng)的習(xí)題作業(yè)管理功能來布置學(xué)生作業(yè)檢測學(xué)生學(xué)習(xí)成果,通過在線考試管理來考核學(xué)生,通過在線答疑管理功能來實(shí)現(xiàn)師生互動(dòng),并能把問題答案和解題思路存儲(chǔ)在數(shù)據(jù)庫里,實(shí)現(xiàn)資源共享,學(xué)生可以根據(jù)不同需求來查找自己所要的答案和方法,節(jié)省了

21、大量時(shí)間,使學(xué)生學(xué)習(xí)更加高效。</p><p>  高校教學(xué)管理系統(tǒng)是現(xiàn)代化教學(xué)的手段,它運(yùn)用計(jì)算機(jī)網(wǎng)絡(luò)為工具幫助教師進(jìn)行教學(xué)管理,在這個(gè)過程中它運(yùn)用了多媒體技術(shù)和網(wǎng)絡(luò)技術(shù)等多種技術(shù)手段。通過這種教學(xué)系統(tǒng),高效教學(xué)質(zhì)量能夠得到快速提高。教育與互聯(lián)網(wǎng)的結(jié)合,這是一種先進(jìn)的教學(xué)理念,豐富了教育教學(xué)的手段,使中國的教育現(xiàn)代化進(jìn)程向前邁進(jìn)了一大步。</p><p>  1.2設(shè)計(jì)目的及內(nèi)容<

22、/p><p><b>  1.2.1設(shè)計(jì)目的</b></p><p>  高效教學(xué)管理系統(tǒng)的網(wǎng)上答疑管理模塊設(shè)計(jì)的主要目的是讓教師能夠通過互聯(lián)網(wǎng)實(shí)現(xiàn)遠(yuǎn)程教學(xué),對(duì)學(xué)生提出的問題進(jìn)行答疑。教師也可以對(duì)學(xué)生的問題進(jìn)行分類、篩選管理,并把問題儲(chǔ)存在數(shù)據(jù)庫中,方便學(xué)生查閱,實(shí)現(xiàn)資源共享。另外,學(xué)生也可以提出問題,更改自己的信息,對(duì)數(shù)據(jù)庫中的問題進(jìn)行搜索查閱學(xué)習(xí)。</p>

23、<p><b>  1.2.2設(shè)計(jì)內(nèi)容</b></p><p>  實(shí)現(xiàn)高校教學(xué)管理系統(tǒng)的網(wǎng)上答疑管理模塊主要是對(duì)學(xué)生提出問題數(shù)據(jù)和老師答疑數(shù)據(jù)信息的管理,包括提出問題,刪除問題,修改問題,以及對(duì)精典問題加精置頂?shù)墓δ堋M瑫r(shí),也能實(shí)現(xiàn)學(xué)生更改自身信息,教師管理學(xué)生信息的功能。</p><p><b>  1.3 技術(shù)概述</b>&

24、lt;/p><p>  1.3.1 B/S模式簡介</p><p>  B/S(瀏覽器/服務(wù)器模式)[1]是隨著Internet結(jié)束的興起,對(duì)C/S結(jié)構(gòu)的一種改進(jìn)。在這個(gè)結(jié)構(gòu)下,軟件應(yīng)用的業(yè)務(wù)邏輯完全在應(yīng)用服務(wù)器端實(shí)現(xiàn),用戶表現(xiàn)完全在Web服務(wù)器實(shí)現(xiàn),客戶端直需要瀏覽器即可進(jìn)行業(yè)務(wù)處理,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。這種結(jié)構(gòu)更成為當(dāng)今應(yīng)用軟件的首選體系結(jié)構(gòu)。</p><p&

25、gt;  1.3.1 Mysql簡介</p><p>  MySQL [2]是一個(gè)關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL AB公司開發(fā),目前屬于Oracle公司。Mysql是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在WEB應(yīng)用方面MySQL是最好的RDBMS(Relational Database Management System:關(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ù)保存

26、在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉庫內(nèi),這樣就增加了速度并提高了靈活性。MySQL所使用的SQL語言是用于訪問數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)化語言。MySQL軟件采用了雙授權(quán)政策(本詞條“授權(quán)政策”),它分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),一般中小型網(wǎng)站的開發(fā)都選擇MySQL作為網(wǎng)站數(shù)據(jù)庫。由于其社區(qū)版的性能卓越,搭配PHP和Apache可組成良好的開發(fā)環(huán)境。</p><p&

27、gt;  1.3.3 MVC模式簡介</p><p>  MVC模式[3]是"Model-View-Controller"的縮寫,中文翻譯為"模式-視圖-控制器"。MVC應(yīng)用程序總是由這三個(gè)部分組成。Event(事件)導(dǎo)致Controller改變Model或View,或者同時(shí)改變兩者。只要Controller改變了Models的數(shù)據(jù)或者屬性,所有依賴的View都會(huì)自動(dòng)更新。

28、類似的,只要Controller改變了View,View會(huì)從潛在的Model中獲取數(shù)據(jù)來刷新自己。</p><p>  MVC設(shè)計(jì)思想:MVC英文即Model-View-Controller,即把一個(gè)應(yīng)用的輸入、處理、輸出流程按照Model、View、Controller的方式進(jìn)行分離,這樣一個(gè)應(yīng)用被分成三個(gè)層——模型層、視圖層、控制層。 </p><p>  MVC的優(yōu)點(diǎn):將視圖展示和應(yīng)

29、用邏輯清晰的分離開來,降低了模型和視圖之間的耦合性,使得系統(tǒng)設(shè)計(jì)時(shí)具有更高的靈活性。首先,最重要的是應(yīng)該有多個(gè)視圖對(duì)應(yīng)一個(gè)模型的能力。在目前用戶需求的快速變化下,可能有多種方式訪問應(yīng)用的要求。例如,訂單模型可能有本系統(tǒng)的訂單,也有網(wǎng)上訂單,或者其他系統(tǒng)的訂單,但對(duì)于訂單的處理都是一樣,也就是說訂單的處理是一致的。按MVC設(shè)計(jì)模式,一個(gè)訂單模型以及多個(gè)視圖即可解決問題。這樣減少了代碼的復(fù)制,即減少了代碼的維護(hù)量,一旦模型發(fā)生改變,也易于維

30、護(hù)。 其次,由于模型返回的數(shù)據(jù)不帶任何顯示格式,因而這些模型也可直接應(yīng)用于接口的使用。</p><p>  1.4硬件和軟件要求</p><p><b>  1.4.1硬件要求</b></p><p>  CPU:Inter(R) Core(TM)2 Duo CPU 2.10GHz</p><p><b>  

31、HDD:300G</b></p><p>  RAM:2.00GB</p><p><b>  1.4.2軟件要求</b></p><p>  操作系統(tǒng):Windows XP/Windows 8。</p><p>  數(shù)據(jù)庫:mysql 6.5。</p><p>  開發(fā)工具:Myec

32、plise6.5。</p><p>  輔助開發(fā)工具: navicat for mysql。</p><p>  瀏覽器:IE9.0。</p><p><b>  1.5基本環(huán)境</b></p><p>  以Java語言為基本開發(fā)語言,通過運(yùn)用集成開發(fā)環(huán)境Myecplise(6.5)[4],Tomcat6.0[5]服務(wù)

33、器等相關(guān)知識(shí),利用Java語言的面向?qū)ο蟮奶匦约癕VC設(shè)計(jì)思想,設(shè)計(jì)一個(gè)企業(yè)物流管理方案,模擬一個(gè)企業(yè)物流管理系統(tǒng)的出入庫管理模塊。</p><p>  1.6系統(tǒng)開發(fā)命名規(guī)則</p><p><b>  1.6.1命名規(guī)則</b></p><p>  (1)項(xiàng)目中命名規(guī)則[6]</p><p>  項(xiàng)目中各個(gè)子項(xiàng)均以子

34、項(xiàng)功能名稱的英文組合,類名以對(duì)應(yīng)的意思命名,組成的所有單詞的首字母大寫;類中的方法依據(jù)功能而定,方法命名首單詞的首字母小寫,其他單詞首字母均大寫;項(xiàng)目中的頁面命名是項(xiàng)目名為前綴加上相應(yīng)功能名。</p><p> ?。?)數(shù)據(jù)庫命名規(guī)則</p><p>  數(shù)據(jù)庫名稱與項(xiàng)目名稱相同,數(shù)據(jù)庫中表命名規(guī)則是表名稱英文意思的單詞或多個(gè)單詞的組合,單詞首個(gè)字母大寫;表中字段名是相應(yīng)字段的英文單詞或多

35、個(gè)單詞的組合,單詞首歌字母大寫。</p><p><b>  2 系統(tǒng)分析</b></p><p><b>  2.1可行性分析</b></p><p>  原來傳統(tǒng)教學(xué)的教學(xué)方式在管理學(xué)生信息上存在很多缺點(diǎn),如過程操作復(fù)雜,手續(xù)復(fù)雜,效率低下,數(shù)據(jù)信息不可靠,這些缺點(diǎn)嚴(yán)重制約了現(xiàn)代教學(xué)質(zhì)量的提高和發(fā)展空間。</p

36、><p>  隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展,將互聯(lián)網(wǎng)[7]技術(shù)與教育教學(xué)有機(jī)結(jié)合起來的理念已經(jīng)成為一種先進(jìn)的教學(xué)觀念,因此高校教學(xué)管理系統(tǒng)是從實(shí)際出發(fā),滿足現(xiàn)代高校教學(xué)的需求,并參照國外的先進(jìn)教學(xué)模式開發(fā)而成,該模塊主要實(shí)現(xiàn)了學(xué)生能夠提出不同類別的問題的功能,教師回答學(xué)生問題的功能,學(xué)生搜索問題的功能,以及一些相關(guān)操作,具有操作簡單,交互界面清晰,數(shù)據(jù)準(zhǔn)確性高的特點(diǎn),大大提高了教師與學(xué)生的交互性,實(shí)現(xiàn)了教學(xué)資源共享,從而

37、大大提高了教學(xué)質(zhì)量和教學(xué)效率,因此該系統(tǒng)在性能上具有可行性。</p><p>  本系統(tǒng)采用的是JSP開發(fā)語言,調(diào)試比較簡單,技術(shù)上已經(jīng)發(fā)展成熟能夠滿足需求,所以在技術(shù)上也存在可行性。</p><p>  本系統(tǒng)開發(fā)成本低,并且本系統(tǒng)開發(fā)成功后,與傳統(tǒng)的教學(xué)方式相比,具有高效率,低成本、高質(zhì)量的特點(diǎn),可以節(jié)省大量人力、物力、財(cái)力,所以經(jīng)濟(jì)上也存在可行性。</p><p&

38、gt;  綜上所訴,本系統(tǒng)的開發(fā)在性能,技術(shù),經(jīng)濟(jì)上都是完全可靠的。</p><p><b>  2.2需求分析</b></p><p>  2.2.1系統(tǒng)需求分析</p><p>  教師操作的功能:回答學(xué)生問題、管理學(xué)生問題(置頂/加精/刪除)、修改學(xué)生信息</p><p>  學(xué)生操作的功能:在不同板塊提出問題、搜

39、索問題、查看管理自己提出的問題</p><p>  2.2.2系統(tǒng)主要設(shè)計(jì)類</p><p>  Class ConnectionManager:該類實(shí)現(xiàn)連接數(shù)據(jù)庫,打開數(shù)據(jù)庫,創(chuàng)建Connection連接,及關(guān)閉數(shù)據(jù)庫和相關(guān)資源的功能。該類設(shè)計(jì)為單例模式。</p><p>  com.dao:該包中的類提供對(duì)數(shù)據(jù)庫各表操作。</p><p>

40、;  Com.entity: 該包中的類提供了數(shù)據(jù)庫表對(duì)應(yīng)的實(shí)體類</p><p>  com.service:該服務(wù)提供系統(tǒng)中服務(wù)方法的功能</p><p>  com.action:該包中類提供了程序的邏輯結(jié)構(gòu)的實(shí)現(xiàn),起到控制跳轉(zhuǎn)和實(shí)現(xiàn)的作用</p><p><b>  2.3功能分析</b></p><p>  2

41、.3.1用戶基本功能</p><p>  登錄頁面要求用戶輸入用戶帳戶、密碼和驗(yàn)證碼。在輸入用戶帳戶、密碼驗(yàn)證碼之后,系統(tǒng)將驗(yàn)證用戶帳戶和密碼及驗(yàn)證碼是否正確,如果驗(yàn)證成功,就使用戶處于登錄狀態(tài)。否則,系統(tǒng)顯示用戶帳戶或密碼錯(cuò)誤的提示信息。</p><p>  2.3.1.1 發(fā)起問題</p><p>  當(dāng)?shù)卿浐?,點(diǎn)擊發(fā)帖,就可以對(duì)自己不會(huì)的問題發(fā)起幫助,然后問題

42、就會(huì)以論壇帖子的形式發(fā)出,當(dāng)別人看到也便可以對(duì)其進(jìn)行回帖</p><p>  2.3.1.2 回復(fù)問題</p><p>  當(dāng)看到別人的問題會(huì),如果自己會(huì),可以點(diǎn)擊回復(fù)進(jìn)行回答(前提是登陸狀態(tài)下才可回復(fù))</p><p><b>  2.3.2后臺(tái)管理</b></p><p>  系統(tǒng)的這項(xiàng)功能只有超級(jí)管理員有權(quán)限執(zhí)行,

43、普通管理員沒有此項(xiàng)權(quán)限。</p><p>  2.3.2.1 用戶管理</p><p>  單擊“查看用戶”,可以顯示所有用戶的基本信息并可以對(duì)其進(jìn)行操作。</p><p>  2.3.2.2 板塊管理</p><p>  單擊“計(jì)算機(jī)”,可以顯示計(jì)算機(jī)類的所有問題并可以對(duì)其進(jìn)行操作。</p><p>  單擊“機(jī)械類

44、”,可以顯示機(jī)械類的所有問題并可以對(duì)其進(jìn)行操作。</p><p>  單擊“金融類”,可以顯示金融類的所有問題并可以對(duì)其進(jìn)行操作。</p><p>  2.3.2.2添加管理員</p><p>  該功能可以為某個(gè)后臺(tái)添加管理員。添加管理員要求有兩個(gè):</p><p>  一是必須已經(jīng)是注冊用戶。</p><p>  

45、二是不行高級(jí)管理員才能操作。</p><p>  2.3.2.3刪除管理員</p><p>  該功能可以刪除某個(gè)倉庫的管理員。刪除管理員需要查找需要?jiǎng)h除的管理員的信息,查詢所有員工的信息,直接點(diǎn)擊“刪除”,完成刪除管理員的操作。</p><p><b>  2.3.3板塊管理</b></p><p>  板塊管理,超級(jí)

46、管理員和普通管理員都有權(quán)限進(jìn)行操作。</p><p>  2.3.3.1問題置頂</p><p><b>  實(shí)現(xiàn)問題的置頂。</b></p><p>  2.3.3.2問題加精</p><p>  實(shí)現(xiàn)問題的加精操作。</p><p>  加精:管理員管理問題列表,實(shí)現(xiàn)加精的操作。</p&

47、gt;<p><b>  3 數(shù)據(jù)庫設(shè)計(jì)</b></p><p>  3.1數(shù)據(jù)庫概要結(jié)構(gòu)設(shè)計(jì)</p><p>  本系統(tǒng)數(shù)據(jù)庫采用Mysql數(shù)據(jù)庫[8],系統(tǒng)數(shù)據(jù)庫名稱為bbs_db。數(shù)據(jù)庫中包含3張表。</p><p>  用戶信息表,包括的數(shù)據(jù)項(xiàng)有:ID、用戶名、密碼、性別、電話、qq、Email、頭像、權(quán)限等。<

48、/p><p>  問題表,包括的數(shù)據(jù)項(xiàng)有:ID,標(biāo)題、內(nèi)容、發(fā)起人、發(fā)起時(shí)間、是否置頂、是否加精、所屬板塊、點(diǎn)擊量等。</p><p>  回復(fù)表,包括的數(shù)據(jù)項(xiàng)有:回復(fù)內(nèi)容、回復(fù)時(shí)間、回復(fù)人、所屬問題ID等</p><p>  3.2數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)</p><p>  根據(jù)上述數(shù)據(jù)庫的需求分析和概念結(jié)構(gòu)設(shè)計(jì)[9],設(shè)計(jì)了名稱為bbs_db的數(shù)

49、據(jù)庫。</p><p>  數(shù)據(jù)庫bbs_db由下面多個(gè)表格組成,各個(gè)表的命名及字段命名[10]都是以相應(yīng)名稱的首字母組合而成,各個(gè)表格的設(shè)計(jì)結(jié)果如下表所示,每個(gè)表格表示在數(shù)據(jù)庫中相對(duì)應(yīng)的一個(gè)表。</p><p>  用戶表,如:表3-1 </p><p><b>  表3-1 用戶表</b></p><p>  問題表

50、,如:表3-2 。</p><p><b>  表3-2問題表</b></p><p>  回復(fù)表,如:表3-3 。</p><p><b>  表3-3 回復(fù)表</b></p><p><b>  4 系統(tǒng)界面設(shè)計(jì)</b></p><p><b&

51、gt;  4.1系統(tǒng)界面設(shè)計(jì)</b></p><p>  打開網(wǎng)頁后的界面如下圖4-1,. 從菜單欄中選擇進(jìn)行的操作。</p><p><b>  圖 4-1 首頁</b></p><p>  系統(tǒng)前臺(tái)共主要分為7個(gè)模塊:</p><p>  第一部分:計(jì)算機(jī)類的問題。如下圖4-2,</p>&

52、lt;p>  圖 4-2 計(jì)算機(jī)類問題模塊</p><p>  第二部分:機(jī)械類問題。如下圖4-3,</p><p>  圖 4-3 機(jī)械類問題模塊</p><p>  第三部分:工商類,如下圖4-4,</p><p>  圖 4-4 工商類問題模塊</p><p>  第四部分:用戶登錄注冊模塊,包括用戶的登錄

53、,注冊和修改用戶信息。如下圖4-5,產(chǎn)品管理.</p><p>  圖 4-5 用戶模塊</p><p>  第五部分:登錄模塊,。如下圖4-6,</p><p><b>  圖 4-6 登錄</b></p><p><b>  第六部分:注冊模塊</b></p><p> 

54、 第七部分:個(gè)人信息模塊,包括查看個(gè)人信息,修改信息。</p><p><b>  5主要代碼</b></p><p><b>  5.1配置文件</b></p><p>  配置文件web.xml中主要用于配置各個(gè)servlet和驗(yàn)證登錄的過濾器。當(dāng)輸入的網(wǎng)頁或者跳轉(zhuǎn)出現(xiàn)錯(cuò)誤時(shí),就會(huì)自動(dòng)跳轉(zhuǎn)的錯(cuò)誤頁面,默認(rèn)打開頁面為首頁

55、。</p><p><b>  <servlet></b></p><p>  <servlet-name>action</servlet-name></p><p>  <servlet-class>org.apache.struts.action.ActionServlet</servl

56、et-class></p><p>  <init-param></p><p>  <param-name>config</param-name></p><p>  <param-value>/WEB-INF/struts-config.xml</param-value></p>&

57、lt;p>  </init-param></p><p>  <init-param></p><p>  <param-name>debug</param-name></p><p>  <param-value>3</param-value></p><p> 

58、 </init-param></p><p>  <init-param></p><p>  <param-name>detail</param-name></p><p>  <param-value>3</param-value></p><p>  </in

59、it-param></p><p>  <load-on-startup>0</load-on-startup></p><p>  </servlet></p><p><b>  <servlet></b></p><p>  <description>

60、;檢測郵箱是否存在</description></p><p>  <servlet-name>CheckMailServlet</servlet-name></p><p>  <servlet-class>com.servlet.CheckMailServlet</servlet-class></p><p

61、>  </servlet></p><p>  <welcome-file-list></p><p>  <welcome-file>index.jsp</welcome-file></p><p>  </welcome-file-list></p><p>  <s

62、ervlet-mapping></p><p>  <servlet-name>action</servlet-name></p><p>  <url-pattern>*.do</url-pattern></p><p>  </servlet-mapping></p><p&g

63、t;  <servlet-mapping></p><p>  <servlet-name>CheckServlet</servlet-name></p><p>  <url-pattern>/CheckServlet</url-pattern></p><p>  </servlet-mappin

64、g></p><p>  <welcome-file-list></p><p>  <welcome-file>index.jsp</welcome-file></p><p>  </welcome-file-list></p><p>  <error-page><

65、/p><p>  <error-code>404</error-code></p><p>  <location>/404.jsp</location></p><p>  <!-- 表示當(dāng)系統(tǒng)發(fā)生404就是不存在請(qǐng)求地址的錯(cuò)誤的時(shí)候,頁面跳轉(zhuǎn)到404.html頁面。 --></p><p

66、>  </error-page></p><p>  <error-page></p><p>  <error-code>500</error-code></p><p>  <location>/404.jsp</location></p><p>  <

67、!-- 表示當(dāng)系統(tǒng)發(fā)生500也就是操作異常錯(cuò)誤的時(shí)候,頁面跳轉(zhuǎn)到error.jsp頁面。 --></p><p>  </error-page></p><p>  </web-app></p><p><b>  5.2部分功能代碼</b></p><p>  5.2.1 Connecti

68、onManager代碼</p><p>  主要作用是通過jdbc加載驅(qū)動(dòng),然后連接數(shù)據(jù)庫,通過獲取Connection 的對(duì)象來獲取得到操作數(shù)據(jù)庫的對(duì)象來操作數(shù)據(jù)庫</p><p>  private Connection con;</p><p>  private PreparedStatement pst;</p><p>  pub

69、lic static ConnectionManager mydb=new ConnectionManager();</p><p>  public static ConnectionManager conn=new ConnectionManager();</p><p>  public ConnectionManager(){</p><p><b&g

70、t;  try {</b></p><p>  Class.forName("com.mysql.jdbc.Driver");</p><p>  } catch (ClassNotFoundException e) {</p><p>  e.printStackTrace();</p><p><b&

71、gt;  }</b></p><p><b>  }</b></p><p>  public static Connection getConnection(){</p><p>  Connection conn=null;</p><p>  String url="jdbc:mysql://

72、localhost:3306/bbs_db";</p><p><b>  try {</b></p><p>  conn=DriverManager.getConnection(url,"root","rootadmin");</p><p>  } catch (SQLException

73、e) {</p><p>  // TODO Auto-generated catch block</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p>  return conn;</p><p><b>  }</

74、b></p><p>  5.2.2 Dao代碼</p><p>  主要可以得到用戶的信息,并且可以修改用戶信息,通過數(shù)據(jù)庫的limit指令,可以實(shí)現(xiàn)分頁功能,得到較少的數(shù)據(jù)量加快程序的讀取速度,:</p><p>  public UserBean getUser(String uname){</p><p>  Connecti

75、on conn=null;</p><p>  Statement sta=null;</p><p>  ResultSet rs=null;</p><p>  ArrayList list=new ArrayList();</p><p>  UserBean user=new UserBean();</p><p&

76、gt;  String sql="select photo from user_tb INNER JOIN bbs_tb ON user_tb.uname='"+uname+"'";</p><p>  conn=ConnectionManager.getConnection();</p><p><b>  try {&l

77、t;/b></p><p>  sta=conn.createStatement();</p><p>  rs=sta.executeQuery(sql);</p><p>  if(rs.next()){</p><p>  user.setPhoto(rs.getString(1));</p><p>&l

78、t;b>  }</b></p><p>  } catch (SQLException e) {</p><p>  // TODO Auto-generated catch block</p><p>  e.printStackTrace();</p><p><b>  }</b></p&g

79、t;<p>  return user;</p><p><b>  }</b></p><p><b>  /**</b></p><p>  * 得到我的帖子并分頁</p><p><b>  */</b></p><p>  publ

80、ic ArrayList myBbs(int nowpage,String uname) {</p><p>  String sql="selectbbs_id,bbs_title,bbs_sendTime,bbs_blo_id,point from bbs_tb where bbs_sender='"+uname+"' limit " + (nowpag

81、e - 1) * 15 + ",15";</p><p>  Connection conn = null;</p><p>  Statement sta = null;</p><p>  ResultSet rs = null;</p><p>  ArrayList arr=new ArrayList();<

82、/p><p><b>  try {</b></p><p>  conn = ConnectionManager.getConnection();</p><p>  sta = conn.createStatement();</p><p>  rs = sta.executeQuery(sql);</p>

83、<p>  while(rs.next()) {</p><p>  BbsInfoBean bbs=new BbsInfoBean();</p><p>  bbs.setBbs_id(rs.getInt(1));</p><p>  bbs.setBbs_title(rs.getString(2));</p><p>  bb

84、s.setBbs_sendTime(rs.getString(3));</p><p>  bbs.setBbs_blo_id(rs.getInt(4));</p><p>  bbs.setPoint(rs.getInt(5));</p><p>  arr.add(bbs);</p><p><b>  }</b>&

85、lt;/p><p>  } catch (Exception e) {</p><p>  // TODO: handle exception</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p>  return arr;</p&

86、gt;<p><b>  }</b></p><p>  5.2.3 action代碼</p><p>  主要是邏輯結(jié)構(gòu)的控制,先判斷用戶輸入的賬號(hào)和密碼是否正確,如果正確跳轉(zhuǎn)到首頁,如果錯(cuò)誤,則跳轉(zhuǎn)到登錄頁面重新登錄,并提示輸入的賬號(hào)或者密碼錯(cuò)誤,如果已經(jīng)登錄,可以查看自己的信息:</p><p>  public Actio

87、nForward changeSave(ActionMapping mapping, ActionForm form,</p><p>  HttpServletRequest request, HttpServletResponse response) {</p><p>  DynaActionForm userForm = (DynaActionForm) form;// TODO

88、Auto-generated method stub</p><p>  String uname=userForm.getString("uname");</p><p>  String password=userForm.getString("password");</p><p>  UserBean user=new

89、 UserBean();</p><p>  user.setUname(uname);</p><p>  user.setPassword(password);</p><p>  UserServer us=new UserServer();</p><p>  boolean bool=us.changeSave(user);<

90、/p><p><b>  if(bool){</b></p><p>  return mapping.findForward("ok");</p><p><b>  }else{</b></p><p>  String str = "信息有誤,請(qǐng)確認(rèn)后再輸入"

91、;;</p><p>  request.setAttribute("error1", str);</p><p>  return mapping.findForward("notcan");</p><p><b>  }</b></p><p><b>  }<

92、;/b></p><p>  public ActionForward userExit(ActionMapping mapping, ActionForm form,</p><p>  HttpServletRequest request, HttpServletResponse response) {</p><p>  request.getSessi

93、on().removeAttribute("uname0");</p><p>  HttpSession session=request.getSession();</p><p>  UserBean user=(UserBean)session.getAttribute("user");</p><p>  sessio

94、n.invalidate();</p><p>  return mapping.findForward("userExit");</p><p><b>  }</b></p><p><b>  /**</b></p><p>  * 得到用戶的個(gè)人信息</p>

95、<p>  * @param mapping</p><p>  * @param form</p><p>  * @param request</p><p>  * @param response</p><p><b>  * @return</b></p><p><b

96、>  */</b></p><p>  public ActionForward getUserInfo(ActionMapping mapping, ActionForm form,</p><p>  HttpServletRequest request, HttpServletResponse response) {</p><p>  St

97、ring uname = (String) request.getSession().getAttribute("uname0");</p><p>  UserBean user = new UserBean();</p><p>  user.setUname(uname);</p><p>  UserServer us = new Us

98、erServer();</p><p>  user = us.getUserInfo(user);</p><p>  request.setAttribute("user", user);</p><p>  return mapping.findForward("showInfo");</p><p&

99、gt;<b>  }</b></p><p>  5.2.4 Service代碼</p><p>  主要是把dao層的方法加進(jìn)去,實(shí)現(xiàn)了業(yè)務(wù)分層,這樣做的目的是讓程序更安全,并且思路更清晰,讓程序的結(jié)構(gòu)更整齊,代碼的可讀性更高</p><p><b>  //查詢各版塊帖子</b></p><p>

100、;  public ArrayList getAll(int nowpage,int bbs_blo_id)</p><p><b>  {</b></p><p>  return new BbsDAO().getAll(nowpage,bbs_blo_id);</p><p><b>  }</b></p>

101、<p><b>  /**</b></p><p><b>  * 增加點(diǎn)擊量</b></p><p><b>  */</b></p><p>  public boolean addPoint(BbsInfoBean bbs) {</p><p>  retu

102、rn new BbsDAO().addPoint(bbs);</p><p><b>  }</b></p><p>  //得到各版塊帖子的條數(shù)</p><p>  public int getCount(int bbs_blo_id){</p><p>  return new MBbsDAO().getCount(

103、bbs_blo_id);</p><p><b>  }</b></p><p>  //得到我的帖子并分頁</p><p>  public ArrayList myBbs(int nowpage,String uname)</p><p><b>  {</b></p><p

104、>  return new BbsDAO().myBbs(nowpage,uname);</p><p><b>  }</b></p><p>  //得到我的帖子的條數(shù)</p><p>  public int getCount(String uname){</p><p>  return new BbsDA

105、O().getCount(uname);</p><p><b>  }</b></p><p>  public boolean delete(BbsInfoBean bbs) {</p><p>  return new BbsDAO().delete(bbs);</p><p><b>  }</

106、b></p><p>  5.2.5 js代碼(部分)</p><p>  主要是對(duì)頁面上提交內(nèi)容的各種判斷:</p><p>  function createXMLHttp(){</p><p>  if(window.XMLHttpRequest){</p><p>  xmlHttp=new XMLHt

107、tpRequest();</p><p><b>  }else{</b></p><p>  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");</p><p><b>  }</b></p><p><b>  }<

108、/b></p><p>  function checkcode(code){</p><p>  createXMLHttp();</p><p>  xmlHttp.open("POST","checkCode?code="+code);</p><p>  xmlHttp.onreadyst

109、atechange=checkCodeCallback;</p><p>  xmlHttp.send(null);</p><p>  document.getElementById("msg2").innerHTML="正在發(fā)送...";</p><p><b>  }</b></p>

110、<p>  function checkCodeCallback(){</p><p>  if(xmlHttp.readyState==4){</p><p>  if(xmlHttp.status==200){</p><p>  var text=xmlHttp.responseText;</p><p>  if(text=

111、="false"){</p><p>  flag2=false;</p><p>  document.getElementById("msg2").innerHTML="<font color=red>X</font>";</p><p><b>  }else{<

112、;/b></p><p>  flag2=true;</p><p>  document.getElementById("msg2").innerHTML="<font color=green>√</font>";</p><p><b>  }</b></p>

113、<p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  function checkFrom2(){</p><p>  return flag2;</p><p>

114、;<b>  }</b></p><p>  function checkMail(mail){</p><p>  createXMLHttp();</p><p>  xmlHttp.open("POST","CheckMailServlet?mail="+mail);</p><

115、p>  xmlHttp.onreadystatechange=checkEmailCallback;</p><p>  xmlHttp.send(null);</p><p>  document.getElementById("msg1").innerHTML="正在發(fā)送...";</p><p><b>

116、  }</b></p><p>  function checkEmailCallback(){</p><p>  if(xmlHttp.readyState==4){</p><p>  if(xmlHttp.status==200){</p><p>  var text=xmlHttp.responseText;</

117、p><p>  if(text=="false"){</p><p>  flag1=false;</p><p>  document.getElementById("msg1").innerHTML="<font color=red>此郵箱已存在</font>";</p>

118、<p><b>  }else{</b></p><p>  flag1=true;</p><p>  document.getElementById("msg1").innerHTML="此郵箱可以注冊";</p><p><b>  }</b></p>

119、<p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  function checkFrom1(){</p><p>  return flag1;</p><p>

120、;<b>  }</b></p><p>  function checkUser(user){</p><p>  createXMLHttp();</p><p>  xmlHttp.open("POST","CheckServlet?uname="+user);</p><p&g

121、t;  xmlHttp.onreadystatechange=checkUserCallback;</p><p>  xmlHttp.send(null);</p><p>  document.getElementById("msg").innerHTML="正在發(fā)送...";</p><p><b>  }&l

122、t;/b></p><p>  function checkUserCallback(){</p><p>  if(xmlHttp.readyState==4){</p><p>  if(xmlHttp.status==200){</p><p>  var text=xmlHttp.responseText;</p>

123、<p>  if(text=="true"){</p><p>  flag=false;</p><p>  document.getElementById("msg").innerHTML="<font color=red>用戶名已存在</font>";</p><p&g

124、t;<b>  }else{</b></p><p>  flag=true;</p><p>  document.getElementById("msg").innerHTML="此用戶可以注冊";</p><p><b>  }</b></p><p>

125、<b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  </script ></p><p><b>  結(jié)論</b></p><p>  我在完成畢業(yè)

126、設(shè)計(jì)的整個(gè)過程中,不斷的查閱資料和看書學(xué)習(xí),進(jìn)一步夯實(shí)了自己的基礎(chǔ),重新理解了許多的知識(shí),熟悉了這些技術(shù)的操作和運(yùn)用,比如對(duì)Mysql數(shù)據(jù)庫的應(yīng)用,掌握了Mysql,對(duì)mvc框架有了更加深刻的理解,進(jìn)一步學(xué)習(xí)了jsp標(biāo)簽和js的動(dòng)態(tài)操作,掌握了在從jsp頁面與js代碼和servlet之間傳遞數(shù)據(jù)時(shí)的中文亂碼的解決方法就是保持所有的編碼是一致的,對(duì)數(shù)據(jù)庫的一些錯(cuò)誤的操作及sql語句的不太合理之處,這些都為我以后的工作和學(xué)習(xí)奠定了基礎(chǔ),讓我

127、今后少走一些代碼的彎路。</p><p>  在整個(gè)畢業(yè)論文設(shè)計(jì)的過程中我學(xué)到了做任何事情所要有的態(tài)度和心態(tài),首先我明白了做學(xué)問要一絲不茍,對(duì)于出現(xiàn)的任何問題和偏差都不要輕視,要通過正確的途徑去解決,在做事情的過程中要有耐心和毅力,不要一遇到困難就打退堂鼓,只要堅(jiān)持下去就可以找到思路去解決問題的。在工作中要學(xué)會(huì)與人合作的態(tài)度,認(rèn)真聽取別人的意見,這樣做起事情來就可以事倍功半。</p><p&g

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(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)論