版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 本科畢業(yè)設(shè)計(jì)(論文)</p><p><b> ( 屆)</b></p><p> 論文題目數(shù)據(jù)庫(kù)原理課程網(wǎng)站設(shè)計(jì)</p><p> 所在學(xué)院 </p><p> 專(zhuān)業(yè)班級(jí) 信息管理與信息系統(tǒng) </p>
2、;<p> 學(xué)生姓名 學(xué)號(hào) </p><p> 指導(dǎo)教師 職稱(chēng) </p><p> 完成日期 年 月 日</p><p> 數(shù)據(jù)庫(kù)原理課程網(wǎng)站設(shè)計(jì)</p><p> 摘要:《數(shù)據(jù)庫(kù)原理》課程
3、是我校信息管理與信息系統(tǒng)、計(jì)算機(jī)科學(xué)與技術(shù)兩個(gè)專(zhuān)業(yè)的核心專(zhuān)業(yè)課程,也是信息科學(xué)與計(jì)算機(jī)技術(shù)、電子信息工程等專(zhuān)業(yè)的基礎(chǔ)課程。本文闡述了《數(shù)據(jù)庫(kù)原理》的課程發(fā)展現(xiàn)狀以及一些課程網(wǎng)站模式,利用動(dòng)態(tài)網(wǎng)站的主要技術(shù),針對(duì)網(wǎng)站的互動(dòng)性,師生間的交互性等問(wèn)題設(shè)計(jì)出一個(gè)課程網(wǎng)站。為學(xué)生的混合學(xué)習(xí)提供更好的網(wǎng)絡(luò)資源,以提高師生互動(dòng)性和評(píng)測(cè)學(xué)生自主學(xué)習(xí)效果。其中課程網(wǎng)站以智能決策為難點(diǎn)展開(kāi)。</p><p> 關(guān)鍵詞:數(shù)據(jù)庫(kù)原理;
4、課程網(wǎng)站;交互性;智能決策。</p><p> The Design of Course Website on Database Theory</p><p> Abstract: The course of Database Theory is information management and information systems, computer science and t
5、echnology basis for the two professional core professional courses in our school. Is also the Information Science and computer technology, electronics and information engineering and other professional foundation courses
6、. In this paper, "Database Theory" Development of the courses and some course web site model, the main advantage of dynamic website technology, for the site interactiv</p><p> Key words: Database
7、Theory; Course Website; Interaction; Intelligent Decision.</p><p><b> 目錄</b></p><p><b> 1緒論1</b></p><p> 1.1《數(shù)據(jù)庫(kù)原理》的教學(xué)現(xiàn)狀1</p><p> 1.2課程
8、網(wǎng)站的提出及其現(xiàn)狀1</p><p> 1.3課程網(wǎng)站的發(fā)展方向2</p><p> 1.4論文的主要任務(wù)2</p><p><b> 2開(kāi)發(fā)工具4</b></p><p> 2.1相關(guān)術(shù)語(yǔ)、基本概念4</p><p> 2.2開(kāi)發(fā)工具4</p>&l
9、t;p> 2.3開(kāi)發(fā)技術(shù)5</p><p> 3課程網(wǎng)站系統(tǒng)分析7</p><p> 3.1課程網(wǎng)站模塊及其功能7</p><p> 3.2模塊實(shí)現(xiàn)7</p><p> 4數(shù)據(jù)庫(kù)設(shè)計(jì)10</p><p> 4.1數(shù)據(jù)庫(kù)分析10</p><p> 4.2
10、數(shù)據(jù)庫(kù)概念設(shè)計(jì)10</p><p> 4.3數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)13</p><p> 4.3.1 數(shù)據(jù)庫(kù)表的結(jié)構(gòu)13</p><p> 4.3.2 數(shù)據(jù)表之間的關(guān)系設(shè)計(jì)19</p><p><b> 5具體設(shè)計(jì)21</b></p><p> 5.1界面設(shè)計(jì)21<
11、/p><p> 5.2詳細(xì)的模塊設(shè)計(jì)22</p><p> 5.2.1 登錄界面22</p><p> 5.2.2 資料區(qū)22</p><p> 5.2.3 BBS討論區(qū)23</p><p> 5.2.4 個(gè)人信息與密碼修改24</p><p> 5.2.5 數(shù)據(jù)庫(kù)
12、表查詢(xún)界面24</p><p> 5.2.6 批量處理界面25</p><p> 5.2.7 在線練習(xí)區(qū)25</p><p> 5.3關(guān)鍵問(wèn)題實(shí)現(xiàn)26</p><p> 5.3.1 中文亂碼處理26</p><p> 5.3.2 連接數(shù)據(jù)庫(kù)29</p><p>
13、 5.3.3 自動(dòng)編號(hào)30</p><p> 5.3.4 批量增加用戶(hù)問(wèn)題31</p><p> 5.3.5 練習(xí)試卷生成問(wèn)題34</p><p> 6總結(jié)與展望37</p><p> 致謝錯(cuò)誤!未定義書(shū)簽。</p><p><b> 參考文獻(xiàn)38</b></p
14、><p><b> 緒論</b></p><p> 《數(shù)據(jù)庫(kù)原理》的教學(xué)現(xiàn)狀</p><p> 《數(shù)據(jù)庫(kù)原理》課程是我校信息管理與信息系統(tǒng)、計(jì)算機(jī)科學(xué)與技術(shù)兩個(gè)專(zhuān)業(yè)的核心專(zhuān)業(yè)基礎(chǔ)課程。也是信息科學(xué)與計(jì)算機(jī)技術(shù)、電子信息工程等專(zhuān)業(yè)的基礎(chǔ)課程。但在實(shí)際的教學(xué)和學(xué)習(xí)中卻存在不少的問(wèn)題:</p><p> ?。?)理論與實(shí)際嚴(yán)
15、重脫節(jié):數(shù)據(jù)庫(kù)原理與應(yīng)用課程一般包括數(shù)據(jù)庫(kù)原理、設(shè)計(jì)和應(yīng)用三個(gè)部分;</p><p> ?。?)教師重點(diǎn)偏向理論教學(xué),很少向?qū)W生介紹具體的數(shù)據(jù)庫(kù)使用技術(shù),使學(xué)生不能將所學(xué)知識(shí)融會(huì)貫通,不能應(yīng)企業(yè)對(duì)數(shù)據(jù)庫(kù)應(yīng)用人才的需要;</p><p> (3)教師重點(diǎn)偏向流行數(shù)據(jù)庫(kù)開(kāi)發(fā)工具的使用,忽視甚至放棄原理的教學(xué),造成學(xué)生對(duì)具體開(kāi)發(fā)的操作能力突出,但缺乏完整的知識(shí)結(jié)構(gòu)[1];</p>
16、<p> ?。?)缺乏多樣性教學(xué)手段,由于《數(shù)據(jù)庫(kù)原理》課題偏重于理論,很多教師在講解本課程時(shí)往往都采用傳統(tǒng)板書(shū)的方式。板書(shū)的缺點(diǎn)是傳遞的信息量小。教學(xué)進(jìn)度過(guò)于緩慢。高等教育不同于義務(wù)教育。它的顯著特點(diǎn)就是傳授的信息量大,給予學(xué)生的不僅僅是知識(shí)本身。更重要的是分析問(wèn)題解決問(wèn)題的方法。一些重要的理論的具體應(yīng)用和具體操作板書(shū)就沒(méi)有辦法形象地呈現(xiàn)給學(xué)生.使得學(xué)生在理解和掌握這些內(nèi)容時(shí)就比較困難。不利于學(xué)生學(xué)習(xí)積極性的提高。教學(xué)方法
17、上,教師大多采用以教師為中心的方式去講解。缺乏與學(xué)生的友好交互,導(dǎo)致學(xué)生的思維難以與之同步。從而使教學(xué)質(zhì)量下降。</p><p> (5)課程考核方式單一:考核是檢驗(yàn)教學(xué)成果的有效方式和重要手段。對(duì)學(xué)生學(xué)習(xí)和教師教學(xué)具有重要的導(dǎo)向作用。</p><p> 《數(shù)據(jù)庫(kù)原理》是一門(mén)理論性很強(qiáng)的課程,其考核制度仍沿襲傳統(tǒng)的應(yīng)試教育模式。在這種模式下。學(xué)生的成績(jī)主要還是以學(xué)生的期終理論考試成績(jī)來(lái)
18、做為主要依據(jù)。這種考核方式不能有效激發(fā)學(xué)生不同的學(xué)習(xí)動(dòng)機(jī).造成學(xué)生為考試過(guò)關(guān)而學(xué)。并不注重自身能力的提高,教師僅為完成教學(xué)任務(wù)而教。并不注重培養(yǎng)學(xué)生的能力。這種違反教學(xué)規(guī)律、背離教學(xué)培養(yǎng)目標(biāo)的現(xiàn)象已嚴(yán)重阻礙了《數(shù)據(jù)庫(kù)原理》課程的良性發(fā)展[2]。</p><p> 課程網(wǎng)站的提出及其現(xiàn)狀</p><p> 中國(guó)社會(huì)科院2005年調(diào)查報(bào)告顯示:在16~24歲的受訪人群中87.8%是網(wǎng)民,而
19、在這些網(wǎng)絡(luò)用戶(hù)的構(gòu)成中,大學(xué)生的比例一直高居榜首(每年都在50%以上)。我們不難看出,大學(xué)生群體上網(wǎng)率較高,顯著高于其他群體[3]。</p><p> 由此,我們應(yīng)該清楚地了解到如今網(wǎng)絡(luò)對(duì)大學(xué)生的生活有多大的影響。從這條思路上再去試著去解決以上的五個(gè)問(wèn)題,不難得到這樣一個(gè)結(jié)論:既然大學(xué)生大部分的課余時(shí)間都是花在網(wǎng)絡(luò)上,我們可以給他們搭建一個(gè)學(xué)習(xí)的平臺(tái),讓他們好好利用手中的這個(gè)資源。</p><
20、;p> 在這樣一個(gè)信息時(shí)代,網(wǎng)絡(luò)漸漸地進(jìn)入我們的生活,成為我們生活的必需品。利用好網(wǎng)絡(luò)這個(gè)資源,讓師生間的交互不只是在傳統(tǒng)的課堂上,更可以換一種輕松的環(huán)境,以不同的角色去教學(xué)和學(xué)習(xí)。這樣的模式可以培養(yǎng)大學(xué)生的積極性,讓他們主動(dòng)的去學(xué)習(xí),幫助他們打好基礎(chǔ),提升他們的技能的同時(shí)培養(yǎng)他們自學(xué)能力,讓他們?cè)谝院蟮膶W(xué)習(xí)的道路上能走得更好,而不是無(wú)味地沉迷于網(wǎng)絡(luò)游戲中不可自拔。很多差的學(xué)生并不是不想好好學(xué)習(xí),而是他們實(shí)在找不到幫手,沒(méi)有人教
21、,更沒(méi)有人管的,久而久之他們也就養(yǎng)成了不好好學(xué)習(xí)的習(xí)慣。由此,我認(rèn)為開(kāi)發(fā)一個(gè)關(guān)于《數(shù)據(jù)庫(kù)原理》的課程網(wǎng)站是相當(dāng)有必要的。</p><p> 現(xiàn)階段很多課程網(wǎng)站都是用于應(yīng)付評(píng)選精品課時(shí)而設(shè)計(jì)的,真正能保證學(xué)生學(xué)習(xí)的沒(méi)有幾個(gè),學(xué)校對(duì)網(wǎng)絡(luò)的重視度很高,但更多的資源還是被浪費(fèi)了,學(xué)生根本不喜歡網(wǎng)上學(xué)習(xí)的這種模式。出現(xiàn)這樣的原因如下:</p><p> 最本質(zhì)的原因是課程網(wǎng)站的動(dòng)態(tài)技術(shù)不夠,能提
22、供的服務(wù)僅是瀏覽,大部分都是靜態(tài)網(wǎng)頁(yè),沒(méi)有人維護(hù),這本質(zhì)上比課堂上的傳統(tǒng)教學(xué)還乏味;</p><p> 課程網(wǎng)站的互動(dòng)性不夠。這也是我的一個(gè)重要任務(wù),要通過(guò)課程網(wǎng)站的建立以提高師生間的互動(dòng)性;</p><p> 學(xué)生排斥網(wǎng)上學(xué)習(xí)的這種模式,跟在課堂上一樣,許多學(xué)生就是因?yàn)榈貌坏接行У膸椭艞壛藢W(xué)習(xí)。</p><p><b> 課程網(wǎng)站的發(fā)展方向&l
23、t;/b></p><p> 為了解決課程網(wǎng)站在互動(dòng)性和智能性的問(wèn)題,今后的課程網(wǎng)站要想加入更多的動(dòng)態(tài)元素。整體上來(lái)說(shuō),網(wǎng)站應(yīng)該是動(dòng)態(tài)網(wǎng)站,應(yīng)用JSP、ASP、AJAX、SQL等動(dòng)態(tài)技術(shù)。整合以往的靜態(tài)BBS討論區(qū),構(gòu)造更完善的課程網(wǎng)站。其中數(shù)據(jù)庫(kù)技術(shù)一定要被應(yīng)用上,在該課程今后的教學(xué)中,更是可以使用該課程網(wǎng)站的數(shù)據(jù)庫(kù)作為實(shí)例。其次,還需要多媒體等技術(shù),讓網(wǎng)站更加美觀,吸納更多的學(xué)生。</p>
24、<p><b> 論文的主要任務(wù)</b></p><p> 本次論文所要完成的主要任務(wù):</p><p> (1)課程的教師以及學(xué)習(xí)該課程的學(xué)生進(jìn)行交流。他們才是真正的用戶(hù)的,他們的需求才是課程網(wǎng)站真正的需求;</p><p> ?。?)建立課程網(wǎng)站的兩大平臺(tái):BBS討論區(qū)和在線練習(xí)系統(tǒng)。其中在線練習(xí)系統(tǒng)相對(duì)來(lái)說(shuō)比較重要。B
25、BS討論區(qū)是基于以往的靜態(tài)網(wǎng)站上建立的,并不是網(wǎng)站的亮點(diǎn),而在線練習(xí)系統(tǒng)運(yùn)用了一些動(dòng)態(tài)技術(shù)來(lái)實(shí)現(xiàn);</p><p> ?。?)設(shè)計(jì)出較為完善的權(quán)限管理,這個(gè)是為了以后學(xué)生能更好地參與網(wǎng)站的建設(shè)而設(shè)計(jì)的。課程網(wǎng)站也是一個(gè)很好的教學(xué)實(shí)例,讓學(xué)生更多的參與進(jìn)來(lái)也是對(duì)實(shí)踐環(huán)節(jié)薄弱的一種彌補(bǔ)吧。</p><p><b> 開(kāi)發(fā)工具</b></p><p&g
26、t;<b> 相關(guān)術(shù)語(yǔ)、基本概念</b></p><p> 在討論具體的課程網(wǎng)站的設(shè)計(jì)之前,先讓我對(duì)該課程網(wǎng)站所涉及的一些概念進(jìn)行簡(jiǎn)要的介紹:</p><p> 數(shù)據(jù)庫(kù)(DataBase,DB):是一個(gè)長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)的、有組織的、有共享的、統(tǒng)一管理的數(shù)據(jù)集合。她是一個(gè)按數(shù)據(jù)結(jié)構(gòu)來(lái)存儲(chǔ)和管理數(shù)據(jù)的計(jì)算機(jī)軟件系統(tǒng)。數(shù)據(jù)庫(kù)的概念實(shí)際包括兩層意思:(1)數(shù)據(jù)庫(kù)是一個(gè)
27、實(shí)體,它是能夠合理保管數(shù)據(jù)的“倉(cāng)庫(kù)”,用戶(hù)在該:“倉(cāng)庫(kù)”中存放要管理的事務(wù)數(shù)據(jù),“數(shù)據(jù)”和“庫(kù)”兩個(gè)概念結(jié)合成為數(shù)據(jù)庫(kù)。(2)數(shù)據(jù)庫(kù)是數(shù)據(jù)管理的新方法和技術(shù),他能更合適的組織數(shù)據(jù)、更方便的維護(hù)數(shù)據(jù)、更嚴(yán)密的控制數(shù)據(jù)和更有效的利用數(shù)據(jù)[4]。</p><p> 課程網(wǎng)站:是以某個(gè)課程學(xué)習(xí)為中心而建立起來(lái)的動(dòng)態(tài)網(wǎng)站,在普遍的靜態(tài)BBS論壇,利用動(dòng)態(tài)的技術(shù)去實(shí)現(xiàn)其強(qiáng)大的功能,不僅可以為學(xué)生的混合學(xué)習(xí)提供更好的網(wǎng)絡(luò)資源
28、,更可以提高師生間的互動(dòng)性并評(píng)測(cè)學(xué)生自主學(xué)習(xí)效果。</p><p> 靜態(tài)網(wǎng)站:是指全部由HTML代碼格式頁(yè)面組成的網(wǎng)站,所有的內(nèi)容包含在網(wǎng)頁(yè)文件中。網(wǎng)頁(yè)上也可以出現(xiàn)各種視覺(jué)動(dòng)態(tài)效果,如GIF動(dòng)畫(huà)、FLASH動(dòng)畫(huà)、滾動(dòng)字幕等。</p><p> 動(dòng)態(tài)網(wǎng)站:并不是指具有動(dòng)畫(huà)功能的網(wǎng)站,而是指通過(guò)數(shù)據(jù)庫(kù)進(jìn)行架構(gòu)的網(wǎng)站。動(dòng)態(tài)網(wǎng)站除了要設(shè)計(jì)網(wǎng)頁(yè)外,還要通過(guò)數(shù)據(jù)庫(kù)和編程序來(lái)使網(wǎng)站具有更多自動(dòng)的和
29、高級(jí)的功能。該領(lǐng)域涉及到的東西很多,例如分布式系統(tǒng)方面和協(xié)同設(shè)計(jì)方面的知識(shí),分布式系統(tǒng)被有效地視為異步通信組件的網(wǎng)絡(luò),在這個(gè)網(wǎng)絡(luò)中組件提供了由各種模式組成的能滿足商業(yè)需求的服務(wù)[5]。為了促成在協(xié)同設(shè)計(jì)的環(huán)境復(fù)雜的交互關(guān)系,設(shè)計(jì)環(huán)境的關(guān)鍵參數(shù)和特點(diǎn)用于研究時(shí)需要被模擬。這就要求了解互動(dòng)/溝通的模式,和跨越不同專(zhuān)業(yè)學(xué)科的信息流的物流[6]。</p><p> 智能決策支持系統(tǒng):人工智能(AI,Artificial
30、 Intelligence)和DSS相結(jié)合,應(yīng)用專(zhuān)家系統(tǒng)(ES,Expert System)技術(shù),使DSS能夠更充分地應(yīng)用人類(lèi)的知識(shí),如關(guān)于決策問(wèn)題的描述性知識(shí),決策過(guò)程中的過(guò)程性知識(shí),求解問(wèn)題的推理性知識(shí),通過(guò)邏輯推理來(lái)幫助解決復(fù)雜的決策問(wèn)題的輔助決策系統(tǒng)[7]。</p><p><b> 開(kāi)發(fā)工具</b></p><p> J2EE的開(kāi)發(fā)工具很多,我所使用的工
31、具如表2-1所示:</p><p><b> 表2-1 開(kāi)發(fā)工具</b></p><p> Microsoft SQL Server2000正是本課程非常重要的一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)軟件,也是值得學(xué)生與老師相互學(xué)習(xí)的。它在當(dāng)下也是網(wǎng)站開(kāi)發(fā)的一款主流軟件。詳細(xì)描述請(qǐng)見(jiàn)第四章的數(shù)據(jù)庫(kù)分析。</p><p> Myeclipse(全稱(chēng)為MyEclips
32、e Enterprise Workbench)是一個(gè)十分優(yōu)秀的用于開(kāi)發(fā)Java, J2EE的Eclipse插件集合,MyEclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對(duì)各種開(kāi)元產(chǎn)品的支持十分不錯(cuò)。在它強(qiáng)大的同時(shí)也需要付出一點(diǎn)代價(jià),在它的開(kāi)發(fā)環(huán)境中存在許多的語(yǔ)言包,語(yǔ)言包之間的轉(zhuǎn)換不恰當(dāng),很有可能就會(huì)發(fā)生中文亂碼問(wèn)題。</p><p> Tomcat是一個(gè)開(kāi)源項(xiàng)目。其是免費(fèi)的,它的底層更是利用java編譯而
33、成,更是兼容Myeclipse與SQL Server 2000。該版本在汲取了Tomcat 6.0.x優(yōu)點(diǎn)的基礎(chǔ)上,實(shí)現(xiàn)了對(duì)于Servlet 3.0、JSP 2.2和EL 2.2等特性的支持。系統(tǒng)中所要涉及的就是Servlet與JSP,它們可謂是形影不離。</p><p><b> 開(kāi)發(fā)技術(shù)</b></p><p> Servlet與JSP是java web中最基
34、礎(chǔ)的兩項(xiàng)技術(shù),兩者相鋪相成。</p><p> Servlet:它是java web的核心程序,所有的網(wǎng)址最終都交給它處理。它并沒(méi)有main之類(lèi)的執(zhí)行方法。當(dāng)用戶(hù)訪問(wèn)服務(wù)器的時(shí)候,Tomcat是通過(guò)調(diào)用Servlet的某些方法來(lái)完成整個(gè)過(guò)程的。Java web應(yīng)用程序中所有的請(qǐng)求-響應(yīng)都是由它來(lái)完成的。</p><p> JSP:它是一種基于文本的程序,其特點(diǎn)是HTML代碼與Java程
35、序共同存在。執(zhí)行時(shí)它會(huì)被Tomcat自動(dòng)編譯,這個(gè)過(guò)程對(duì)開(kāi)發(fā)者來(lái)說(shuō)是透明的、不需要關(guān)注的。編譯后的JSP跟HttpServlet一樣,都是Java.servlet.Servlet接口的子類(lèi),因此它就是另一種形式的Servlet[8]。</p><p> Javascript:它是一種基于對(duì)象(Object)和事件驅(qū)動(dòng)(Event Driven)并具有安全性能的腳本語(yǔ)言。使用它的目的是與HTML超文本標(biāo)記語(yǔ)言、J
36、ava腳本語(yǔ)言(Java小程序)一起實(shí)現(xiàn)在一個(gè)Web頁(yè)面中鏈接多個(gè)對(duì)象,與Web客戶(hù)進(jìn)行交互的作用,從而可以開(kāi)發(fā)客戶(hù)端的應(yīng)用程序等。它是通過(guò)嵌入或調(diào)入的HTML語(yǔ)言中實(shí)現(xiàn)的。</p><p> JavaBean:它是描述Java的軟件組件模型,有點(diǎn)類(lèi)似于Microsoft的COM組件概念。在Java模型中,通過(guò)JavaBean可以無(wú)限擴(kuò)充Java程序的功能,通過(guò)JavaBean的組合可以快速生成新的應(yīng)用程序。對(duì)
37、程序員來(lái)說(shuō),最好的一點(diǎn)就是JavaBean可以實(shí)現(xiàn)代碼的重復(fù)利用,另外對(duì)于程序的易維護(hù)性等也有很重大的意義[9]。</p><p><b> 課程網(wǎng)站系統(tǒng)分析</b></p><p> 課程網(wǎng)站模塊及其功能</p><p> 動(dòng)態(tài)課程網(wǎng)站的內(nèi)容可以提供教師和學(xué)生進(jìn)行信息共享與交流的及時(shí)修改功能。通過(guò)對(duì)多個(gè)課程網(wǎng)站的分析,課程網(wǎng)站一般包含資
38、料共享區(qū)、討論交流區(qū)、在線練習(xí)區(qū)等功能模塊。如圖3-1網(wǎng)站功能結(jié)構(gòu)所示,以下要介紹的就是基于動(dòng)態(tài)網(wǎng)站所設(shè)計(jì)的課程網(wǎng)站所要實(shí)現(xiàn)的功能:</p><p> 圖3-1 網(wǎng)站功能結(jié)構(gòu)</p><p> (1)教學(xué)資料區(qū),提供給學(xué)生和老師共享資源的平臺(tái),上傳或下載課件、實(shí)驗(yàn)指導(dǎo)、實(shí)驗(yàn)軟件等,擴(kuò)充教學(xué)資源。學(xué)生可以對(duì)老師提出要求,老師根據(jù)學(xué)生的要求上傳對(duì)應(yīng)的課件、軟件等,而不是課堂上的一對(duì)多的教學(xué)
39、模式,實(shí)現(xiàn)一對(duì)一的教學(xué)模式,對(duì)不同階段的學(xué)生來(lái)說(shuō)都是有利的。</p><p> ?。?)討論區(qū),討論區(qū)可以讓學(xué)生和教師針對(duì)課程學(xué)習(xí)中遇到的問(wèn)題進(jìn)行交流學(xué)習(xí)。在站點(diǎn)管理中更是可以邀請(qǐng)學(xué)生去參與,培養(yǎng)他們對(duì)學(xué)習(xí)該課程的積極性</p><p> ?。?)在線練習(xí)系統(tǒng),它在整個(gè)課程網(wǎng)站中是比較關(guān)鍵的一個(gè)功能,也是系統(tǒng)的一個(gè)亮點(diǎn)。目前,很多的課程網(wǎng)站是再現(xiàn)練習(xí)系統(tǒng)主要是針對(duì)客觀題,具有客觀題在線練習(xí)
40、和判卷功能。也有一些在線練習(xí)系統(tǒng)可以自動(dòng)進(jìn)行客觀題目閱卷,主觀題讓教師進(jìn)行在線評(píng)閱,系統(tǒng)自動(dòng)計(jì)分。</p><p> ?。?)后臺(tái)管理,就是管理人員維護(hù)網(wǎng)站的界面。需要完成維護(hù)題庫(kù)數(shù)據(jù)庫(kù),管理用戶(hù)權(quán)限等功能。這樣便于管理與維護(hù)網(wǎng)站。</p><p><b> 模塊實(shí)現(xiàn)</b></p><p> 網(wǎng)站的制作包括頁(yè)面布局的規(guī)劃和界面的設(shè)計(jì)、程序
41、代碼的編寫(xiě)、后臺(tái)數(shù)據(jù)庫(kù)的操作、信息內(nèi)容的整合、網(wǎng)站發(fā)布等環(huán)節(jié),是一項(xiàng)重復(fù)而繁瑣的工作,有一定的技術(shù)難度,需要掌握網(wǎng)站制作方面的知識(shí)和技術(shù)。下面就此課程網(wǎng)站所包含的模塊做些介紹:</p><p> (1)建立一個(gè)課件、實(shí)驗(yàn)指導(dǎo)、實(shí)驗(yàn)軟件等教學(xué)資料區(qū)</p><p> 提供學(xué)生和老師共享資源的平臺(tái)。學(xué)生可以對(duì)老師提出要求,老師根據(jù)學(xué)生的要求上傳對(duì)應(yīng)的課件、軟件等,而不是課堂上的一對(duì)多的教學(xué)
42、模式,實(shí)現(xiàn)一對(duì)一的教學(xué)模式,對(duì)不同階段的學(xué)生來(lái)說(shuō)都是有利的。</p><p> ?。?)建立一個(gè)討論區(qū)</p><p> 我將討論區(qū)劃分為3個(gè)模塊,如圖3-2所示。在站點(diǎn)管理中更是可以邀請(qǐng)學(xué)生去參與,培養(yǎng)他們對(duì)學(xué)習(xí)該課程的積極性。網(wǎng)站中的不少數(shù)據(jù)庫(kù)的維護(hù),都是可以讓學(xué)生參與進(jìn)來(lái)的,來(lái)加強(qiáng)學(xué)生對(duì)數(shù)據(jù)庫(kù)技術(shù)的實(shí)踐操作,在實(shí)踐中去理解數(shù)據(jù)庫(kù)原理的理論知識(shí),以解決該課程教學(xué)脫離實(shí)踐的問(wèn)題。<
43、;/p><p> 圖3-2 討論區(qū)的功能結(jié)構(gòu)</p><p> ?。?)在線練習(xí)系統(tǒng)的實(shí)現(xiàn)</p><p> 該功能是基于動(dòng)態(tài)網(wǎng)站來(lái)實(shí)現(xiàn)的,在整個(gè)課程網(wǎng)站中是比較關(guān)鍵的一個(gè)功能,也是系統(tǒng)的一個(gè)亮點(diǎn)。在線練習(xí)系統(tǒng)可以自動(dòng)進(jìn)行客觀題目閱卷,主觀題讓教師進(jìn)行在線評(píng)閱,系統(tǒng)自動(dòng)計(jì)分。如圖3-3所示,就是該系統(tǒng)的主要流程。</p><p> 圖3-3
44、 在線練習(xí)系統(tǒng)的實(shí)現(xiàn)流程</p><p><b> ?。?)權(quán)限管理</b></p><p> 將學(xué)生與教師的權(quán)限進(jìn)行分開(kāi)設(shè)置。老師的權(quán)限是較大的,可以修改學(xué)生的權(quán)限,來(lái)幫助老師去維護(hù)網(wǎng)站等,而學(xué)生的權(quán)限則因人而異。特別是在bbs討論版中,設(shè)置版面版主等等,讓更多的學(xué)生參與到網(wǎng)站的建設(shè)與維護(hù)中來(lái),在實(shí)踐中學(xué)習(xí)該門(mén)課程。</p><p><
45、;b> 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p><b> 數(shù)據(jù)庫(kù)分析</b></p><p> 由于在線練習(xí)系統(tǒng)對(duì)于數(shù)據(jù)的安全性及完整性要求比較高,并且為了增加課程網(wǎng)站的適用范圍,還要保證系統(tǒng)可以擁有存儲(chǔ)足夠多數(shù)據(jù)的能力。Microsoft SQL Server 是一種客戶(hù)/服務(wù)器模型的關(guān)系型數(shù)據(jù)庫(kù),它具有很強(qiáng)的數(shù)據(jù)完整性、可伸縮性、可管理性、可編
46、程性;具有均衡與完備的功能;具有較低的價(jià)格與性能比。SQL Server數(shù)據(jù)庫(kù)提供了復(fù)制服務(wù)、數(shù)據(jù)轉(zhuǎn)換服務(wù)、報(bào)表服務(wù),并支持XML語(yǔ)言。適用SQL Server數(shù)據(jù)庫(kù)可以大容量地存儲(chǔ)數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行合理地邏輯布局,應(yīng)用數(shù)據(jù)庫(kù)對(duì)象可以對(duì)數(shù)據(jù)進(jìn)行復(fù)制地操作。SQL Server 2000是一種高性能的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),它在SQL Server 7.0的基礎(chǔ)上又?jǐn)U展了系統(tǒng)性能、可靠性、安全性和易用性,逐漸成為在線事務(wù)進(jìn)程和數(shù)據(jù)倉(cāng)庫(kù)等最好
47、的數(shù)據(jù)庫(kù)平臺(tái)。綜上所述,本課程網(wǎng)站采用SQL Server 2000數(shù)據(jù)庫(kù)。SQL Server 2000也提供了JDBC編程接口,主要可以非常方便地應(yīng)用Java來(lái)操作數(shù)據(jù)庫(kù)。</p><p><b> 數(shù)據(jù)庫(kù)概念設(shè)計(jì)</b></p><p> 根據(jù)以上各節(jié)的對(duì)網(wǎng)站所做的系統(tǒng)分析和設(shè)計(jì),規(guī)劃出本系統(tǒng)中使用的數(shù)據(jù)庫(kù)實(shí)體分別為用戶(hù)實(shí)體、學(xué)生實(shí)體、教師實(shí)體、論壇類(lèi)別實(shí)體
48、、版面實(shí)體、帖子實(shí)體、跟帖實(shí)體、題目實(shí)體(選擇題、填空題、判斷題、簡(jiǎn)答題、設(shè)計(jì)題、綜合題)、練習(xí)實(shí)體、練習(xí)題目實(shí)體等。</p><p> 由于本網(wǎng)站包含了兩個(gè)系統(tǒng)——bbs討論區(qū)與在線練習(xí)區(qū)。需要用兩張E-R圖來(lái)概括這整個(gè)網(wǎng)站,bbs討論區(qū)的E-R如圖4-1所示,其中包括了用戶(hù)實(shí)體、版主實(shí)體、論壇類(lèi)別實(shí)體、版面實(shí)體、帖子實(shí)體以及跟帖實(shí)體;在線練習(xí)系統(tǒng)的E-R圖4-2如圖所示,其中包括了章節(jié)、題目等8個(gè)實(shí)體。&l
49、t;/p><p> 圖4-1 bbs討論區(qū)的E-R圖</p><p> 圖4-2 在線練習(xí)區(qū)的E-R圖</p><p> 除了用戶(hù)實(shí)體沒(méi)有具體分析外,bbs討論區(qū)中其他實(shí)體的E-R圖都較為詳細(xì)在圖4-1中展示了,以下就不對(duì)它們分析了。教師、學(xué)生兩個(gè)實(shí)體的E-R分別如圖4-3、4-4所示。</p><p> 圖4-3 教師實(shí)體的E-R圖&l
50、t;/p><p> 圖4-4 學(xué)生實(shí)體的E-R圖</p><p> 通過(guò)以上的分析,同樣得到了在線練習(xí)區(qū)中的一些用戶(hù)實(shí)體的分析。以下我就該區(qū)內(nèi)較為重要或者特殊的實(shí)體進(jìn)行分析下:</p><p> 在題目實(shí)體中,選擇題實(shí)體最為特殊,它的E-R圖如圖4-5所示。比題目實(shí)體多了四個(gè)選項(xiàng)屬性,這也是方便了在實(shí)現(xiàn)階段選擇題在網(wǎng)站上的顯示問(wèn)題。除了選擇題實(shí)體外,填空題實(shí)體多了
51、一個(gè)空格數(shù)的屬性,為了計(jì)算填空題的分值。</p><p> 圖4-5 選擇題實(shí)體的E-R圖</p><p><b> 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)</b></p><p> 根據(jù)4.2節(jié)的數(shù)據(jù)庫(kù)概念設(shè)計(jì),可以出創(chuàng)建與實(shí)體對(duì)應(yīng)的數(shù)據(jù)庫(kù)表。在創(chuàng)建數(shù)據(jù)庫(kù)表之后,還可以為相應(yīng)的數(shù)據(jù)庫(kù)表創(chuàng)建關(guān)系,詳見(jiàn)4.3.2。</p><p> 4.
52、3.1 數(shù)據(jù)庫(kù)表的結(jié)構(gòu)</p><p> 本網(wǎng)站的數(shù)據(jù)庫(kù)表一共為17張,以下給出完整的表結(jié)構(gòu)。</p><p> 用戶(hù)信息表(users)</p><p> 表4-1 users表的結(jié)構(gòu)</p><p> 教師表(teacher)</p><p> 表4-2 teacher表的結(jié)構(gòu)</p>&
53、lt;p> 學(xué)生表(student)</p><p> 表4-3 student表的結(jié)構(gòu)</p><p> 論壇類(lèi)別信息表(bbs_class)</p><p> 表4-4 bbs_class表的結(jié)構(gòu)</p><p> 版面信息表(bbs_board)</p><p> 表4-5 bbs_board表
54、的結(jié)構(gòu)</p><p> 貼子信息表(bbs_root)</p><p> 表4-6 bbs_root表的結(jié)構(gòu)</p><p> 跟帖信息表(bbs_answer)</p><p> 表4-7 bbs_answer表的結(jié)構(gòu)</p><p> 選擇題表(choose)</p><p>
55、 表4-8 choose表的結(jié)構(gòu)</p><p> 填空題表(blank)</p><p> 表4-9 blank表的結(jié)構(gòu)</p><p> 判斷題表(judge)</p><p> 表4-10 judge表的結(jié)構(gòu)</p><p> 簡(jiǎn)答題表(answer)</p><p> 表4-
56、11 answer表的結(jié)構(gòu)</p><p> 設(shè)計(jì)題表(design)</p><p> 表4-12 design表的結(jié)構(gòu)</p><p> 綜合題表(essay)</p><p> 表4-13 essay表的結(jié)構(gòu)</p><p> 練習(xí)表(exercise)</p><p> 表4
57、-14 exercise表的結(jié)構(gòu)</p><p> 練習(xí)題目得分表(exerciseScore)</p><p> 表4-15 exerciseScore表的結(jié)構(gòu)</p><p> 教師評(píng)閱表(mark)</p><p> 表4-16 mark表的結(jié)構(gòu)</p><p> 題目表(questions)</
58、p><p> 表 4-17 questions表的結(jié)構(gòu)</p><p> 4.3.2 數(shù)據(jù)表之間的關(guān)系設(shè)計(jì)</p><p> 本網(wǎng)站設(shè)計(jì)如上20張數(shù)據(jù)庫(kù)表,bbs討論區(qū)數(shù)據(jù)庫(kù)表之間的關(guān)系如圖4-6所示,在線練習(xí)區(qū)數(shù)據(jù)庫(kù)表之間的關(guān)系如圖4-7所示。</p><p> 圖4-6 bbs討論區(qū)數(shù)據(jù)庫(kù)表之間的關(guān)系</p><
59、p> 圖4-7 在線練習(xí)區(qū)數(shù)據(jù)庫(kù)表之間的關(guān)系</p><p><b> 具體設(shè)計(jì)</b></p><p> 在線練習(xí)系統(tǒng)是本次畢業(yè)設(shè)計(jì)的一個(gè)亮點(diǎn),也是本次畢業(yè)設(shè)計(jì)的一個(gè)難點(diǎn)。</p><p> 在線練習(xí)系統(tǒng)應(yīng)包括網(wǎng)上作業(yè)提交系統(tǒng)和在線作業(yè)批改分析系統(tǒng)。不同于目前許多僅是發(fā)布信息和提供資料下載的靜態(tài)課程網(wǎng)站,本課程的網(wǎng)上作業(yè)系統(tǒng)提供
60、了學(xué)生之間、師生之間的短消息平臺(tái)和BBS平臺(tái),可以實(shí)現(xiàn)師生之間全互動(dòng)的網(wǎng)上交流。目前課程所有教學(xué)活動(dòng)均可在網(wǎng)上進(jìn)行,取消了紙質(zhì)作業(yè),大大提高了效率,也便于優(yōu)質(zhì)教學(xué)資源的積累[10]。</p><p><b> 界面設(shè)計(jì)</b></p><p> 本網(wǎng)站所使用的主要頁(yè)面文件的信息如表5-1所示:</p><p> 表5-1 頁(yè)面文件信息&l
61、t;/p><p> 它們之間的關(guān)系如圖5-1所示。</p><p> 圖5-1 各頁(yè)面之間的關(guān)系圖</p><p><b> 詳細(xì)的模塊設(shè)計(jì)</b></p><p> 5.2.1 登錄界面</p><p> 用戶(hù)只有通過(guò)了這個(gè)模塊的驗(yàn)證之后,才能進(jìn)入系統(tǒng),并完成自己的操作等。登錄界面的效果
62、圖如圖5-2所示。該過(guò)程通過(guò)loginResult這個(gè)Servlet對(duì)用戶(hù)所輸入的用戶(hù)名與密碼進(jìn)行驗(yàn)證。</p><p> 圖5-2 登錄界面的效果圖</p><p> 5.2.2 資料區(qū)</p><p> 該區(qū)是學(xué)生或老師登錄網(wǎng)站后進(jìn)入的第一個(gè)頁(yè)面,網(wǎng)頁(yè)上提供了少量的課程資料的下載,登錄后的效果如圖5-3所示。學(xué)生用戶(hù)在該頁(yè)面可以下載到教師上課用的PPT之
63、類(lèi)的課程資料。</p><p> 圖5-3 資料區(qū)的效果圖</p><p> 5.2.3 BBS討論區(qū)</p><p> BBS討論區(qū)是教師與學(xué)生間很好的一個(gè)溝通平臺(tái),研究問(wèn)題并討論問(wèn)題等等。改區(qū)的文章分類(lèi),按層次分,分別是論壇類(lèi)別、論壇版面、帖子和跟帖。BBS討論區(qū)首頁(yè)效果圖如圖5-4所示,發(fā)布文章頁(yè)面的效果圖如5-5所示。</p><
64、p> 圖5-4 BBS討論區(qū)首頁(yè)的效果圖</p><p> 圖5-5 文章發(fā)布頁(yè)面</p><p> 5.2.4 個(gè)人信息與密碼修改</p><p> 個(gè)人信息與密碼的修改頁(yè)面的效果圖分別如圖5-6、5-7所示。</p><p> 圖5-6 個(gè)人信息頁(yè)面的效果圖</p><p> 圖5-7 密碼修改
65、頁(yè)面的效果圖</p><p> 5.2.5 數(shù)據(jù)庫(kù)表查詢(xún)界面</p><p> 當(dāng)管理員要針對(duì)數(shù)據(jù)庫(kù)中某張表、某些記錄、或者某條記錄進(jìn)行操作時(shí),可以先通過(guò)數(shù)據(jù)庫(kù)表查詢(xún)頁(yè)面進(jìn)行查詢(xún),然后修改、刪除、添加。頁(yè)面效果圖如圖5-8所示。圖5-9是針對(duì)數(shù)據(jù)庫(kù)中的學(xué)生表進(jìn)行查詢(xún)后得到的結(jié)果,頁(yè)面上管理員可以進(jìn)行批量的刪除,逐一的添加與修改。</p><p> 圖5-8
66、數(shù)據(jù)庫(kù)表查詢(xún)界面的效果圖</p><p> 圖5-9 對(duì)學(xué)生表進(jìn)行查詢(xún)后的結(jié)果</p><p> 5.2.6 批量處理界面</p><p> 系統(tǒng)未設(shè)置注冊(cè)界面,為了方便管理員添加用戶(hù),特為用戶(hù)開(kāi)辟了這個(gè)界面,管理員可以通過(guò)上傳txt文檔來(lái)添加多個(gè)用戶(hù),txt文檔要每一行都要包含一個(gè)用戶(hù)id。效果圖如圖5-10所示。</p><p>
67、 圖5-10 批量處理界面的效果圖</p><p> 5.2.7 在線練習(xí)區(qū)</p><p> 用戶(hù)可以通過(guò)選擇試卷難度來(lái)選擇相應(yīng)的練習(xí)試卷,練習(xí)試卷的題型、個(gè)數(shù)、分值如表2所示。在線練習(xí)區(qū)的效果圖如圖5-11所示。生成練習(xí)試卷后的界面效果圖如圖5-12所示。</p><p> 表5-2 練習(xí)試卷的組成情況</p><p> 圖5
68、-11 在線練習(xí)區(qū)首頁(yè)的效果圖</p><p> 圖5-12 學(xué)生在線練習(xí)頁(yè)面的效果圖</p><p><b> 關(guān)鍵問(wèn)題實(shí)現(xiàn)</b></p><p> 5.3.1 中文亂碼處理</p><p> 使用Myeclipse時(shí)最需要解決的就是中文亂碼問(wèn)題,解決亂碼的方法有很多,我選擇的是使用filter(過(guò)濾器)與
69、一些Tomcat的配置。Filter其實(shí)是一個(gè)Servlet,我建立了一個(gè)CharacterEncodingFilter類(lèi),它的代碼如下:</p><p> import java.io.IOException;</p><p> import javax.servlet.*;</p><p> import javax.servlet.http.HttpSe
70、rvletRequest;</p><p> import javax.servlet.http.HttpServletResponse;</p><p> public final class CharacterEncodingFilter implements Filter</p><p><b> {</b></p>
71、<p> public CharacterEncodingFilter()</p><p><b> {</b></p><p> encoding = "utf-8";</p><p> ignore = false;</p><p><b> }</b>&
72、lt;/p><p> public void init(FilterConfig config)</p><p><b> {</b></p><p> if (config.getInitParameter("encoding") != null)</p><p> encoding = con
73、fig.getInitParameter("encoding");</p><p> if (config.getInitParameter("ignore") != null)</p><p> ignore = (new Boolean(config.getInitParameter("ignore")))</p&g
74、t;<p> .booleanValue();</p><p><b> }</b></p><p> public void doFilter(ServletRequest request, ServletResponse response,</p><p> FilterChain chain) throws IOEx
75、ception, ServletException</p><p><b> {</b></p><p> HttpServletRequest req = (HttpServletRequest) request;</p><p> HttpServletResponse res = (HttpServletResponse) resp
76、onse;</p><p> if (!ignore)</p><p><b> {</b></p><p> req.setCharacterEncoding(encoding);</p><p> res.setCharacterEncoding(encoding);</p><p>
77、<b> }</b></p><p> chain.doFilter(request, response);</p><p><b> }</b></p><p> public void destroy()</p><p><b> {</b></p>
78、<p><b> }</b></p><p> private String encoding;</p><p> private boolean ignore;</p><p><b> }</b></p><p> Web.xml中的配置代碼如下:</p>&
79、lt;p><b> <filter></b></p><p> <filter-name>Set Character Encoding</filter-name></p><p> <filter-class>sino.servlet.CharacterEncodingFilter</filter-cl
80、ass></p><p> <init-param></p><p> <param-name>encoding</param-name></p><p> <param-value>UTF-8</param-value></p><p> </init-para
81、m></p><p><b> </filter></b></p><p> <!-- 過(guò)濾所有的jsp文件 --></p><p> <filter-mapping></p><p> <filter-name>Set Character Encoding&
82、lt;/filter-name></p><p> <url-pattern>*.jsp</url-pattern></p><p> </filter-mapping></p><p> <!-- 過(guò)濾所有的servlet文件 --></p><p> <filter-ma
83、pping></p><p> <filter-name>Set Character Encoding</filter-name></p><p> <url-pattern>/*</url-pattern></p><p> </filter-mapping></p><
84、p> 以上的代碼能解決表單以post方式提交的亂碼問(wèn)題,要解決get方式的亂碼問(wèn)題,就需要給tomcat安裝目錄下的conf文件下的server.xml文件中的<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
85、;中加上URIEncoding="UTF-8"即可。</p><p> 5.3.2 連接數(shù)據(jù)庫(kù)</p><p> 該網(wǎng)站中比較基本的一個(gè)功能,也是缺不得的一個(gè)功能,我建立了CreateConnectionSQL類(lèi)來(lái)實(shí)現(xiàn)連接數(shù)據(jù)的操作。其中設(shè)立了一些常量:</p><p> private final static String DATAB
86、ASE = "test";</p><p> private final static String DRIVERNAME = "com.microsoft.jdbc.sqlserver.SQLServerDriver";</p><p> private final static String URL = "jdbc:microsof
87、t:sqlserver://localhost:1433;DatabaseName=" + DATABASE;</p><p> privatefinal static String USERNAME = "sa";</p><p> private final static String USERPASSWORD = "";<
88、/p><p> private static ResultSet rs;</p><p> private static Statement st;</p><p> 建立數(shù)據(jù)庫(kù)連接的代碼如下所示:</p><p><b> try</b></p><p><b> {</b
89、></p><p> Class.forName(DRIVERNAME).newInstance();</p><p> Connection conn = DriverManager.getConnection(URL, USERNAME, USERPASSWORD);</p><p> st = conn.createStatement();<
90、/p><p><b> }</b></p><p> catch (Exception e)</p><p><b> {</b></p><p> e.printStackTrace();</p><p><b> }</b></p>
91、<p><b> 關(guān)閉數(shù)據(jù)庫(kù)的代碼:</b></p><p> st.close();</p><p> conn.close();</p><p> 其中還需要注意的就是當(dāng)使用Statement的executeQuery(String Statment)方法對(duì)數(shù)據(jù)庫(kù)表進(jìn)行查詢(xún)時(shí),變量Statement記錄用戶(hù)的SQL語(yǔ)句
92、,需要注意SQL語(yǔ)句中什么時(shí)候要保留英文單引號(hào),不然查詢(xún)數(shù)據(jù)庫(kù)表時(shí)容易出現(xiàn)異常。</p><p> 5.3.3 自動(dòng)編號(hào)</p><p> 數(shù)據(jù)庫(kù)表中有很多的id需要自動(dòng)編號(hào),其中有一些問(wèn)題也是需要解決的,特別是碰到有些記錄被刪除的數(shù)據(jù)庫(kù)表時(shí)。例如數(shù)據(jù)庫(kù)表中原有id為1、2、3、4的記錄,記錄2被用戶(hù)刪除后,用戶(hù)要向該數(shù)據(jù)庫(kù)表添加數(shù)據(jù),此時(shí)要實(shí)現(xiàn)的是插入的記錄id號(hào)應(yīng)該為2,而不是為
93、5,這才是真正的自動(dòng)編號(hào)。以下是我實(shí)現(xiàn)自動(dòng)編號(hào)中如何獲取已被刪除記錄id的代碼:</p><p> int id = 1;</p><p> //查詢(xún)bbs_root表,獲得記錄保存在變量rs中</p><p> ResultSet rs = CreateConnectionSQL.CreateConnectionTable("bbs_root&qu
94、ot;);</p><p> ArrayList<Integer> list = new ArrayList<Integer>();</p><p><b> try</b></p><p><b> {</b></p><p> //判斷rs是否為空</p&g
95、t;<p> if (!rs.wasNull())</p><p><b> {</b></p><p> //rs的指針下移,返回是否為空</p><p> while(rs.next())</p><p><b> {</b></p><p>
96、//獲得數(shù)據(jù)庫(kù)表的id</p><p> list.add(rs.getInt("id"));</p><p> //判斷id是否與記錄的行號(hào)相等,尋找被刪記錄的id</p><p> if(rs.getInt("id") != rs.getRow())</p><p><b> {&
97、lt;/b></p><p> id = rs.getRow();</p><p><b> break;</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {&
98、lt;/b></p><p> id = Collections.max(list) + 1;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b&g
99、t; }</b></p><p> catch (SQLException e)</p><p><b> {</b></p><p> // TODO Auto-generated catch block</p><p> e.printStackTrace();</p><
100、p><b> }</b></p><p> 5.3.4 批量增加用戶(hù)問(wèn)題</p><p> 批量增加用戶(hù)的功能主要由batchProcess這個(gè)Servlet實(shí)現(xiàn)的,主要是實(shí)現(xiàn)對(duì)txt文檔的逐行讀取,判斷每一行是否為空,再者就是對(duì)數(shù)據(jù)庫(kù)表進(jìn)行操作。它的完整代碼如下:</p><p> package sino.servlet;&
101、lt;/p><p> import java.io.BufferedReader;</p><p> import java.io.FileReader;</p><p> import java.io.IOException;</p><p> import java.sql.SQLException;</p><p
102、> import javax.servlet.RequestDispatcher;</p><p> import javax.servlet.ServletException;</p><p> import javax.servlet.http.HttpServlet;</p><p> import javax.servlet.http.Http
103、ServletRequest;</p><p> import javax.servlet.http.HttpServletResponse;</p><p> import sino.java.CreateConnectionSQL;</p><p> public class batchProcess extends HttpServlet</p&g
104、t;<p><b> {</b></p><p> private static final String A = "student";</p><p> private static final String B = "teacher";</p><p> private stat
105、ic final String C = "users";</p><p> private static final String D = "prefession";</p><p> private static final String E = "classNumber";</p><p> pu
106、blic void doGet(HttpServletRequest request, HttpServletResponse response)</p><p> throws ServletException, IOException</p><p><b> {</b></p><p> String tableName = req
107、uest.getParameter("tableName");</p><p> String path = request.getParameter("filename");</p><p> BufferedReader file = new BufferedReader(new FileReader(path)); </p>
108、<p> String m = ""; </p><p> String statement = "";</p><p> if(A.equals(tableName))</p><p><b> {</b></p><p> String prefessi
109、on = request.getParameter(D);</p><p> String classNumber = request.getParameter(E);</p><p> while((m = file.readLine()) != null)</p><p><b> {</b></p><p>
110、 if (!m.equals("0")) //文本結(jié)束的標(biāo)志 </p><p><b> { </b></p><p> if (!m.equals("")) //不需要讀取空行 </p><p><b> { </b></p><p>
111、;<b> try</b></p><p><b> {</b></p><p> statement = "insert into " + C</p><p> + "(id,password,kind)" + " VALUES('" + m +
112、 "','" + m + "','" + tableName + "')";</p><p> CreateConnectionSQL.workStatement(statement);</p><p> statement = "UPDATE " + tableNa
113、me </p><p> + " SET prefession='" + prefession + "',classNumber='" + classNumber + "'" </p><p> + " where id='" + m + "'&qu
114、ot;;</p><p> CreateConnectionSQL.workStatement(statement);</p><p><b> }</b></p><p> catch (SQLException e)</p><p><b> {</b></p><p
115、> // TODO Auto-generated catch block</p><p> e.printStackTrace();</p><p><b> }</b></p><p><b> } </b></p><p><b> } </b>&l
116、t;/p><p><b> }</b></p><p><b> }</b></p><p> else if(B.equals(tableName))</p><p><b> {</b></p><p> while((m = file.rea
117、dLine()) != null)</p><p><b> {</b></p><p> if (!m.equals("0")) //文本結(jié)束的標(biāo)志 </p><p><b> { </b></p><p> if (!m.equals(""
118、)) //不需要讀取空行 </p><p><b> { </b></p><p> statement = "INSERT INTO " + C</p><p> +"(id,password,kind)" </p><p> + " VALUES(
119、39;" + m + "','" + m + "','" + tableName +"')";</p><p><b> try</b></p><p><b> {</b></p><p> CreateC
120、onnectionSQL.workStatement(statement);</p><p><b> }</b></p><p> catch (SQLException e)</p><p><b> {</b></p><p> // TODO Auto-generated catch
121、 block</p><p> e.printStackTrace();</p><p><b> }</b></p><p><b> } </b></p><p><b> } </b></p><p><b> }<
122、;/b></p><p><b> }</b></p><p> RequestDispatcher dispatcher = request.getRequestDispatcher("doSuccess.jsp");</p><p> dispatcher.forward(request, response)
123、;</p><p><b> }</b></p><p> public void doPost(HttpServletRequest request, HttpServletResponse response)</p><p> throws ServletException, IOException</p><p&
124、gt;<b> {</b></p><p> doGet(request, response);</p><p><b> }</b></p><p><b> }</b></p><p> 5.3.5 練習(xí)試卷生成問(wèn)題</p><p>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程網(wǎng)站—數(shù)據(jù)庫(kù)原理與應(yīng)用【畢業(yè)論文】
- 課程網(wǎng)站—數(shù)據(jù)庫(kù)原理與應(yīng)用畢業(yè)論文.doc
- 數(shù)據(jù)庫(kù)原理畢業(yè)論文
- 數(shù)據(jù)庫(kù)原理課程網(wǎng)站設(shè)計(jì)【畢業(yè)論文+文獻(xiàn)綜述+開(kāi)題報(bào)告+任務(wù)書(shū)】
- 數(shù)據(jù)庫(kù)原理課程網(wǎng)站設(shè)計(jì)[文獻(xiàn)綜述]
- 數(shù)據(jù)庫(kù)原理課程網(wǎng)站設(shè)計(jì)[開(kāi)題報(bào)告]
- 《數(shù)據(jù)庫(kù)系統(tǒng)原理》課程網(wǎng)站課程設(shè)計(jì)
- 數(shù)據(jù)庫(kù)原理課程網(wǎng)站設(shè)計(jì)[任務(wù)書(shū)]
- 數(shù)據(jù)庫(kù)設(shè)計(jì)畢業(yè)論文
- 《數(shù)據(jù)庫(kù)原理》課程設(shè)計(jì)報(bào)告---微博網(wǎng)站的數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)
- html課程網(wǎng)站—數(shù)據(jù)庫(kù)原理與應(yīng)用
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)論文收費(fèi)停車(chē)場(chǎng)管理系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)畢業(yè)論文
- 數(shù)據(jù)庫(kù)畢業(yè)論文
- 人才數(shù)據(jù)庫(kù)及網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--數(shù)據(jù)庫(kù)原理及應(yīng)用課程設(shè)計(jì)
- 2017畢業(yè)論文-數(shù)據(jù)庫(kù)原理與應(yīng)用實(shí)驗(yàn)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--數(shù)據(jù)庫(kù)系統(tǒng)原理
- 數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)
- 車(chē)之家商城的數(shù)據(jù)庫(kù)和網(wǎng)站設(shè)計(jì)【畢業(yè)論文】
- 《數(shù)據(jù)庫(kù)原理》課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論