![](https://static.zsdocx.com/FlexPaper/FileRoot/2019-6/16/21/51f2bdbf-6466-43ac-9ef2-0371c123909c/51f2bdbf-6466-43ac-9ef2-0371c123909cpic.jpg)
![基于jsp的《面向對象程序設計》教學網站的設計與實現【畢業(yè)論文】_第1頁](https://static.zsdocx.com/FlexPaper/FileRoot/2019-6/16/21/51f2bdbf-6466-43ac-9ef2-0371c123909c/51f2bdbf-6466-43ac-9ef2-0371c123909c1.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 本科畢業(yè)設計(論文)</p><p><b> (20 屆)</b></p><p> 論文題目基于JSP的《面向對象程序設計》教學網站的設計與實現</p><p> 所在學院 </p><p> 專業(yè)班級 計算機科學與技
2、術 </p><p> 學生姓名 學號 </p><p> 指導教師 職稱 </p><p> 完成日期 年 月 日</p><p><b> 誠 信 聲 明</b><
3、/p><p> 我聲明,所呈交的畢業(yè)設計作品和論文是本人經過近四年的基礎課程與專業(yè)課程學習的基礎上,在指導老師的指導下,經過幾個月集中的畢業(yè)設計學習、實踐和努力工作所取得的成果。據本人查證,除了文中特別加以標注和致謝的地方外,設計作品和論文中不包含其他人已經發(fā)表或撰寫過的研究成果。我承諾,設計作品和論文中的所有內容均真實、可信。</p><p> 學生簽名: &l
4、t;/p><p><b> 簽名日期:</b></p><p><b> 論文目錄</b></p><p> 摘 要錯誤!未定義書簽。</p><p> Abstract錯誤!未定義書簽。</p><p> 1 引言錯誤!未定義書簽。</p><
5、;p> 2 網站建設的基本理論知識錯誤!未定義書簽。</p><p> 2.1 jsp的定義錯誤!未定義書簽。</p><p> 2.2mysql的基本知識錯誤!未定義書簽。</p><p> 2.2.1………錯誤!未定義書簽。</p><p> 2.2.2………錯誤!未定義書簽。</p><p&
6、gt; 3 設計的主體內容錯誤!未定義書簽。</p><p> 3.1 系統(tǒng)結構的設計錯誤!未定義書簽。</p><p> 3.2交互界面的設計和實現錯誤!未定義書簽。</p><p> 3.3 線性表的00P序設計錯誤!未定義書簽。</p><p> 3.3.1線性表的順序存儲的實現錯誤!未定義書簽。</p>
7、<p> 3.3.2 線性表的鏈表存儲的實現錯誤!未定義書簽。</p><p> 4 結果分析與討論錯誤!未定義書簽。</p><p> 5 總結錯誤!未定義書簽。</p><p> 致 謝錯誤!未定義書簽。</p><p> [參考文獻]錯誤!未定義書簽。</p><p> 附錄2
8、:測試報告錯誤!未定義書簽。</p><p> 附錄3:作品說明書錯誤!未定義書簽。</p><p><b> 摘 要</b></p><p> “jsp技術和mysql數據庫”是常用的網站開發(fā)方法。在面向對象思想和技術的指導下,采用面向對象的編程語言(java)和面向對象的編程工具(myeclipse8.5)開發(fā)出來的網站。JSP技
9、術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產生動態(tài)網頁的處理邏輯。網頁還能通過tags和scriptlets訪問存在于服務端的資源的應用邏輯。JSP將網頁邏輯與網頁設計和顯示分離,支持可重用的基于組件的設計,使基于Web的應用程序的開發(fā)變得迅速和容易。同時利用mysq輕量級數據庫作為數據庫方便開發(fā)并免費使用,大大降低了成本和開發(fā)難度。 </p><p> 本網站是基于JSP平臺開
10、發(fā)與設計的,網站的主要功能就是實現學生與教師之間在教學領域的有效溝通,以便各方在教與學的方面做得快捷和簡潔。網站的主題包括課程情況、教學團隊、教學管理、教學研究、教學成果、學習空間、資源下載、師生互動等幾個方面。</p><p> 該課程網站要求從學生的角度出發(fā),針對課程的特點,將教學過程中的特色、學生作品等進行很好的展現。</p><p> 關鍵詞:jsp,面向對象,教學,交流<
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> 《面向對象程序設計》教學網站是為計算機專業(yè)師生服務的網站。本課題旨培養(yǎng)學生在JSP環(huán)境中進行網站建設、Web編程的能力。</p><p> 21世紀是人類全面進入信息化社會的新世紀,隨著多媒體技術的日益成熟和普及,多媒體技術在網絡教學中的應用也越累越普及,它已經成
15、為計算機教學的一個重要組成部分,也給教育帶來了革命性的變革。</p><p> 教育信息化是教育中普片運用現代信息技術,開發(fā)教育資源,優(yōu)化教育過程,以培養(yǎng)和提高大學生的信息素養(yǎng),促進教育現代化的過程。</p><p> 2網站建設的基本理論知識</p><p> 2.1 jsp的定義</p><p> JSP(Java Server
16、Pages)是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態(tài)網頁技術標準。JSP技術有點類似ASP技術,它是在傳統(tǒng)的網頁HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標記(tag),從而形成JSP文件(*.jsp)。 用JSP開發(fā)的Web應用是跨平臺的,既能在Linux下運行,也能在其他操作系統(tǒng)上運行。</p><p> JSP技術使用Ja
17、va編程語言編寫類XML的tags和scriptlets,來封裝產生動態(tài)網頁的處理邏輯。網頁還能通過tags和scriptlets訪問存在于服務端的資源的應用邏輯。JSP將網頁邏輯與網頁設計和顯示分離,支持可重用的基于組件的設計,使基于Web的應用程序的開發(fā)變得迅速和容易</p><p> 2.2 mysql的基本知識</p><p> SQL是一種關聯數據庫管理系統(tǒng),關聯數據庫將數據
18、保存在不同的表中,而不是將所有數據放在一個大倉庫內。這樣就增加了速度并提高了靈活性。MySQL的SQL“結構化查詢語言”。SQL是用于訪問數據庫的最常用標準化語言。MySQL軟件采用了GPL(GNU通用公共許可證)。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網站為了降低網站總體擁有成本而選擇了MySQL作為網站數據庫。</p><p> 2.3tomcat的基本知識</p&g
19、t;<p> tomcat運行時占用的系統(tǒng)資源小,擴展性好,支持負載平衡與郵件服務等開發(fā)應用系統(tǒng)常用的功能;而且它還在不斷的改進和完善中,任何一個感興趣的程序員都可以更改它或在其中加入新的功能。</p><p> 它是一個輕量級應用服務器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調試JSP 程序的首選。對于一個初學者來說,可以這樣認為,當在一臺機器上配置好Apache 服務
20、器,可利用它響應對HTML 頁面的訪問請求。</p><p><b> 3 設計的主體內容</b></p><p> 3.1 系統(tǒng)結構的設計</p><p> 3.2交互界面的設計和實現</p><p><b> 3.2.1主界面</b></p><p><b&
21、gt; 圖 3-2-1</b></p><p> 搭建好服務器輸入127.0.0.1,進入教學管理系統(tǒng)主界面。主界面是最近發(fā)布的文章,可以點擊進入查看。</p><p><b> 3.2.2課程情況</b></p><p><b> 圖3-2-2</b></p><p> 點擊
22、上方導航欄:Kechengqingkuang進入課程情況界面,這里顯示了本門課的課程基本情況,學生可以通過此頁面了解一些課程相關信息。</p><p><b> 3.2.3教學團隊</b></p><p><b> 圖 3-2-3</b></p><p> 點擊上方導航欄:techgroup進入教學團隊界面,在此頁面
23、可以查看本門課的教學情況。供學生了解老師,這樣才能更好的達到師生互信,增加認識,為課程的開始起個良好的頭。</p><p><b> 3.2.4教學管理</b></p><p><b> 圖 3-2-4</b></p><p> 點擊上方導航欄:teach guanli進入教學管理界面,在此頁面教師可以發(fā)布一些教學信
24、息,比如下節(jié)課要上的內容,這樣大家可以做好預習或者是其他一些信息,教師編輯教學信息后,暫時還沒信息會顯示一條條教學信息,點擊則可以查看教學信息。</p><p><b> 3.2.5教學研究</b></p><p><b> 圖 3-2-5</b></p><p> 點擊上方導航欄:teach yanjiu進入教學研
25、究界面,同樣教師可以在后臺添加管理教學研究。教學研究主要用于放置一些與課目有關的研究信息或是課外延展或是其他的信息,幫助學生更好的了解課程知識,也是本網址的亮點之一。同樣教師在后臺編輯教學研究信息后,在暫時還沒有信息的地方會顯示一條條教學研究信息,點擊就可以查看教學研究。</p><p><b> 3.2.6教學成果</b></p><p><b> 圖
26、 3-2-6</b></p><p> 點擊上方導航欄:teach chengguo進入教學成果界面,教學成果更多的是記錄教學的過程和結果,教師和學生可以一起研究一些問題并把問題的結果和經過記錄下來,一來防止以后遺忘此外可以放置一些照片。多年之后回過頭來觀看還是那么的美好。</p><p><b> 3.2.7學習空間</b></p>&
27、lt;p><b> 圖 3-2-7</b></p><p> 點擊上方導航欄:study space進入教學空間界面, 在此界面同樣放置一些信息學習信息。</p><p> 更多的是課內的信息。</p><p><b> 3.2.8資源下載</b></p><p><b>
28、 圖 3-2-8</b></p><p> 點擊上方導航欄Download 進入資源下載界面,此界面是用來提供教學中一些資源的下載,包括各種資料和一些常用工具。免得每屆學生一開始都到處找資料和各種工具。</p><p><b> 3.2.9師生互動</b></p><p><b> 圖 3-2-9</b>
29、</p><p> 點擊上方導航欄Teacher And Students 進入師生互動界面,學習過程中難免都會有各種各樣的問題,這個時候便可以來師生互動這里提交問題,老師可以給予解答,并且提問和解答都會通過郵箱發(fā)送給學生。</p><p> 3.2.10后臺登陸</p><p><b> 圖 3-2-10</b></p>
30、<p> 點擊前臺頁面最下方的管理進入后臺登陸界面。輸入用戶名和密碼則進入。初始的用戶名和密碼分別為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、; 從后臺進入信息管理界面之后,教師可以編輯各個欄目的信息。首先選擇要編輯的欄目如圖3-2-11-1,選擇欄目之后選擇要操作的信息進行更新或刪除如圖3-2-11-2,也可以進行添加。之后就是編輯狀態(tài)如圖3-2-11-3。在此界面可以編輯各個信息進行發(fā)布。</p><p> 3.3 課程網站設計</p><p> 本課程采用jsp和mysql制作設計,采用盡量少的表做儲存更多的事情,并
32、具有很好的延展性和可維護性。</p><p> 3.3.1數據庫設計</p><p><b> 1.用戶表</b></p><p> 用戶表,用來儲存用戶信息和教師信息。用classid表示不同類型的用戶。</p><p><b> 2.欄目表</b></p><p>
33、; 包含不同的欄目,每個導航欄中的欄目就是這里的一條,可以通過修改欄目名稱改變欄目的名稱。</p><p><b> 3.文章表</b></p><p> 教師發(fā)布的所有信息都儲存在這張表里,不同的用戶不同的欄目中的文章。</p><p> 3.3.2 詳細設計實現(主要代碼)</p><p><b>
34、 1.數據庫連接</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> * 構造數據庫的連接和訪問類</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> * 構造數據庫的連接和訪問類</p><p> * 預編譯SQL語句</p><p> * @param sql SQL語句</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 預設SQL語句</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> * 設置對應
48、值</b></p><p><b> *</b></p><p> * @param index 參數索引</p><p> * @param value 對應值</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> * 返回預設狀態(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語句返回字段集</p><p> * @param sql SQL語句</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語句</b></p><p> * @param
63、sql SQL語句</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> * 關閉連接</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.各個欄目管理</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> * 根據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> * 根據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> * 查詢所有的欄目(按點擊數排序)</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> * 計算某類別欄目的總數</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> * 計算某欄目的最大點擊數</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> * 根據條件在所有的欄目中查詢</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 總結</b></p><p> 通過本次的開發(fā),發(fā)現自己在代碼方面的不足,但最主要的是學到了很多東西。剛開始的時候一無所知,慢慢的開始學會用jdbc連接mysql數據庫。在本軟件的開發(fā)中我體會到軟件最重要的是設計設計好后才能去編寫代碼,只知道編寫代碼的話,會做出一個奇奇怪怪的網站,所以說規(guī)劃很重要。 &
115、lt;/p><p> 同樣在設計的過程中也學到了很多思想,比如java的模式,通過工廠模式可以很簡單的獲取一個數據庫連接,這樣我只寫了一次便可以到處方便的連接數據庫了。</p><p> 還有代碼的復用也很重要,在這個網站中大量的使用了代碼的復用,找出各個模塊的共同點把這些共同點歸納在一起。然后我發(fā)現其實很多代碼都是不必要的,本網站的基本模式就是一個欄目欄目下有很多條信息,只需要在課程介紹
116、中使其只能添加一條信息并點擊的時候完整的現實這條信息,而其他只要提供文字圖片和下載都能達到共同的目的。大大簡化了我的開發(fā)。</p><p> 數據庫的設計也很頭疼,剛開始的時候無從下手,后來參考了網上一個類似的系統(tǒng)并截取的部分代碼進行修改。</p><p> 通過本次設計初步掌握了,html,jsp,java,sql,jdbc等。并實現了各個欄目信息的添加刪除和更新。未實現用戶管理。&
117、lt;/p><p><b> 致 謝</b></p><p> 大學四年的學習生活即將結束,在此,我要感謝所有曾經教導過我的老師和關心過我的同學,他們在我成長過程中給予了我極大的幫助。本設計能夠成功的完成,要特別感謝我的導師的關懷和教導。</p><p> 我做的是一個教學網站,之所以選這個作為我的畢業(yè)生課題,是因為這個作品對我是一個小小的挑
118、戰(zhàn),它可以幫助我提高網站制作方面的能力;同時這也是一個比較有意義的作品,網上教學是一個新型的教學方法,也是一種積極的,靈動性很強的模式。它的到來必定會對現有的教學狀態(tài)產生影響。</p><p> 在做這個網站的時候我碰到了不少的問題,但是在指導老師和同學的指點幫助下,困難都被一一克服了,在享受著來自他人幫助的同時,自己也在接受著來自知識業(yè)更高更新的挑戰(zhàn)。困難不可怕喔,可怕的是你遇不到困難,我相信有付出定會有收獲
119、的,雖然未必每次付出都會得到成功,但是我們收獲了另一份財富,加油吧。</p><p><b> [參考文獻]</b></p><p> [1] 孫東海.網站建設與網頁設計詳解[M].北京:電子工業(yè)出版社</p><p> [2] 卓文.輕松學網頁設計與制作[M].上海:上??茖W普及出版社</p><p> [3]
120、 徐一明.網頁設計與制作[M].人民郵電出版社</p><p> [4]Kewt Back.測試驅動開發(fā) by Example[M]. 中國電力出版社,2007</p><p> [5]Martin Fowler.UML精粹[M]. 清華大學出版社,2008</p><p> [6]賽奎春.《JSP工程應用與項目實踐》. 機械工業(yè)出版社,2004年4月<
121、/p><p> [7]王虎,張俊.管理信息系統(tǒng)[M].武漢:武漢理工大學出版社,2004.7</p><p> [8]焦廣旭 李軍杰 梁靜 張躍斌 張興忠 《電腦開發(fā)與應用》 2009 第3期 - 維普資訊網</p><p> [9] 陳強 網頁制作教程 人民郵電出版社 2007</p><p> [10] 繆桂英 高職院校教學網站的評價
122、研究 職業(yè)教育研究 2007</p><p><b> 附錄2:測試報告</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> 三、運行環(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等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于jsp的《面向對象程序設計》教學網站的設計與實現[文獻綜述]
- 基于jsp的《面向對象程序設計》教學網站的設計與實現[任務書]
- 畢業(yè)設計--面向對象程序設計教學網站的設計與開發(fā)
- 畢業(yè)論文---“c++程序設計”教學網站的設計實現
- 畢業(yè)論文---“c++程序設計”教學網站的設計實現
- 畢業(yè)論文---“C++程序設計”教學網站的設計實現.doc
- 畢業(yè)論文--教學網站的設計與實現
- 教學網站的設計與實現 畢業(yè)論文
- 畢業(yè)設計----《c語言程序設計》教學網站設計與實現
- php畢業(yè)論文--教學網站的設計與實現
- C語言程序設計課程教學網站的設計與實現.pdf
- 開題報告----“c++程序設計”教學網站的設計實現
- 畢業(yè)論文——教學網站設計與開發(fā)
- 《java程序設計》教學網站的設計【開題報告】
- c語言課程教學網站的設計與實現 畢業(yè)論文
- 開題報告----“C++程序設計”教學網站的設計實現.doc
- 畢業(yè)論文--photoshop教學網站的設計與開發(fā)
- 2017畢業(yè)論文-教學網站的設計與開發(fā)
- 《java程序設計》教學網站【文獻綜述】
- 基于jsp錦城團購網站設計與實現畢業(yè)論文設計
評論
0/150
提交評論