




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、目錄摘 要11、應(yīng)用需求分析21.1、用戶登錄和注冊功能21.2、注冊功能31.3、用戶登錄成功后就進(jìn)入了論壇的主界面,用戶可以新選擇相應(yīng)的功能51.4、用戶發(fā)表帖子51.4.1、帖子的瀏覽61.4.2、查看特定帖的詳細(xì)信息71.5、用戶帖子的刪除功能。71.5.1、帖子的刪除71.6、管理員對帖子的查看/發(fā)表/刪除功能81.6.1、管理員查看或發(fā)表帖子81.6.2、管理員刪除帖子82、系統(tǒng)總體設(shè)計(jì)82.1、系統(tǒng)結(jié)構(gòu)設(shè)計(jì)82.1.1、各個(gè)頁面的功能及示意圖92.1.2、各個(gè)頁面之間的調(diào)用關(guān)系92.2、數(shù)據(jù)庫設(shè)計(jì)102.2.1、用戶信息表Student102.2.2、存儲(chǔ)帖子所用的信息表DISC
2、USS112.2.3、存儲(chǔ)回復(fù)帖子的信息表REPLY113、系統(tǒng)詳細(xì)設(shè)計(jì)123.1、建立數(shù)據(jù)庫及數(shù)據(jù)庫表123.2、用戶登錄功能的實(shí)現(xiàn)133.2.1、登陸界面的制作:133.2.2、登陸功能的實(shí)現(xiàn)143.3、瀏覽主題帖子功能的實(shí)現(xiàn)153.3.1、翻頁功能的實(shí)現(xiàn)153.4、主題帖子詳細(xì)內(nèi)容頁面的制作183.5、在帖子詳細(xì)內(nèi)容頁面里實(shí)現(xiàn)回復(fù)功能193.6、用戶發(fā)表新帖子頁面的制作223.6.1、NewTitle.jsp頁面發(fā)表新的主題文章223.6.2、SaveNewTitle.jsp頁面用于保存由NewTitle.jsp頁面?zhèn)鱽淼臄?shù)據(jù)信息233.7、新用戶注冊功能的實(shí)現(xiàn)243.8、用戶取回密碼功
3、能的實(shí)現(xiàn)273.9、用戶和管理員刪除帖子功能的實(shí)現(xiàn)28課程實(shí)習(xí)心得30參考文獻(xiàn):3329廣東海洋大學(xué)本科生課程實(shí)習(xí)報(bào)告 摘 要當(dāng)今,隨著網(wǎng)絡(luò)的迅速發(fā)展,制作BBS論壇的技術(shù)和方法也越來越多。BS的英文全稱是Bulletin Board System,翻譯為中文就是“電子公告板”。BBS最早是用來公布股市價(jià)格等類信息的,當(dāng)時(shí)BBS連文件傳輸?shù)墓δ芏紱]有,而且只能在蘋果計(jì)算機(jī)上運(yùn)行。早期的BBS與一般街頭和校園內(nèi)的公告板性質(zhì)相同,只不過是通過電腦來傳播或獲得消息而已。一直到個(gè)人計(jì)算機(jī)開始普及之后,有些人嘗試將蘋果計(jì)算機(jī)上的BBS轉(zhuǎn)移到個(gè)人計(jì)算機(jī)上,BBS才開始漸漸普及開來。近些年來,由于愛好者們的
4、努力,BBS的功能得到了很大的擴(kuò)充。BBS論壇是一種比較好的交流平臺(tái),他能方便人們進(jìn)行即時(shí)在線交流,發(fā)表各種信息,實(shí)現(xiàn)網(wǎng)絡(luò)資源的共享。而且,也能促使人們敞開心扉去學(xué)習(xí)知識(shí)、追求進(jìn)步,以至于能更好的利用網(wǎng)絡(luò)資源。 隨著計(jì)算機(jī)軟件的迅速發(fā)展,BBS的界面效果越來越美觀,功能、作用和范圍也得到了迅速擴(kuò)大。與此同時(shí),制作BBS論壇的方法和所用的軟件種類也越來越多了。而在這里,我將采用基于JSP網(wǎng)頁技術(shù)的方法進(jìn)行簡單的BBS論壇制作。我所用的開發(fā)軟件是Eclipse,它是一款可以做基礎(chǔ)Java項(xiàng)目開發(fā)的工具;JDK1.6,當(dāng)前進(jìn)行Java開發(fā)的最新版本;數(shù)據(jù)庫是MySQL,它是一款當(dāng)前比較流行的進(jìn)行中小
5、量數(shù)據(jù)開發(fā)的中小型數(shù)據(jù)庫;服務(wù)器是Tomcat7.0,它也是一款當(dāng)前比較流行的軟件,主要用于網(wǎng)絡(luò)服務(wù)器的開發(fā)。本文主要講述利用Java Web的相關(guān)技術(shù)來制作一個(gè)簡單論壇。通過實(shí)際制作,實(shí)現(xiàn)了BBS論壇系統(tǒng)應(yīng)有的一些基本功能,如:登陸功能,通過在登陸界面輸入用戶名和密碼來實(shí)現(xiàn)會(huì)員的登錄,用戶只有登錄成功了才能進(jìn)行一系列的操作;注冊功能,用戶首次登陸,需要先注冊,注冊時(shí)需要用戶填寫個(gè)人信息;找回密碼功能,當(dāng)用戶忘記密碼時(shí)可以通過此功能找回密碼,找回密碼時(shí)需要用戶記得注冊時(shí)填寫的個(gè)人信息。除此之外,還有瀏覽帖子、發(fā)表帖子、回復(fù)貼子以及刪除帖子等等功能。制作本論壇所用的前臺(tái)軟件是MyEclipse,
6、后臺(tái)數(shù)據(jù)庫是MySQL,運(yùn)行時(shí)所用的服務(wù)器是Tomcat,綜合運(yùn)用了HTML、JSp。關(guān)鍵詞:BBS 論壇; JSP 技術(shù); 登陸;注冊; 找回密碼;瀏覽貼子; 發(fā)表帖子; 回復(fù)貼子; 刪除帖子1、應(yīng)用需求分析作為一個(gè)BBS論壇,它應(yīng)該具有BBS所有的一些基本功能,包括:用戶登陸功能,用戶取回密碼功能,用戶瀏覽帖子的功能以及用戶發(fā)表、回復(fù)、修改和刪除帖子的功能等。接下來,我將詳細(xì)闡述一下這些功能。1.1、用戶登錄和注冊功能進(jìn)入登錄頁面后,對于第一次登陸的用戶來說,首先需要注冊,單擊“新用戶注冊”按鈕即可進(jìn)入注冊界面,注冊完成后返回登錄界面。然后,在對應(yīng)的地方分別輸入用戶名和密碼,點(diǎn)擊“登錄”按
7、鈕,系統(tǒng)即將用戶名和密碼發(fā)送到網(wǎng)絡(luò)服務(wù)器上,與保存在服務(wù)器數(shù)據(jù)庫中的信息進(jìn)行核對。若核對正確,則進(jìn)入帖子瀏覽的界面,若不正確,則重新返回登錄界面。登錄頁面:1.2、注冊功能 用戶首次進(jìn)入系統(tǒng)時(shí)候,需要填寫注冊信息進(jìn)行用戶注冊。1.3、用戶登錄成功后就進(jìn)入了論壇的主界面,用戶可以新選擇相應(yīng)的功能1.4、用戶發(fā)表帖子 當(dāng)用戶登錄成功后便進(jìn)入該頁面,在該頁面發(fā)表的主題帖子,、 1.4.1、帖子的瀏覽在主題頁面中主要有兩部分組成,一是用戶的個(gè)人信息,再就是他人已經(jīng)發(fā)表的主題帖子,每個(gè)帖子都包含了一些簡單信息:主題、作者和時(shí)間,這里運(yùn)用了分頁功能。1.4.2、查看特定帖的詳細(xì)信息如上所述,單擊主題便進(jìn)入
8、該帖的詳細(xì)內(nèi)容頁面。里面主要包含了該帖的詳細(xì)內(nèi)容和他人對此帖的回復(fù),頁面的最低處是用戶的回復(fù)框架,用戶在框架內(nèi)直接輸入要回復(fù)的內(nèi)容即可。1.5、用戶帖子的刪除功能。1.5.1、帖子的刪除 在主題帖子頁面中,每幅帖子的最左面都有一個(gè)刪除按鈕點(diǎn),擊此按鈕便可刪除你所發(fā)表的帖子。如果是非管理員即會(huì)提示非管理員不能刪除帖子1.6、管理員對帖子的查看/發(fā)表/刪除功能1.6.1、管理員查看或發(fā)表帖子管理員查看或發(fā)表帖子與普通用戶的一樣。管理員可以對帖子和用戶進(jìn)行管理。1.6.2、管理員刪除帖子管理員刪除帖子與普通用戶的區(qū)別在于,他可以刪除任何人發(fā)表的貼子,另外他還有一項(xiàng)特權(quán),就是可以刪除任何人回復(fù)的垃圾帖
9、子。只要以admin身份登錄的用戶都可以點(diǎn)擊帖子前面的就可以刪除帖子2、系統(tǒng)總體設(shè)計(jì)2.1、系統(tǒng)結(jié)構(gòu)設(shè)計(jì)本BBS論壇系統(tǒng)共分為三大功能模塊:(1) 登陸管理功能系統(tǒng);(2) 注冊功能系統(tǒng);(3) 找回密碼功能系統(tǒng)。登陸管理功能系統(tǒng),又包括四個(gè)子模塊:單純的用戶登錄模塊,用戶發(fā)表帖子模塊,用戶回復(fù)他人帖子模塊和用戶刪除自己所發(fā)表的帖子模塊。2.1.1、各個(gè)頁面的功能及示意圖各個(gè)模塊頁面名稱頁面功能開始登陸的界面Login.html系統(tǒng)啟動(dòng)時(shí)的首頁登錄管理功能系統(tǒng)Enter.jsp用于判斷用戶名和密碼是否正確MainForm.jsp登陸成功后轉(zhuǎn)入該頁面Discuss.jsp瀏覽主題帖子的頁面,在這
10、可以查看各類帖子Person.jsp顯示個(gè)人信息的頁面NewTitle.jsp發(fā)表新的主題帖子的頁面SaveNewTitle.jsp將新發(fā)表的帖子存入數(shù)據(jù)庫表Discuss中Detail.jsp用于顯示帖子的內(nèi)容及回復(fù)該帖的內(nèi)容SaveRevert.jsp將回復(fù)內(nèi)容存入數(shù)據(jù)庫表Reply中Delete.jsp用于刪除帖子注冊功能系統(tǒng)Register.jsp該界面用于新用戶注冊SaveRegister.jsp保存新用戶注冊信息到數(shù)據(jù)庫表Student中找回密碼功能系統(tǒng)GetPassword.jsp用于用戶找回密碼2.1.2、各個(gè)頁面之間的調(diào)用關(guān)系各個(gè)頁面之間的調(diào)用關(guān)系如下圖所示:2.2、數(shù)據(jù)庫設(shè)
11、計(jì)2.2.1、用戶信息表Student表名:Student用戶信息表Student包括八個(gè)字段:即,ID(用戶的標(biāo)識(shí)符)、USERNAME(用戶名)、PASSWORD(用戶密碼)、SEX(性別)、AGE(年齡)、BIRTH(生日)、TELEPHONE(聯(lián)系電話)、EMAIL(電子郵箱)等。STUDENT表的屬性如下圖所示: STUDENT表的內(nèi)容如下圖所示:2.2.2、存儲(chǔ)帖子所用的信息表DISCUSS表名:DISCUSS信息表DISCUSS包括七個(gè)字段:即,NAME(發(fā)帖人的昵稱)、EMAIL(電子郵箱)、SUBJECT(帖子的主題)、CONTENT(帖子的內(nèi)容)、TIME(發(fā)帖的時(shí)間)、U
12、SERNAME(用戶名)、ID(帖子的標(biāo)識(shí))等。表的屬性: 表的內(nèi)容:2.2.3、存儲(chǔ)回復(fù)帖子的信息表REPLY表名:REPLY信息表REPLY包括五個(gè)字段:即,NAME(回帖人的昵稱)、CONTENT(回帖的內(nèi)容)、TIME(回帖的時(shí)間)、REPLY(所回復(fù)的主貼的標(biāo)識(shí)符)、ID(回復(fù)貼的標(biāo)識(shí)符)等。表的屬性: 表的內(nèi)容:3、系統(tǒng)詳細(xì)設(shè)計(jì)3.1、建立數(shù)據(jù)庫及數(shù)據(jù)庫表建立一個(gè)數(shù)據(jù)庫Test和三個(gè)數(shù)據(jù)庫表(STUDENT、DISCUSS和REPLY)。首先在Eclipse軟件里配置MySQL5.0,配置完成后在Eclipse界面里建立名為“Test”的數(shù)據(jù)庫,然后再建立三個(gè)數(shù)據(jù)庫表(STUDEN
13、T、DISCUSS和REPLY)。創(chuàng)建表student:create table student(id int not null auto_increment,username varchar(20) unique, password varchar(20) not null,sex varchar(8) not null,age varchar(4),birth varchar(20) not null,telephone varchar(12),email varchar(40) not null,primary key (id);創(chuàng)建表discuss:create table discu
14、ss(name char(20) not null,email char(40) not null,subject char(60) not null,content text not null,time char(40),username char(20),id int not null auto_increment,primary key (id);創(chuàng)建表reply:create table reply(name char(20) not null,content text not null,time char(40),reply int,id int not null auto_incr
15、ement,primary key (id);3.2、用戶登錄功能的實(shí)現(xiàn)3.2.1、登陸界面的制作: <html><body background=photo/123.jpg><table><form action="enter.jsp" method="post" onsubmit="return checkForm(this);"><tr><td><h3>用戶名:</td><td><h4><input ty
16、pe="text" name="username"></td></tr><tr><td><h3>密碼:</td><td><h4><input type="password" name="password"></td></tr><tr><td><input type="submit" value="點(diǎn)擊進(jìn)入論壇"
17、 name="submit"></td><td><input type="reset" value="重新設(shè)置" name="reset"></td></tr></form><tr><td><form action="GetPassWord.jsp" method="post"><input type="submit" value=&qu
18、ot;找回密碼" name="getpass"></form></td><td><form action="register.jsp" method="post"><input type="submit" value="注冊新用戶" name="regist"></form></td></tr></table></body></html
19、><script language="JavaScript">function checkFrom(form)if(form.username.value="")alert("用戶名不能為空");form.username.focus();return falseif(form.password.value="")alert("密碼不能為空");form.password.focus();return false;return true;</script>3.2.2
20、、登陸功能的實(shí)現(xiàn)通過Login.html界面?zhèn)鬟f參數(shù)username 和 password 給Enter.jsp界面,然后查詢數(shù)據(jù)庫,判斷用戶名和密碼是否正確。若判斷正確則為用戶建立一個(gè)session,并進(jìn)入了用戶主界面。<% page contentType="text/html; charset=GB2312" %><% page import="java.sql.*" %><html><body bgcolor=yellow><% tryout.print("系統(tǒng)錯(cuò)誤1");
21、 Class.forName("com.mysql.jdbc.Driver"); catch(Exception e) out.print("系統(tǒng)錯(cuò)誤1");/數(shù)據(jù)庫的驅(qū) Connection con; ResultSet rs; String sql; String username=request.getParameter("username"); String password=request.getParameter("password");try String database="test&qu
22、ot; String uri="jdbc:mysql:/localhost/"+database; con=DriverManager.getConnection(uri,"root","root");/連接到數(shù)據(jù)庫PreparedStatement pstmt = null;/ 數(shù)據(jù)庫表達(dá)式 sql = "select * from Student where username = ? and password= ?"/ SQL語句 pstmt = con.prepareStatement(sql); pstmt
23、.setString(1, username);/1代表上面的第一個(gè)問號(hào)。pstmt.setString(2, password); rs = pstmt.executeQuery(); if(rs.next() request.getSession(true);/創(chuàng)建一個(gè)session session.setAttribute("username",username); session.setAttribute("password",password); session.setAttribute("userIP",request.g
24、etRemoteAddr();/獲取用戶的ip地址 session.setAttribute("enter","true") ; response.sendRedirect("MainForm.jsp");/登錄成功 else response.sendRedirect("login.html");/登錄失敗 返回! catch(Exception e) out.print("系統(tǒng)錯(cuò)誤"); %> </body></html> 3.3、瀏覽主題帖子功能的實(shí)現(xiàn)3.3.
25、1、翻頁功能的實(shí)現(xiàn)功能的實(shí)現(xiàn):首先確定每頁所能容納帖子的最大數(shù)目,在這里我設(shè)定MaxNum=5;然后連接數(shù)據(jù)庫查詢帖子的總數(shù),從而判斷總的頁數(shù),即lastPage,接著根據(jù)請求的頁碼pageNO判斷出該頁碼是否合法,若pageNO<1則改正為pageNO=1,若pageNO>lastPage,即所求的頁碼超出了最大頁數(shù),則改正pageNO=lastPage,然后確定要顯示的第一個(gè)帖子的標(biāo)識(shí)碼firstNum和最后一個(gè)帖子的標(biāo)識(shí)碼lastNum,最后連接數(shù)據(jù)庫將標(biāo)識(shí)碼在firstNum和lastNum之間的帖子的信息查詢出來,并在此頁面顯示帖子的主題、作者等粗略的信息,點(diǎn)擊主題便能進(jìn)
26、入帖子的詳細(xì)內(nèi)容。程序?yàn)椋?lt;%page import="javax.xml.soap.Detail"%><% page contentType="text/html; charset=GB2312" %><% page import="java.sql.*" %><html><body background=photo/07.jpg><%Statement sql;Connection con;ResultSet rs;int MaxNum = 5;/每頁容納的主題論文
27、的最大數(shù)目int count = 0, firstPage = 1, lastPage=1, firstNum=1, lastNum=1, prePage=1, nextPage=1, pageNO=1;if (request.getParameter("pageNO") = null|request.getParameter("pageNO").equals("")pageNO = 1;elsepageNO = Integer.parseInt(request.getParameter("pageNO");/fi
28、rstPage表示首頁,lastPage表示末頁,pageNO表示第幾頁/firstNum表示該頁的起始貼的ID,lastNum表示該頁的末帖的ID/prePage表示前一頁,nextPage表示后一頁 try Class.forName("com.mysql.jdbc.Driver"); catch(Exception e) out.print(e); ; try String database="test" String uri="jdbc:mysql:/localhost/"+database; con = DriverMana
29、ger.getConnection(uri,"root","root"); /翻頁功能的實(shí)現(xiàn)String condition="select * from discuss"sql=con.createStatement();rs=sql.executeQuery(condition);while(rs.next() count+;/計(jì)算數(shù)據(jù)庫里一共有多少帖子; /* if (request.getParameter("pageNO") = null)pageNO = 0;elsepageNO = Integer.p
30、arseInt(request.getParameter("pageNO"); */ lastPage=(int)Math.ceil(double)count/MaxNum); /向上取整 if(pageNO<=0) pageNO=1; if(pageNO>lastPage) pageNO=lastPage; firstNum=(pageNO-1)*MaxNum+1; lastNum=pageNO*MaxNum; if(pageNO<=1) prePage=1; else prePage=pageNO-1; if(pageNO>=lastPage)
31、nextPage=pageNO; else nextPage=pageNO+1; ResultSet rs2; String condition2 = "select * from discuss where id between " + firstNum + " and " + lastNum; rs2=sql.executeQuery(condition2); String name,subject,time; int replyid,id; while(rs2.next() name=rs2.getString(1); subject=rs2.ge
32、tString(3); time=rs2.getString(5); id=rs2.getInt(7); out.print("<table><tr ><td><a href=Delete.jsp?id="+id+ "&replyid=0><img src=photo/110.jpg width=40 height=40></a></td><td width=300><a href=Detail.jsp?id="+ id + ">
33、" + subject + "</a></td>");out.print("<td width=200>" + name + "</td>");out.println("<td width=200>" + time + "</td>");out.print("</tr><table>"); out.print("<td><a href=NewT
34、itle.jsp>發(fā)表新帖子</a></td>"); catch(Exception e) out.println("捕捉的錯(cuò)誤2"); %><form action=dissess.jsp method=post><table border=0><tr><td>目前頁數(shù):<font color=red><%=pageNO%></font></td><td>總頁數(shù):<font color=red><%=l
35、astPage%></font></td><td><a href=dissess.jsp?pageNO=<%=firstPage%>>【第一頁】</a></td><td><a href=dissess.jsp?pageNO=<%=prePage%>>【上一頁】</a></td><td><a href=dissess.jsp?pageNO=<%=nextPage%>>【下一頁】</a></td&
36、gt;<td><a href=dissess.jsp?pageNO=<%=lastPage%>>【最后一頁】</a></td><td>輸入頁次:<input type=text size=3 name=pageNO value="<%=pageNO %>"></td><td><input type=submit name=send value="送出"></td></tr></table>
37、</form> 3.4、主題帖子詳細(xì)內(nèi)容頁面的制作通過discuss.jsp頁面?zhèn)鬟f參數(shù)ID,然后進(jìn)行數(shù)據(jù)庫查詢獲得帖子的詳細(xì)信息,并顯示的頁面上。<%Statement sql;Connection con;ResultSet rs;ResultSet rs2; int id=Integer.parseInt(request.getParameter("id"); try Class.forName("com.mysql.jdbc.Driver"); catch(Exception e) out.print("加載驅(qū)動(dòng)錯(cuò)誤&
38、quot;); ; try int replyid=0; String database="test" String uri="jdbc:mysql:/localhost/"+database; con = DriverManager.getConnection(uri,"root","root"); String condition="select * from discuss where id = '"+ id +"'" /* StringBuffer r
39、esult=null; */ sql=con.createStatement(); rs=sql.executeQuery(condition); while(rs.next() out.println("這是帖子的詳細(xì)內(nèi)容:n"); out.print("</br>"); /* out.print("<table>"); out.print("<tr>"); */ out.print(rs.getString(4); /* out.print("</tr>
40、"); out.print("</table>"); */ /* out.print(result); */ out.print("<tr>"); out.print("<hr>"); out.print("</tr>");3.5、在帖子詳細(xì)內(nèi)容頁面里實(shí)現(xiàn)回復(fù)功能 在Detail.jsp 頁面里實(shí)現(xiàn)回復(fù)功能,讓用戶可以在同一頁面實(shí)現(xiàn)瀏覽貼子、回復(fù)帖子和瀏覽別人回復(fù)的帖子的功能:Detail.jsp頁面中的代碼:此部分代碼是顯示該帖子的內(nèi)容,并給用戶提供了一個(gè)
41、回帖框架,在框架內(nèi)直接輸入內(nèi)容就可以進(jìn)行回復(fù)/回復(fù)帖子的 String condition2="select * from reply where reply = '"+ id +"'" rs2=sql.executeQuery(condition2); while(rs2.next() out.print("<table>"); out.print("<tr>"); out.print("<td>用戶" + rs2.getString(1)
42、+ "的回復(fù)內(nèi)容是:</td>"); out.print("<td>" + rs2.getString(2) + "</td>"); out.print("</tr>"); out.print("<tr>"); out.print("<td>回復(fù)的時(shí)間是:" + rs2.getString(3) + "</td>"); out.print("</tr>
43、"); out.print("</table>"); int reply=Integer.parseInt(rs2.getString(5);/提取回復(fù)貼的id; out.print("<a href=delete.jsp?id="+id+ "&replyid="+reply+">刪除回復(fù)請按-><img src=photo/guan.jpg width=50 height=50></a>"); catch(Exception e) out.p
44、rint("尼瑪"); %><form name=form2 action=saveRevert.jsp?id=<%=id%> method="post" onsubmit="return checkForm(this);"> <table border=1><tr><td>輸入你要回復(fù)的內(nèi)容</td><td><textarea rows=15 cols=110 name=content></textarea></t
45、d></tr><tr align=center><td colspan=2><input type=submit value=確認(rèn)回復(fù) name=send><input type=reset value=清除重寫>SaveRevert.jsp頁面中的代碼:此頁面的功能保存由Detail.jsp頁面?zhèn)鱽淼幕靥畔ⅲ4娲涡畔⒌絉eply數(shù)據(jù)庫表中:<% page contentType="text/html; charset=GB2312" %><% page import="jav
46、a.util.Calendar"%><% page import="java.util.GregorianCalendar"%><% page import="java.sql.*" %><%Statement sql;Connection con;ResultSet rs; try Class.forName("com.mysql.jdbc.Driver"); catch(Exception e) out.print(e); ; try String database="tes
47、t" String uri="jdbc:mysql:/localhost/"+database; con = DriverManager.getConnection(uri,"root","root"); String reply = request.getParameter("id"); String name = (session.getAttribute("username").toString(); String content = request.getParameter(&
48、quot;content"); int year, month, day, hour, minute, second; String time; GregorianCalendar calendar; calendar = new GregorianCalendar(); year = calendar.get(Calendar.YEAR); month = calendar.get(Calendar.MONTH) + 1; day = calendar.get(Calendar.DAY_OF_MONTH); hour = calendar.get(Calendar.HOUR_OF_
49、DAY); minute = calendar.get(Calendar.MINUTE); second = calendar.get(Calendar.SECOND); time = year + "年" + month + "月" + day + "日" + hour + ":" + minute+ ":" + second; byte bb=content.getBytes("iso-8859-1"); content=new String(bb); String up
50、dateCondition = "insert into reply ( name, content, time, reply )values('"+ name+ "','"+ content+ "','"+ time+ "','"+ reply+"')" sql=con.createStatement(); out.print(updateCondition); sql.executeUpdate(updateCondition)
51、; out.print("內(nèi)部失敗"); response.sendRedirect("Detail.jsp?id=" + reply); catch (Exception e) out.print("更新回復(fù)失敗"); %> 3.6、用戶發(fā)表新帖子頁面的制作 3.6.1、NewTitle.jsp頁面發(fā)表新的主題文章 此界面提供用戶輸入功能,輸入完成后“發(fā)表心得主題”按鈕便可提交數(shù)據(jù)給SaveNewTitle.jsp頁面:<<% page contentType="text/html; charset=GB
52、2312"%><html><body background=photo/06.gif><form action=SaveNewsTitle.jsp?pageNO=1 method=post onsubmit="return checkForm(this);"><table border=3><tr ><td>姓名</td><td><input type="text" size=60 name=name></td><
53、/tr><tr ><td>E-mail</td><td><input type=text size=60 name=email></td></tr><tr > <td><pre>主題</td><td><input type=text size=60 name=subject></td> </tr> <tr valign=top > <td><pre>內(nèi)容</td>
54、<td><textarea rows=10 cols=60 name=content></textarea></td> </tr> <tr align=center> <td colspan=2><input type=submit value=發(fā)送心得主題 name=send > <input type=reset value="重置"></td> </tr> </table> <hr> <a href=diss
55、ess.jsp?pageNO=1>返回主題頁</a> </form> </body></html> 3.6.2、SaveNewTitle.jsp頁面用于保存由NewTitle.jsp頁面?zhèn)鱽淼臄?shù)據(jù)信息首先將傳遞來的數(shù)據(jù)進(jìn)行轉(zhuǎn)換,然后將其插入數(shù)據(jù)庫Discuss中:<% page import="java.util.Calendar"%><% page import="java.util.GregorianCalendar"%><% page import="ja
56、va.sql.*" %><% page import="java.util.*" %><% page contentType="text/html; charset=GB2312" %><html><body><%Statement sql;Connection con;ResultSet rs; try Class.forName("com.mysql.jdbc.Driver"); catch(Exception e) out.print(e); ; try St
57、ring database="test" String uri="jdbc:mysql:/localhost/"+database; con = DriverManager.getConnection(uri,"root","root"); String name=request.getParameter("name"); String email=request.getParameter("email"); String subject = request.getParam
58、eter("subject"); String content = request.getParameter("content"); int year,month,day,hour,minute,second; String time; GregorianCalendar calendar; calendar=new GregorianCalendar(); year=calendar.get(Calendar.YEAR); month=calendar.get(Calendar.MONTH)+1; day=calendar.get(Calendar.D
59、AY_OF_MONTH); hour=calendar.get(Calendar.HOUR_OF_DAY); minute=calendar.get(Calendar.MINUTE); second=calendar.get(Calendar.SECOND); time = year + "年" + month + "月" + day + "日" + hour + ":" + minute+ ":" + second; byte bb=content.getBytes("iso-885
60、9-1"); content=new String(bb); byte cc=subject.getBytes("iso-8859-1"); subject=new String(cc); String username = session.getAttribute("username").toString(); String updateCondition1="insert into discuss ( name, email, subject, content, time, username) values( '"
61、;+ name+ "','"+ email+ "','"+ subject+ "','"+ content+ "','"+ time + "','" + username + "')" sql=con.createStatement(); sql.executeUpdate(updateCondition1); out.print("更新成功"); response.s
62、endRedirect("dissess.jsp"); catch(SQLException e)out.print("更新失敗"); %> </body></html> 3.7、新用戶注冊功能的實(shí)現(xiàn) SaveRegister.jsp用于保存新用戶的信息,這些信息是由Register.jsp頁面?zhèn)鬟f而來,首先判斷用戶名是否已被注冊過了,若被注冊過則提示已注冊。這是注冊頁面:<% page contentType="text/html; charset=GB2312" %><html><body background=photo/0.jpg><table><tr><td><center>您好,歡迎登陸注冊頁面,請?jiān)敿?xì)填寫您的資料。</td></tr></table><form action=S
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)徒烘焙合同范本
- 2025年銀色金屬弦項(xiàng)目可行性研究報(bào)告
- 2025年鍍鋅板板材項(xiàng)目可行性研究報(bào)告
- 2025至2030年中國大型不銹鋼設(shè)備數(shù)據(jù)監(jiān)測研究報(bào)告
- 2025年車架后叉項(xiàng)目可行性研究報(bào)告
- 2025年茶籽油項(xiàng)目可行性研究報(bào)告
- 成都四川成都簡陽市三合鎮(zhèn)便民服務(wù)和智慧蓉城運(yùn)行中心招聘綜治巡防隊(duì)員2人筆試歷年參考題庫附帶答案詳解
- 2025至2030年中國霍爾效應(yīng)傳感IC數(shù)據(jù)監(jiān)測研究報(bào)告
- 2025至2030年中國防偽收縮膜數(shù)據(jù)監(jiān)測研究報(bào)告
- 塑料封皮合同范本
- 如何在本機(jī)上架設(shè)服務(wù)器
- 一年級(jí)寫字下學(xué)期課件(PPT 38頁)
- 《實(shí)用日本語應(yīng)用文寫作》全套電子課件完整版ppt整本書電子教案最全教學(xué)教程整套課件
- 怎樣處理課堂突發(fā)事件
- 采礦學(xué)課程設(shè)計(jì)-隆德煤礦1.8Mta新井開拓設(shè)計(jì)
- 中藥藥劑學(xué)講義(英語).doc
- 【課件】Unit1ReadingforWriting課件高中英語人教版(2019)必修第二冊
- Q∕GDW 10799.6-2018 國家電網(wǎng)有限公司電力安全工作規(guī)程 第6部分:光伏電站部分
- 滴灌工程設(shè)計(jì)示例
- 配套模塊an9238用戶手冊rev
- 醫(yī)院室外管網(wǎng)景觀綠化施工組織設(shè)計(jì)
評論
0/150
提交評論