《網(wǎng)上技術(shù)論壇jsp課程設(shè)計》由會員分享,可在線閱讀,更多相關(guān)《網(wǎng)上技術(shù)論壇jsp課程設(shè)計(14頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、
《Web網(wǎng)頁設(shè)計》
課程設(shè)計報告
課程設(shè)計題目: 網(wǎng)上技術(shù)論壇
院 系:
專 業(yè):
班 級:
小 組 成 員:
學(xué) 號:
姓 名:
指 導(dǎo) 教 師:
開課時間: 至 學(xué)年第 學(xué)期
目錄
第一章 概述 3
1.1研究動機 3
1.2研究目的
2、 3
1.3專題成果概述 3
第二章 實驗環(huán)境的搭建 4
2.1 Tomcat的安裝及測試 4
2.2 Access數(shù)據(jù)庫的搭建 5
第三章:關(guān)鍵技術(shù)代碼 6
第四章:項目成果展示 9
4.1系統(tǒng)首頁 9
4.2添加帖子(發(fā)帖)界面 9
4.3使用說明界面 10
4.4實現(xiàn)方法界面 11
4.5管理員功能 11
第五章 所遇問題與解決辦法 13
5.1問題 13
5.2對應(yīng)解決辦法 13
第六章 心得 14
第一章 概述
1.1研究動機
隨著網(wǎng)絡(luò)技術(shù)的日新月異和計算機的普及,當(dāng)今的計算機技術(shù)也走上了平民化和娛樂化的時代,計算機技術(shù)再也不是只能由少
3、數(shù)人掌握的深不可測的學(xué)問;同時個人計算機也由原來單純的數(shù)值計算和工業(yè)應(yīng)用逐漸轉(zhuǎn)變成像電視機一樣的家庭娛樂中心,伴隨著這種巨大的轉(zhuǎn)變計算機軟件的發(fā)展也走向了平民化。
越來越多的人喜歡將自己不懂得問題在網(wǎng)上題目,并期待得到解答。這樣一來使得網(wǎng)上論壇變得越來越流行,想百度論壇、CSDN論壇等最為突出。
然而現(xiàn)如今的一些技術(shù)論壇都有退出積分和金幣制,使得大多數(shù)人沒有通過注冊得到積分和金幣就不能查看其他人得回復(fù)。這樣一個免費的免注冊的開放論壇系統(tǒng)就顯得很有必要。
1.2研究目的
本課題就是一個免注冊完全免費的供所有人使用的論壇系統(tǒng)。
1.3專題成果概述
本課題所完成的功能主要為:
1
4、. 用戶進入系統(tǒng),可進行發(fā)帖;
2. 所有人客查看所有的帖;
3. 系統(tǒng)有幫助界面,讓任何人都能懂得如何操作本系統(tǒng);
4. 系統(tǒng)設(shè)有管理員登陸;
5. 管理員登陸后可對所有帖子進行刪除管理。
第二章 實驗環(huán)境的搭建
2.1 Tomcat的安裝及測試
l 安裝Tomcat
打開tomcat安裝程序,一直默認安裝tomcat,設(shè)置用戶名和密碼為admin,端口號為8080。Tomcat默認安裝在C:\Program Files\Apache Software Foundation\Tomcat 6.0。
l 測試Tomacat
進入C:\Program Files\
5、Apache Software Foundation\Tomcat 6.0\bin目
錄,打開,tomcat6w.exe
點擊Start,在瀏覽器網(wǎng)址上輸入http://localhost:8080/
出現(xiàn)上圖,tomcat配置成功。
2.2 Access數(shù)據(jù)庫的搭建
l 在Access數(shù)據(jù)庫中新建表admin,結(jié)構(gòu)如下:
表中數(shù)據(jù)項表示的含義:
列名
列含義
adminName
管理員用戶名
adminPwd
管理員密碼
admin表中數(shù)據(jù)項
l 在Access數(shù)據(jù)庫中新建表record
6、,結(jié)構(gòu)如下:
表中數(shù)據(jù)項表示的含義:
列名
列含義
id
自動編號id
title
發(fā)帖的標(biāo)題
name
發(fā)帖人
email
發(fā)帖人郵箱
content
發(fā)帖內(nèi)容
ly_date
發(fā)帖時間
第三章:關(guān)鍵技術(shù)代碼
l 數(shù)據(jù)庫連接DBConn.java
String driver="sun.jdbc.odbc.JdbcOdbcDriver";
String dburl = String.valueOf(Thread.currentThread().getContextClassLoader().getReso
7、urce(""));
dburl = dburl + "lyb.mdb";
try
{
url=new URL(dburl);
file=new File(url.toURI());
}catch(Exception e){}
dburl = file.toString();
String accessUrl="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+dburl;
try{
Class.fo
8、rName(driver);
con = DriverManager.getConnection(accessUrl);
}catch(Exception e){
e.printStackTrace();
}
l 增加一條帖
String addLy="insert into record (title, name, email, content, ly_date) values (?,?,?,?,?)";
try{
PreparedStatement stm=con.prepareStatement(addLy
9、);
String title=msg.getTitle();
String name=msg.getName();
String email=msg.getEmail();
String content=msg.getContent();
java.util.Date ud=new java.util.Date();
java.sql.Timestamp stp=new java.sql.Timestamp(ud.getTime());
commonBean cb = new commonBean
10、();
title=cb.ShowCH(title);
name=cb.ShowCH(name);
content=cb.ShowCH(content);
email=cb.trim(email);
stm.setString(1,title);
stm.setString(2,name);
stm.setString(3,email);
stm.setString(4,content);
stm.setTimestamp(5,stp);
stm.exec
11、uteUpdate();
stm.close();
con.close();
}catch(Exception e){
e.printStackTrace();
throw e;
}
l 獲得所有貼的信息
String getLy="select count(*) from record";
String getLy1="select * from record order by id desc";
Collection ret=new ArrayList();
12、 try{
Statement stm=con.createStatement();
ResultSet res=stm.executeQuery(getLy);
int msg_count=0;
if(res.next()){
msg_count=res.getInt(1);
res.close();
}
if(msg_count>0){
res=stm.executeQuery(getLy1);
while(res.next()){
13、 int id=res.getInt("id");
String title=res.getString("title");
String name=res.getString("name");
String email=res.getString("email");
String content=res.getString("content");
java.sql.Timestamp ts=res.getTimestamp("ly_date");
java.sql.Date
14、date=new java.sql.Date(ts.getTime());
MessageVO message=new MessageVO();
message.setId(id);
message.setTitle(title);
message.setName(name);
message.setEmail(email);
message.setContent(content);
message.setDate(date);
ret.add(mes
15、sage);
}
res.close();
stm.close();
}
con.close();
}catch(Exception e){
e.printStackTrace();
throw e;
}
l 刪除一條貼
String deleteLy="delete from record where id = ?";
try
{
PreparedStatement pstm=con.prepareStatement(de
16、leteLy);
pstm.setInt(1,id);
pstm.executeUpdate();
pstm.close();
con.close();
}
catch(Exception e)
{
e.printStackTrace();
throw e;
}
第四章:項目成果展示
4.1系統(tǒng)首頁
4.2添加帖子(發(fā)帖)界面
點擊提交
點擊查看論
17、壇所有帖子(當(dāng)點擊再發(fā)一條時會返回發(fā)帖界面):
4.3使用說明界面
4.4實現(xiàn)方法界面
4.5管理員功能
使用admin/admin進行登陸
點擊提交
點擊刪除帖子,帖子表格中會多出紅色的“刪除該貼”按鈕
這里,刪除第2條帖子
第五章 所遇問題與解決辦法
5.1問題
1、在進行項目tomcat的配置時,輸入網(wǎng)址http://localhost:8080/jslt,發(fā)現(xiàn)不能正常進入到系統(tǒng)中;
2、在進行項目測試的時候,老是得不到數(shù)據(jù)庫中的內(nèi)容,不能對數(shù)據(jù)庫進行操作,甚至界面出現(xiàn)錯誤;
3、我的Access數(shù)據(jù)庫recor
18、d表里面的id屬性是自動編號,在數(shù)據(jù)庫測試完后id一直沒辦法從1開始。
5.2對應(yīng)解決辦法
1、在tomcat安裝目錄的conf子目錄下,打開server.xml,將里面的8080
全部替換為8096,然后重新啟動tomcat,輸入網(wǎng)址http://localhost:8096/jslt,系統(tǒng)
可以運行,問題解決。
2、問題產(chǎn)生的原因是我在數(shù)據(jù)庫連接時的數(shù)據(jù)庫路徑為“\lyb.mdb”,系統(tǒng)找不到數(shù)據(jù)庫路徑,當(dāng)然會出錯。解決辦法時將更改路徑,更改后的源代碼如下:
String dburl = String.valueOf(Thread.currentThread().getCont
19、extClassLoader().getResource(""));
dburl = dburl + "lyb.mdb";
3、用Microsoft Access打開數(shù)據(jù)庫,然后依次選擇【工具】【數(shù)據(jù)庫實用工具】【壓縮和修復(fù)數(shù)據(jù)庫…】。
第六章 心得
這次課程設(shè)計是我迄今為止接觸jsp做的比較大的一個項目,充分鍛煉了各項能力。首先,它讓我自學(xué)了jsp中各項標(biāo)簽的使用,并掌握tomcat服務(wù)器的使用,由于這次項目是Access+jsp+Tomcat的開發(fā),因此也讓我懂得了Access數(shù)據(jù)庫的創(chuàng)建及應(yīng)用。此次項目通過實驗對前面幾次實驗所有已學(xué)知識的應(yīng)用,鍛煉
20、了我們解決實際問題的能力;其次,它提高了我的耐心,因為在此次實驗過程中遇到類似于tomcat服務(wù)器端口被占用的問題,這在以往都沒碰到過,查了很多資料才得以解決,耗時長。另外,在項目進程中,遇到了很多各種各樣的問題,但是我都能夠耐心的分析并且詢問同學(xué),終于克服了一個又一個困難,在最緊張的時候,主動放棄休息時間,加班加點,使其能按期完成。最后,它使我體會到了學(xué)以致用的快感,提高了我們解決實際問題的信心和能力,并使我們對運用所學(xué)知識解決實際問題產(chǎn)生的濃厚的興趣,并深刻認識到知識的重要性。誠然,由于自身的知識能力水平和項目時間有限,做出的項目有這樣那樣的缺點和不足,但對于我來說,已經(jīng)很滿足了,因為這畢竟是我的第一個jsp項目的勞動成果。我相信,隨著自身知識能力水平提高,以后的項目會做的越來越好!
我覺得這次課程設(shè)計很好地考察了每個學(xué)生的知識水平,每個人都發(fā)揮了個人最佳的狀態(tài)??梢哉f是實踐素質(zhì)教育的一種代表,是現(xiàn)代教育最能啟發(fā)學(xué)生創(chuàng)造性的一種模式。雖然這種形式比普通的卷面考試要難,但是卻能夠充分調(diào)動每個人的積極性去學(xué)習(xí)自己尚未接觸的知識和運用自己已經(jīng)學(xué)過的知識。
總的說來,這次做的大作業(yè)是比較成功的,值得我引以為豪!
最后,此次實驗的成功離不開李老師的指導(dǎo),在這里感謝老師的無私奉獻,傳授我們那么多的專業(yè)知識。
14