版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(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> (20 屆)</b></p><p> 論文題目基于JSP的《面向?qū)ο蟪绦蛟O(shè)計(jì)》教學(xué)網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)</p><p> 所在學(xué)院 </p><p> 專業(yè)班級(jí) 計(jì)算機(jī)科學(xué)與技
2、術(shù) </p><p> 學(xué)生姓名 學(xué)號(hào) </p><p> 指導(dǎo)教師 職稱 </p><p> 完成日期 年 月 日</p><p><b> 誠(chéng) 信 聲 明</b><
3、/p><p> 我聲明,所呈交的畢業(yè)設(shè)計(jì)作品和論文是本人經(jīng)過近四年的基礎(chǔ)課程與專業(yè)課程學(xué)習(xí)的基礎(chǔ)上,在指導(dǎo)老師的指導(dǎo)下,經(jīng)過幾個(gè)月集中的畢業(yè)設(shè)計(jì)學(xué)習(xí)、實(shí)踐和努力工作所取得的成果。據(jù)本人查證,除了文中特別加以標(biāo)注和致謝的地方外,設(shè)計(jì)作品和論文中不包含其他人已經(jīng)發(fā)表或撰寫過的研究成果。我承諾,設(shè)計(jì)作品和論文中的所有內(nèi)容均真實(shí)、可信。</p><p> 學(xué)生簽名: &l
4、t;/p><p><b> 簽名日期:</b></p><p><b> 論文目錄</b></p><p> 摘 要錯(cuò)誤!未定義書簽。</p><p> Abstract錯(cuò)誤!未定義書簽。</p><p> 1 引言錯(cuò)誤!未定義書簽。</p><
5、;p> 2 網(wǎng)站建設(shè)的基本理論知識(shí)錯(cuò)誤!未定義書簽。</p><p> 2.1 jsp的定義錯(cuò)誤!未定義書簽。</p><p> 2.2mysql的基本知識(shí)錯(cuò)誤!未定義書簽。</p><p> 2.2.1………錯(cuò)誤!未定義書簽。</p><p> 2.2.2………錯(cuò)誤!未定義書簽。</p><p&
6、gt; 3 設(shè)計(jì)的主體內(nèi)容錯(cuò)誤!未定義書簽。</p><p> 3.1 系統(tǒng)結(jié)構(gòu)的設(shè)計(jì)錯(cuò)誤!未定義書簽。</p><p> 3.2交互界面的設(shè)計(jì)和實(shí)現(xiàn)錯(cuò)誤!未定義書簽。</p><p> 3.3 線性表的00P序設(shè)計(jì)錯(cuò)誤!未定義書簽。</p><p> 3.3.1線性表的順序存儲(chǔ)的實(shí)現(xiàn)錯(cuò)誤!未定義書簽。</p>
7、<p> 3.3.2 線性表的鏈表存儲(chǔ)的實(shí)現(xiàn)錯(cuò)誤!未定義書簽。</p><p> 4 結(jié)果分析與討論錯(cuò)誤!未定義書簽。</p><p> 5 總結(jié)錯(cuò)誤!未定義書簽。</p><p> 致 謝錯(cuò)誤!未定義書簽。</p><p> [參考文獻(xiàn)]錯(cuò)誤!未定義書簽。</p><p> 附錄2
8、:測(cè)試報(bào)告錯(cuò)誤!未定義書簽。</p><p> 附錄3:作品說明書錯(cuò)誤!未定義書簽。</p><p><b> 摘 要</b></p><p> “jsp技術(shù)和mysql數(shù)據(jù)庫(kù)”是常用的網(wǎng)站開發(fā)方法。在面向?qū)ο笏枷牒图夹g(shù)的指導(dǎo)下,采用面向?qū)ο蟮木幊陶Z(yǔ)言(java)和面向?qū)ο蟮木幊坦ぞ撸╩yeclipse8.5)開發(fā)出來的網(wǎng)站。JSP技
9、術(shù)使用Java編程語(yǔ)言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁(yè)的處理邏輯。網(wǎng)頁(yè)還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁(yè)邏輯與網(wǎng)頁(yè)設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。同時(shí)利用mysq輕量級(jí)數(shù)據(jù)庫(kù)作為數(shù)據(jù)庫(kù)方便開發(fā)并免費(fèi)使用,大大降低了成本和開發(fā)難度。 </p><p> 本網(wǎng)站是基于JSP平臺(tái)開
10、發(fā)與設(shè)計(jì)的,網(wǎng)站的主要功能就是實(shí)現(xiàn)學(xué)生與教師之間在教學(xué)領(lǐng)域的有效溝通,以便各方在教與學(xué)的方面做得快捷和簡(jiǎn)潔。網(wǎng)站的主題包括課程情況、教學(xué)團(tuán)隊(duì)、教學(xué)管理、教學(xué)研究、教學(xué)成果、學(xué)習(xí)空間、資源下載、師生互動(dòng)等幾個(gè)方面。</p><p> 該課程網(wǎng)站要求從學(xué)生的角度出發(fā),針對(duì)課程的特點(diǎn),將教學(xué)過程中的特色、學(xué)生作品等進(jìn)行很好的展現(xiàn)。</p><p> 關(guān)鍵詞:jsp,面向?qū)ο螅虒W(xué),交流<
11、;/p><p><b> Abstract</b></p><p> “Jsp structures algorithm way design with play to show( C++)” is a small application developed by object-oriented program language C++ and object-orie
12、nted program tool Borland C++ Builder 6.0, and at the same time under the leading of object-oriented thought and technical. Its main function is encapsulating the typical algorithm way and data structures of linked list,
13、 stacks, queues, tree, search, graphs and sort to class by object-oriented way, and using class’s outward interface and the messag</p><p> Key Words:data structures, object-oriented, visual, algorithm way,
14、 class</p><p><b> 1 引言</b></p><p> 《面向?qū)ο蟪绦蛟O(shè)計(jì)》教學(xué)網(wǎng)站是為計(jì)算機(jī)專業(yè)師生服務(wù)的網(wǎng)站。本課題旨培養(yǎng)學(xué)生在JSP環(huán)境中進(jìn)行網(wǎng)站建設(shè)、Web編程的能力。</p><p> 21世紀(jì)是人類全面進(jìn)入信息化社會(huì)的新世紀(jì),隨著多媒體技術(shù)的日益成熟和普及,多媒體技術(shù)在網(wǎng)絡(luò)教學(xué)中的應(yīng)用也越累越普及,它已經(jīng)成
15、為計(jì)算機(jī)教學(xué)的一個(gè)重要組成部分,也給教育帶來了革命性的變革。</p><p> 教育信息化是教育中普片運(yùn)用現(xiàn)代信息技術(shù),開發(fā)教育資源,優(yōu)化教育過程,以培養(yǎng)和提高大學(xué)生的信息素養(yǎng),促進(jìn)教育現(xiàn)代化的過程。</p><p> 2網(wǎng)站建設(shè)的基本理論知識(shí)</p><p> 2.1 jsp的定義</p><p> JSP(Java Server
16、Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點(diǎn)類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁(yè)HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件(*.jsp)。 用JSP開發(fā)的Web應(yīng)用是跨平臺(tái)的,既能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。</p><p> JSP技術(shù)使用Ja
17、va編程語(yǔ)言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁(yè)的處理邏輯。網(wǎng)頁(yè)還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁(yè)邏輯與網(wǎng)頁(yè)設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易</p><p> 2.2 mysql的基本知識(shí)</p><p> SQL是一種關(guān)聯(lián)數(shù)據(jù)庫(kù)管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫(kù)將數(shù)據(jù)
18、保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)內(nèi)。這樣就增加了速度并提高了靈活性。MySQL的SQL“結(jié)構(gòu)化查詢語(yǔ)言”。SQL是用于訪問數(shù)據(jù)庫(kù)的最常用標(biāo)準(zhǔn)化語(yǔ)言。MySQL軟件采用了GPL(GNU通用公共許可證)。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。</p><p> 2.3tomcat的基本知識(shí)</p&g
19、t;<p> tomcat運(yùn)行時(shí)占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的改進(jìn)和完善中,任何一個(gè)感興趣的程序員都可以更改它或在其中加入新的功能。</p><p> 它是一個(gè)輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場(chǎng)合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選。對(duì)于一個(gè)初學(xué)者來說,可以這樣認(rèn)為,當(dāng)在一臺(tái)機(jī)器上配置好Apache 服務(wù)
20、器,可利用它響應(yīng)對(duì)HTML 頁(yè)面的訪問請(qǐng)求。</p><p><b> 3 設(shè)計(jì)的主體內(nèi)容</b></p><p> 3.1 系統(tǒng)結(jié)構(gòu)的設(shè)計(jì)</p><p> 3.2交互界面的設(shè)計(jì)和實(shí)現(xiàn)</p><p><b> 3.2.1主界面</b></p><p><b&
21、gt; 圖 3-2-1</b></p><p> 搭建好服務(wù)器輸入127.0.0.1,進(jìn)入教學(xué)管理系統(tǒng)主界面。主界面是最近發(fā)布的文章,可以點(diǎn)擊進(jìn)入查看。</p><p><b> 3.2.2課程情況</b></p><p><b> 圖3-2-2</b></p><p> 點(diǎn)擊
22、上方導(dǎo)航欄:Kechengqingkuang進(jìn)入課程情況界面,這里顯示了本門課的課程基本情況,學(xué)生可以通過此頁(yè)面了解一些課程相關(guān)信息。</p><p><b> 3.2.3教學(xué)團(tuán)隊(duì)</b></p><p><b> 圖 3-2-3</b></p><p> 點(diǎn)擊上方導(dǎo)航欄:techgroup進(jìn)入教學(xué)團(tuán)隊(duì)界面,在此頁(yè)面
23、可以查看本門課的教學(xué)情況。供學(xué)生了解老師,這樣才能更好的達(dá)到師生互信,增加認(rèn)識(shí),為課程的開始起個(gè)良好的頭。</p><p><b> 3.2.4教學(xué)管理</b></p><p><b> 圖 3-2-4</b></p><p> 點(diǎn)擊上方導(dǎo)航欄:teach guanli進(jìn)入教學(xué)管理界面,在此頁(yè)面教師可以發(fā)布一些教學(xué)信
24、息,比如下節(jié)課要上的內(nèi)容,這樣大家可以做好預(yù)習(xí)或者是其他一些信息,教師編輯教學(xué)信息后,暫時(shí)還沒信息會(huì)顯示一條條教學(xué)信息,點(diǎn)擊則可以查看教學(xué)信息。</p><p><b> 3.2.5教學(xué)研究</b></p><p><b> 圖 3-2-5</b></p><p> 點(diǎn)擊上方導(dǎo)航欄:teach yanjiu進(jìn)入教學(xué)研
25、究界面,同樣教師可以在后臺(tái)添加管理教學(xué)研究。教學(xué)研究主要用于放置一些與課目有關(guān)的研究信息或是課外延展或是其他的信息,幫助學(xué)生更好的了解課程知識(shí),也是本網(wǎng)址的亮點(diǎn)之一。同樣教師在后臺(tái)編輯教學(xué)研究信息后,在暫時(shí)還沒有信息的地方會(huì)顯示一條條教學(xué)研究信息,點(diǎn)擊就可以查看教學(xué)研究。</p><p><b> 3.2.6教學(xué)成果</b></p><p><b> 圖
26、 3-2-6</b></p><p> 點(diǎn)擊上方導(dǎo)航欄:teach chengguo進(jìn)入教學(xué)成果界面,教學(xué)成果更多的是記錄教學(xué)的過程和結(jié)果,教師和學(xué)生可以一起研究一些問題并把問題的結(jié)果和經(jīng)過記錄下來,一來防止以后遺忘此外可以放置一些照片。多年之后回過頭來觀看還是那么的美好。</p><p><b> 3.2.7學(xué)習(xí)空間</b></p>&
27、lt;p><b> 圖 3-2-7</b></p><p> 點(diǎn)擊上方導(dǎo)航欄:study space進(jìn)入教學(xué)空間界面, 在此界面同樣放置一些信息學(xué)習(xí)信息。</p><p> 更多的是課內(nèi)的信息。</p><p><b> 3.2.8資源下載</b></p><p><b>
28、 圖 3-2-8</b></p><p> 點(diǎn)擊上方導(dǎo)航欄Download 進(jìn)入資源下載界面,此界面是用來提供教學(xué)中一些資源的下載,包括各種資料和一些常用工具。免得每屆學(xué)生一開始都到處找資料和各種工具。</p><p><b> 3.2.9師生互動(dòng)</b></p><p><b> 圖 3-2-9</b>
29、</p><p> 點(diǎn)擊上方導(dǎo)航欄Teacher And Students 進(jìn)入師生互動(dòng)界面,學(xué)習(xí)過程中難免都會(huì)有各種各樣的問題,這個(gè)時(shí)候便可以來師生互動(dòng)這里提交問題,老師可以給予解答,并且提問和解答都會(huì)通過郵箱發(fā)送給學(xué)生。</p><p> 3.2.10后臺(tái)登陸</p><p><b> 圖 3-2-10</b></p>
30、<p> 點(diǎn)擊前臺(tái)頁(yè)面最下方的管理進(jìn)入后臺(tái)登陸界面。輸入用戶名和密碼則進(jìn)入。初始的用戶名和密碼分別為admin和admin。</p><p> 3.2.11信息管理</p><p> 圖 3-2-11-1</p><p> 圖 3-2-11-2</p><p> 圖 3-2-11-3</p><p>
31、; 從后臺(tái)進(jìn)入信息管理界面之后,教師可以編輯各個(gè)欄目的信息。首先選擇要編輯的欄目如圖3-2-11-1,選擇欄目之后選擇要操作的信息進(jìn)行更新或刪除如圖3-2-11-2,也可以進(jìn)行添加。之后就是編輯狀態(tài)如圖3-2-11-3。在此界面可以編輯各個(gè)信息進(jìn)行發(fā)布。</p><p> 3.3 課程網(wǎng)站設(shè)計(jì)</p><p> 本課程采用jsp和mysql制作設(shè)計(jì),采用盡量少的表做儲(chǔ)存更多的事情,并
32、具有很好的延展性和可維護(hù)性。</p><p> 3.3.1數(shù)據(jù)庫(kù)設(shè)計(jì)</p><p><b> 1.用戶表</b></p><p> 用戶表,用來儲(chǔ)存用戶信息和教師信息。用classid表示不同類型的用戶。</p><p><b> 2.欄目表</b></p><p>
33、; 包含不同的欄目,每個(gè)導(dǎo)航欄中的欄目就是這里的一條,可以通過修改欄目名稱改變欄目的名稱。</p><p><b> 3.文章表</b></p><p> 教師發(fā)布的所有信息都儲(chǔ)存在這張表里,不同的用戶不同的欄目中的文章。</p><p> 3.3.2 詳細(xì)設(shè)計(jì)實(shí)現(xiàn)(主要代碼)</p><p><b>
34、 1.數(shù)據(jù)庫(kù)連接</b></p><p> package news.database;</p><p> import java.sql.*;</p><p> import news.database.DBConnectionManager;</p><p> public class DBConnect {<
35、/p><p> private Connection conn = null;</p><p> private Statement stmt = null;</p><p> private PreparedStatement prepstmt = null;</p><p> private DBConnectionManager d
36、cm=null;</p><p> void init() {</p><p> dcm = DBConnectionManager.getInstance();</p><p> conn = dcm.getConnection("mysql");</p><p><b> }</b><
37、;/p><p><b> /**</b></p><p> * 構(gòu)造數(shù)據(jù)庫(kù)的連接和訪問類</p><p><b> */</b></p><p> public DBConnect() throws Exception {</p><p><b> init(
38、);</b></p><p> stmt = conn.createStatement();</p><p><b> }</b></p><p> public DBConnect(int resultSetType, int resultSetConcurrency)</p><p> throw
39、s Exception {</p><p><b> init();</b></p><p> stmt = conn.createStatement(resultSetType, resultSetConcurrency);</p><p><b> }</b></p><p><b&
40、gt; /**</b></p><p> * 構(gòu)造數(shù)據(jù)庫(kù)的連接和訪問類</p><p> * 預(yù)編譯SQL語(yǔ)句</p><p> * @param sql SQL語(yǔ)句</p><p><b> */</b></p><p> public DBConnect(String
41、sql) throws Exception {</p><p><b> init();</b></p><p> this.prepareStatement(sql);</p><p><b> }</b></p><p> public DBConnect(String sql, int
42、 resultSetType, int resultSetConcurrency)</p><p> throws Exception {</p><p><b> init();</b></p><p> this.prepareStatement(sql, resultSetType, resultSetConcurrency);&l
43、t;/p><p><b> }</b></p><p><b> /**</b></p><p><b> * 返回連接</b></p><p> * @return Connection 連接</p><p><b> */</b
44、></p><p> public Connection getConnection() {</p><p> return conn;</p><p><b> }</b></p><p><b> /**</b></p><p> * PreparedSt
45、atement</p><p> * @return sql 預(yù)設(shè)SQL語(yǔ)句</p><p><b> */</b></p><p> public void prepareStatement(String sql) throws SQLException {</p><p> prepstmt = conn.p
46、repareStatement(sql);</p><p><b> }</b></p><p> public void prepareStatement(String sql, int resultSetType, int resultSetConcurrency)</p><p> throws SQLException {<
47、/p><p> prepstmt = conn.prepareStatement(sql, resultSetType, resultSetConcurrency);</p><p><b> }</b></p><p><b> /**</b></p><p><b> * 設(shè)置對(duì)應(yīng)
48、值</b></p><p><b> *</b></p><p> * @param index 參數(shù)索引</p><p> * @param value 對(duì)應(yīng)值</p><p><b> */</b></p><p> public void setS
49、tring(int index,String value) throws SQLException {</p><p> prepstmt.setString(index, value);</p><p><b> }</b></p><p> public void setInt(int index,int value) throws
50、SQLException {</p><p> prepstmt.setInt(index,value);</p><p><b> }</b></p><p> public void setBoolean(int index,boolean value) throws SQLException {</p><p&g
51、t; prepstmt.setBoolean(index,value);</p><p><b> }</b></p><p> public void setDate(int index,Date value) throws SQLException {</p><p> prepstmt.setDate(index,value);&
52、lt;/p><p><b> }</b></p><p> public void setLong(int index,long value) throws SQLException {</p><p> prepstmt.setLong(index,value);</p><p><b> }</b
53、></p><p> public void setFloat(int index,float value) throws SQLException {</p><p> prepstmt.setFloat(index,value);</p><p><b> }</b></p><p> public v
54、oid setBytes(int index,byte[] value) throws SQLException{</p><p> prepstmt.setBytes(index,value);</p><p><b> }</b></p><p> public void clearParameters()</p>&l
55、t;p> throws SQLException</p><p><b> {</b></p><p> prepstmt.clearParameters();</p><p> prepstmt=null;</p><p><b> }</b></p><p&g
56、t;<b> /**</b></p><p><b> * 返回預(yù)設(shè)狀態(tài)</b></p><p><b> */</b></p><p> public PreparedStatement getPreparedStatement() {</p><p> retur
57、n prepstmt;</p><p><b> }</b></p><p><b> /**</b></p><p><b> * 返回狀態(tài)</b></p><p> * @return Statement 狀態(tài)</p><p><b&g
58、t; */</b></p><p> public Statement getStatement() {</p><p> return stmt;</p><p><b> }</b></p><p><b> /**</b></p><p> *
59、執(zhí)行SQL語(yǔ)句返回字段集</p><p> * @param sql SQL語(yǔ)句</p><p> * @return ResultSet 字段集</p><p><b> */</b></p><p> public ResultSet executeQuery(String sql) throws SQLEx
60、ception {</p><p> if (stmt != null) {</p><p> return stmt.executeQuery(sql);</p><p><b> }</b></p><p> else return null;</p><p><b> }
61、</b></p><p> public ResultSet executeQuery() throws SQLException {</p><p> if (prepstmt != null) {</p><p> return prepstmt.executeQuery();</p><p><b> }&
62、lt;/b></p><p> else return null;</p><p><b> }</b></p><p><b> /**</b></p><p><b> * 執(zhí)行SQL語(yǔ)句</b></p><p> * @param
63、sql SQL語(yǔ)句</p><p><b> */</b></p><p> public void executeUpdate(String sql) throws SQLException {</p><p> if (stmt != null)</p><p> stmt.executeUpdate(sql
64、);</p><p><b> }</b></p><p> public void executeUpdate() throws SQLException {</p><p> if (prepstmt != null)</p><p> prepstmt.executeUpdate();</p>
65、<p><b> }</b></p><p><b> /**</b></p><p><b> * 關(guān)閉連接</b></p><p><b> */</b></p><p> public void close() throws E
66、xception {</p><p> if (stmt != null) {</p><p> stmt.close();</p><p> stmt = null;</p><p><b> }</b></p><p> if (prepstmt != null) {</p&
67、gt;<p> prepstmt.close();</p><p> prepstmt = null;</p><p><b> }</b></p><p> if (conn!=null)</p><p><b> {</b></p><p> d
68、cm.freeConnection("mysql",conn);</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> 2.各個(gè)欄目管理</b>
69、;</p><p> package news.news;</p><p> import news.database.DBConnect;</p><p> import news.news.*;</p><p> import news.util.*; </p><p> import java.sql.
70、*;</p><p> import java.util.*;</p><p> public class DispNews extends News{</p><p> public ResultSet rs;</p><p> public DispNews(){};</p><p><b>
71、/*</b></p><p> * 根據(jù)rootid得到某欄目所有信息</p><p><b> */</b></p><p> public Vector rootidToNews() {</p><p> DBConnect dbc = null;</p><p> Ve
72、ctor newsInfoVector = new Vector();</p><p><b> try{</b></p><p> dbc = new DBConnect();</p><p> dbc.prepareStatement("SELECT * FROM news WHERE rootid = ? order b
73、y id desc");</p><p> dbc.setInt(1,rootID);</p><p> rs = dbc.executeQuery();</p><p> while(rs.next()){</p><p> News news = new News();</p><p> new
74、s.setID(rs.getInt("id"));</p><p> news.setTopic(rs.getString("topic"));</p><p> news.setBody(rs.getString("body"));</p><p> news.setHits(rs.getInt(&
75、quot;hits"));</p><p> news.setAdddate(rs.getString("adddate"));</p><p> news.setAdduser(rs.getString("adduser"));</p><p> news.setRootID(rs.getInt("
76、rootid"));</p><p> news.setPic(rs.getString("pic"));</p><p> newsInfoVector.add(news);</p><p><b> }</b></p><p> }catch(Exception e){</
77、p><p> System.err.println(e);</p><p><b> }finally{</b></p><p><b> try{</b></p><p> dbc.close();</p><p> }catch(Exception e){</
78、p><p> e.printStackTrace();</p><p><b> }</b></p><p><b> }</b></p><p> return newsInfoVector;</p><p><b> }</b></p&g
79、t;<p><b> /*</b></p><p> * 根據(jù)ID得到欄目</p><p><b> */</b></p><p> public News idToNews() {</p><p> DBConnect dbc = null;</p><
80、p> News news = new News();</p><p><b> try{</b></p><p> dbc = new DBConnect();</p><p> dbc.prepareStatement("SELECT * FROM news WHERE id = ?");</p&g
81、t;<p> dbc.setInt(1,ID);</p><p> rs = dbc.executeQuery();</p><p> if(rs.next()){</p><p> news.setID(rs.getInt("id"));</p><p> news.setTopic(rs.get
82、String("topic"));</p><p> news.setBody(rs.getString("body"));</p><p> news.setHits(rs.getInt("hits"));</p><p> news.setAdddate(rs.getString("ad
83、ddate"));</p><p> news.setAdduser(rs.getString("adduser"));</p><p> news.setRootID(rs.getInt("rootid"));</p><p> news.setPic(rs.getString("pic"
84、));</p><p><b> }</b></p><p> }catch(Exception e){</p><p> System.err.println(e);</p><p><b> }finally{</b></p><p><b> try
85、{</b></p><p> dbc.close();</p><p> }catch(Exception e){</p><p> e.printStackTrace();</p><p><b> }</b></p><p><b> }</b>&l
86、t;/p><p> return news;</p><p><b> }</b></p><p><b> /*</b></p><p> * 查詢所有的欄目(按點(diǎn)擊數(shù)排序)</p><p><b> */</b></p><
87、p> public Vector allNews() {</p><p> DBConnect dbc = null;</p><p> Vector allNewsVector = new Vector();</p><p><b> try{</b></p><p> dbc = new DBCon
88、nect();</p><p> dbc.prepareStatement("SELECT * FROM news order by hits desc");</p><p> rs = dbc.executeQuery();</p><p> while(rs.next()){</p><p> News new
89、s = new News();</p><p> news.setID(rs.getInt("id"));</p><p> news.setTopic(rs.getString("topic"));</p><p> news.setBody(rs.getString("body"));</p
90、><p> news.setHits(rs.getInt("hits"));</p><p> news.setAdddate(rs.getString("adddate"));</p><p> news.setAdduser(rs.getString("adduser"));</p>&
91、lt;p> news.setRootID(rs.getInt("rootid"));</p><p> news.setPic(rs.getString("pic"));</p><p> allNewsVector.add(news);</p><p><b> }</b></p&g
92、t;<p> }catch(Exception e){</p><p> System.err.println("error:"+e);</p><p><b> }finally{</b></p><p><b> try{</b></p><p> d
93、bc.close();</p><p> }catch(Exception e){</p><p> e.printStackTrace();</p><p><b> }</b></p><p><b> }</b></p><p> return allNews
94、Vector;</p><p><b> }</b></p><p><b> /*</b></p><p> * 計(jì)算某類別欄目的總數(shù)</p><p><b> */</b></p><p> public int newsNum() {&l
95、t;/p><p> DBConnect dbc = null;</p><p> int newsCount = 0;</p><p><b> try{</b></p><p> dbc = new DBConnect();</p><p> dbc.prepareStatement(&
96、quot;SELECT count(*) FROM news WHERE rootid = ?");</p><p> dbc.setInt(1,rootID);</p><p> rs = dbc.executeQuery();</p><p> if(rs.next())newsCount = rs.getInt(1);</p>
97、<p> }catch(Exception e){</p><p> System.err.println(e);</p><p><b> }finally{</b></p><p><b> try{</b></p><p> dbc.close();</p>
98、<p> }catch(Exception e){</p><p> e.printStackTrace();</p><p><b> }</b></p><p><b> }</b></p><p> return newsCount;</p><p>
99、;<b> }</b></p><p><b> /*</b></p><p> * 計(jì)算某欄目的最大點(diǎn)擊數(shù)</p><p><b> */</b></p><p> public int maxHit() {</p><p> DBConn
100、ect dbc = null;</p><p> int maxhit = 0;</p><p><b> try{</b></p><p> dbc = new DBConnect();</p><p> dbc.prepareStatement("SELECT max(hits) FROM new
101、s");</p><p> rs = dbc.executeQuery();</p><p> if(rs.next())maxhit = rs.getInt(1);</p><p> }catch(Exception e){</p><p> System.err.println(e);</p><p
102、><b> }finally{</b></p><p><b> try{</b></p><p> dbc.close();</p><p> }catch(Exception e){</p><p> e.printStackTrace();</p><p&g
103、t;<b> }</b></p><p><b> }</b></p><p> return maxhit;</p><p><b> }</b></p><p> public String search;</p><p> public
104、 String getSearch(){</p><p> return search;</p><p><b> }</b></p><p> public void setSearch(String s){</p><p> this.search = s;</p><p><b
105、> }</b></p><p><b> /*</b></p><p> * 根據(jù)條件在所有的欄目中查詢</p><p><b> */</b></p><p> public Vector searchNews() {</p><p> DBC
106、onnect dbc = null;</p><p> Vector searchNewsInfoVector = new Vector();</p><p><b> try{</b></p><p> dbc = new DBConnect();</p><p> dbc.prepareStatement(
107、"SELECT * FROM news WHERE topic like ? order by id desc");</p><p> //dbc.setBytes(1,search.getBytes("GB2312"));</p><p> dbc.setBytes(1,("%"+search+"%").
108、getBytes("utf-8"));</p><p> rs = dbc.executeQuery();</p><p> while(rs.next()){</p><p> News news = new News();</p><p> news.setID(rs.getInt("id"
109、));</p><p> news.setTopic(rs.getString("topic"));</p><p> news.setBody(rs.getString("body"));</p><p> news.setHits(rs.getInt("hits"));</p>&l
110、t;p> news.setAdddate(rs.getString("adddate"));</p><p> news.setAdduser(rs.getString("adduser"));</p><p> news.setRootID(rs.getInt("rootid"));</p><p
111、> news.setPic(rs.getString("pic"));</p><p> searchNewsInfoVector.add(news);</p><p><b> }</b></p><p> }catch(Exception e){</p><p> System.e
112、rr.println(e);</p><p><b> }finally{</b></p><p><b> try{</b></p><p> dbc.close();</p><p> }catch(Exception e){</p><p> e.printS
113、tackTrace();</p><p><b> }</b></p><p><b> }</b></p><p> return searchNewsInfoVector;</p><p><b> }</b></p><p><b&g
114、t; }</b></p><p><b> 4 總結(jié)</b></p><p> 通過本次的開發(fā),發(fā)現(xiàn)自己在代碼方面的不足,但最主要的是學(xué)到了很多東西。剛開始的時(shí)候一無所知,慢慢的開始學(xué)會(huì)用jdbc連接mysql數(shù)據(jù)庫(kù)。在本軟件的開發(fā)中我體會(huì)到軟件最重要的是設(shè)計(jì)設(shè)計(jì)好后才能去編寫代碼,只知道編寫代碼的話,會(huì)做出一個(gè)奇奇怪怪的網(wǎng)站,所以說規(guī)劃很重要。 &
115、lt;/p><p> 同樣在設(shè)計(jì)的過程中也學(xué)到了很多思想,比如java的模式,通過工廠模式可以很簡(jiǎn)單的獲取一個(gè)數(shù)據(jù)庫(kù)連接,這樣我只寫了一次便可以到處方便的連接數(shù)據(jù)庫(kù)了。</p><p> 還有代碼的復(fù)用也很重要,在這個(gè)網(wǎng)站中大量的使用了代碼的復(fù)用,找出各個(gè)模塊的共同點(diǎn)把這些共同點(diǎn)歸納在一起。然后我發(fā)現(xiàn)其實(shí)很多代碼都是不必要的,本網(wǎng)站的基本模式就是一個(gè)欄目欄目下有很多條信息,只需要在課程介紹
116、中使其只能添加一條信息并點(diǎn)擊的時(shí)候完整的現(xiàn)實(shí)這條信息,而其他只要提供文字圖片和下載都能達(dá)到共同的目的。大大簡(jiǎn)化了我的開發(fā)。</p><p> 數(shù)據(jù)庫(kù)的設(shè)計(jì)也很頭疼,剛開始的時(shí)候無從下手,后來參考了網(wǎng)上一個(gè)類似的系統(tǒng)并截取的部分代碼進(jìn)行修改。</p><p> 通過本次設(shè)計(jì)初步掌握了,html,jsp,java,sql,jdbc等。并實(shí)現(xiàn)了各個(gè)欄目信息的添加刪除和更新。未實(shí)現(xiàn)用戶管理。&
117、lt;/p><p><b> 致 謝</b></p><p> 大學(xué)四年的學(xué)習(xí)生活即將結(jié)束,在此,我要感謝所有曾經(jīng)教導(dǎo)過我的老師和關(guān)心過我的同學(xué),他們?cè)谖页砷L(zhǎng)過程中給予了我極大的幫助。本設(shè)計(jì)能夠成功的完成,要特別感謝我的導(dǎo)師的關(guān)懷和教導(dǎo)。</p><p> 我做的是一個(gè)教學(xué)網(wǎng)站,之所以選這個(gè)作為我的畢業(yè)生課題,是因?yàn)檫@個(gè)作品對(duì)我是一個(gè)小小的挑
118、戰(zhàn),它可以幫助我提高網(wǎng)站制作方面的能力;同時(shí)這也是一個(gè)比較有意義的作品,網(wǎng)上教學(xué)是一個(gè)新型的教學(xué)方法,也是一種積極的,靈動(dòng)性很強(qiáng)的模式。它的到來必定會(huì)對(duì)現(xiàn)有的教學(xué)狀態(tài)產(chǎn)生影響。</p><p> 在做這個(gè)網(wǎng)站的時(shí)候我碰到了不少的問題,但是在指導(dǎo)老師和同學(xué)的指點(diǎn)幫助下,困難都被一一克服了,在享受著來自他人幫助的同時(shí),自己也在接受著來自知識(shí)業(yè)更高更新的挑戰(zhàn)。困難不可怕喔,可怕的是你遇不到困難,我相信有付出定會(huì)有收獲
119、的,雖然未必每次付出都會(huì)得到成功,但是我們收獲了另一份財(cái)富,加油吧。</p><p><b> [參考文獻(xiàn)]</b></p><p> [1] 孫東海.網(wǎng)站建設(shè)與網(wǎng)頁(yè)設(shè)計(jì)詳解[M].北京:電子工業(yè)出版社</p><p> [2] 卓文.輕松學(xué)網(wǎng)頁(yè)設(shè)計(jì)與制作[M].上海:上??茖W(xué)普及出版社</p><p> [3]
120、 徐一明.網(wǎng)頁(yè)設(shè)計(jì)與制作[M].人民郵電出版社</p><p> [4]Kewt Back.測(cè)試驅(qū)動(dòng)開發(fā) by Example[M]. 中國(guó)電力出版社,2007</p><p> [5]Martin Fowler.UML精粹[M]. 清華大學(xué)出版社,2008</p><p> [6]賽奎春.《JSP工程應(yīng)用與項(xiàng)目實(shí)踐》. 機(jī)械工業(yè)出版社,2004年4月<
121、/p><p> [7]王虎,張俊.管理信息系統(tǒng)[M].武漢:武漢理工大學(xué)出版社,2004.7</p><p> [8]焦廣旭 李軍杰 梁靜 張躍斌 張興忠 《電腦開發(fā)與應(yīng)用》 2009 第3期 - 維普資訊網(wǎng)</p><p> [9] 陳強(qiáng) 網(wǎng)頁(yè)制作教程 人民郵電出版社 2007</p><p> [10] 繆桂英 高職院校教學(xué)網(wǎng)站的評(píng)價(jià)
122、研究 職業(yè)教育研究 2007</p><p><b> 附錄2:測(cè)試報(bào)告</b></p><p><b> 附錄3:作品說明書</b></p><p><b> 一、作品名稱:</b></p><p><b> 二、作品功能</b></p&g
123、t;<p><b> 1.</b></p><p><b> 2.</b></p><p><b> ……</b></p><p><b> 三、運(yùn)行環(huán)境</b></p><p><b> 硬件環(huán)境:</b>&
124、lt;/p><p><b> 軟件環(huán)境:</b></p><p><b> 四、操作步驟</b></p><p><b> 1.</b></p><p><b> 2.</b></p><p><b> ……<
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于jsp的《面向?qū)ο蟪绦蛟O(shè)計(jì)》教學(xué)網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)[文獻(xiàn)綜述]
- 基于jsp的《面向?qū)ο蟪绦蛟O(shè)計(jì)》教學(xué)網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)[任務(wù)書]
- 畢業(yè)設(shè)計(jì)--面向?qū)ο蟪绦蛟O(shè)計(jì)教學(xué)網(wǎng)站的設(shè)計(jì)與開發(fā)
- 畢業(yè)論文---“c++程序設(shè)計(jì)”教學(xué)網(wǎng)站的設(shè)計(jì)實(shí)現(xiàn)
- 畢業(yè)論文---“c++程序設(shè)計(jì)”教學(xué)網(wǎng)站的設(shè)計(jì)實(shí)現(xiàn)
- 畢業(yè)論文---“C++程序設(shè)計(jì)”教學(xué)網(wǎng)站的設(shè)計(jì)實(shí)現(xiàn).doc
- 畢業(yè)論文--教學(xué)網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)
- 教學(xué)網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn) 畢業(yè)論文
- 畢業(yè)設(shè)計(jì)----《c語(yǔ)言程序設(shè)計(jì)》教學(xué)網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)
- php畢業(yè)論文--教學(xué)網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)
- C語(yǔ)言程序設(shè)計(jì)課程教學(xué)網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 開題報(bào)告----“c++程序設(shè)計(jì)”教學(xué)網(wǎng)站的設(shè)計(jì)實(shí)現(xiàn)
- 畢業(yè)論文——教學(xué)網(wǎng)站設(shè)計(jì)與開發(fā)
- 《java程序設(shè)計(jì)》教學(xué)網(wǎng)站的設(shè)計(jì)【開題報(bào)告】
- c語(yǔ)言課程教學(xué)網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn) 畢業(yè)論文
- 開題報(bào)告----“C++程序設(shè)計(jì)”教學(xué)網(wǎng)站的設(shè)計(jì)實(shí)現(xiàn).doc
- 畢業(yè)論文--photoshop教學(xué)網(wǎng)站的設(shè)計(jì)與開發(fā)
- 2017畢業(yè)論文-教學(xué)網(wǎng)站的設(shè)計(jì)與開發(fā)
- 《java程序設(shè)計(jì)》教學(xué)網(wǎng)站【文獻(xiàn)綜述】
- 基于jsp錦城團(tuán)購(gòu)網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論