java實現(xiàn)留言板功能實例
更新時間:2017年04月14日 14:38:51 投稿:wbb
這篇文章主要為大家詳細介紹了JSP+JavaBean的留言板技術(shù)
,JavaWeb登陸功能實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
JSP+JavaBean的留言板技術(shù)
<span style="font-size:16px;">Messages.html
<HTML></span><span style="font-size:16px;"><HEAD> <TITLE> message board </TITLE></HEAD>
<BODY> <center>留言板</center>
<FORM action="addMessage.jsp" >
<TABLE border=1 align="center">
<TR><TD>姓名:</TD><TD><input type="text" name="name" size=25>
</TD></TR>
<TR><TD>E-mail:</TD>
<TD><input type="text" name="email" size=25></TD></TR>
<TR><TD>主題:</TD>
<TD><input type="text" name="title" size=25></TD></TR>
<TR><TD>留言:</TD>
<TD><textarea name="content" rows=7 cols=25></textarea>
</TD></TR>
<TR><TD colspan=3>
<TABLE align="center" width="100%" cellspacing="0" cellpadding="0" >
<TR>
<TD align="center"><input type="submit" value="提交留言"></TD>
<TD align="center">
<a href="viewMessages.jsp" rel="external nofollow" ><font size=2>查看留言</font></a></TD>
<TD align="center"><input type="reset" value="重新填寫"></TD>
</TR></TABLE></TD> </TR></TABLE></FORM></BODY></HTML></span>
?
<span style="font-size:16px;">MessageData.java
package message;
public class MessageData
{ private String name,email,title,content;
//setter或者getter方法
public void setName(String name){this.name=name;}
public void setEmail(String email){ this.email=email;}
public void setTitle(String title){ this.title=title;}
public void setContent(String content){this.content=content;}
public String getName(){ return this.name;}
public String getContent(){ return this.content;}
public String getTitle(){ return this.title;}
public String getEmail(){ return this.email;}}</span>
?
<span style="font-size:16px;">viewMessages.jsp
<%@ page contentType="text/html; charset=GBK" import="message.MessageData" %>
<%@ page import="java.util.*"%>
<jsp:useBean id="myBean" class="message.MessageBean" scope="page"/>
<HTML><HEAD><TITLE> show the message in the table </TITLE></HEAD>
<BODY><p align="center">所有留言</p>
<TABLE align="center" width="80%" border=1 >
<%
int message_count=0;
Collection <MessageData> messages=myBean.getAllMessage();
Iterator <MessageData> it=messages.iterator();
while(it.hasNext()){ MessageData mg=(MessageData)it.next();
%>
<tr>
<td width="20%">留言人:</td>
<td width="23%"><%=mg.getName()%></td>
<td width="58%" align="center"><% out.println(
"<a href=mailto:"+mg.getEmail()+">"+mg.getEmail()+"</a>");
%></td></tr>
<tr>
<td width="20%">主題:</td>
<td colspan="3"><%=mg.getTitle()%></td>
</tr>
<tr>
<td width="20%">內(nèi)容:</td>
<td colspan="3"><%=mg.getContent()%></td>
</tr>
<% message_count++;
}
%>
</Table>
<p align="center"><a href="Messages.html" rel="external nofollow" >我要留言</a></p>
</body></html></span>
?
<span style="font-size:16px;">addMessage.jsp
<%@ page language="java" contentType="text/html; charset=GBK"
pageEncoding="GBK"%>
<jsp:useBean id="Mdata" class="message.MessageData" scope="page">
<jsp:setProperty name="Mdata" property="*"/></jsp:useBean>
<jsp:useBean id="myBean" class="message.MessageBean" scope="page"/>
<HTML><HEAD><TITLE> message into table </TITLE></HEAD>
<BODY>
<% try { myBean.setMessage(Mdata); myBean.addMessage(); }
catch(Exception e) { e.printStackTrace();}
%>
<jsp:forward page="viewMessages.jsp" />
</body></html></span>
?
<span style="font-size:16px;">MessageData.java
package message;
public class MessageData
{ private String name,email,title,content;
//setter或者getter方法
public void setName(String name){this.name=name;}
public void setEmail(String email){ this.email=email;}
public void setTitle(String title){ this.title=title;}
public void setContent(String content){this.content=content;}
public String getName(){ return this.name;}
public String getContent(){ return this.content;}
public String getTitle(){ return this.title;}
public String getEmail(){ return this.email;}}</span>
?
<span style="font-size:16px;">MessageBean.java
package message;
import java.sql.*; //引入java.sql包
import java.util.*;
public class MessageBean {
private Connection con; MessageData msg;
public MessageBean()
{ String JDriver="com.mysql.jdbc.Driver"; //定義驅(qū)動程序?qū)ο?
String userName="root"; //定義數(shù)據(jù)庫用戶名
String userPasswd=""; //定義數(shù)據(jù)庫存取密碼
String dbName="message"; //定義數(shù)據(jù)庫名
String conURL="jdbc:mysql://localhost:3306/"+dbName;
try{Class.forName(JDriver).newInstance(); //加載JDBC驅(qū)動程序
con=DriverManager.getConnection(conURL,userName,userPasswd);
//連接數(shù)據(jù)庫
}
catch(Exception e){System.err.println(e.getMessage());}
}
public void setMessage(MessageData msg) {this.msg=msg;}
// 添加一條留言消息
public void addMessage()throws Exception
{ try{ byte b1[]=msg.getTitle().getBytes("ISO-8859-1");
String ti=new String(b1);
byte b2[]=msg.getName().getBytes("ISO-8859-1");
String na=new String(b2);
byte b3[]=msg.getEmail().getBytes("ISO-8859-1");
String em=new String(b3);
byte b4[]=msg.getContent().getBytes("ISO-8859-1");
String c=new String(b4);
PreparedStatement stm=con.prepareStatement(
"insert into messagetable values(?,?,?,?)");
stm.setString(1,ti); stm.setString(2,na);
if((msg.getEmail()).length()==0)stm.setString(3,"");
else stm.setString(3,em);
stm.setString(4,c);
try {stm.execute(); stm.close(); }
catch(Exception e) { }
con.close(); //關(guān)閉數(shù)據(jù)庫連接
}
catch(Exception e){ e.printStackTrace(); throw e;}
}
// 獲得所有留言消息,并返回結(jié)果到JSP頁面
public Collection<MessageData> getAllMessage()throws Exception
{ Collection<MessageData> ret=new ArrayList<MessageData>();
try{ Statement stm=con.createStatement();
ResultSet result=stm.executeQuery(
"select count(*) from messagetable");
int message_count=0;
if(result.next()){ message_count=result.getInt(1);
result.close(); }
if(message_count>0)
{ result=stm.executeQuery("select * from messagetable ");
while(result.next())
{ String title=result.getString("title");
String name=result.getString("name");
String email=result.getString("email");
String content=result.getString("content");
MessageData message=new MessageData();
message.setTitle(title); message.setName(name);
message.setEmail(email); message.setContent(content);
ret.add(message);
}
result.close(); stm.close();
}
con.close();
}
catch(Exception e)
{ e.printStackTrace(); throw e; }
return ret;
}
}</span>
功能簡單的留言板,但是清楚的說明了JSP+JavaBean技術(shù)的運用,需要的朋友可以參考
您可能感興趣的文章:
相關(guān)文章
Java 遞歸遍歷實現(xiàn)linux tree命令方式
這篇文章主要介紹了Java 遞歸遍歷實現(xiàn)linux tree命令方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09
純Java實現(xiàn)數(shù)字證書生成簽名的簡單實例
下面小編就為大家?guī)硪黄僇ava實現(xiàn)數(shù)字證書生成簽名的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08
SpringCloud之消息總線Spring Cloud Bus實例代碼
這篇文章主要介紹了SpringCloud之消息總線Spring Cloud Bus實例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-04-04
詳解基于java的Socket聊天程序——客戶端(附demo)
這篇文章主要介紹了詳解基于java的Socket聊天程序——客戶端(附demo),客戶端設(shè)計主要分成兩個部分,分別是socket通訊模塊設(shè)計和UI相關(guān)設(shè)計。有興趣的可以了解一下。2016-12-12
Spring?+?ECharts實現(xiàn)數(shù)據(jù)可視化的案例詳解
Apache?ECharts是一個基于?JavaScript?的開源可視化圖表庫,在網(wǎng)頁上實現(xiàn)數(shù)據(jù)的可視化,非常好用,本文將通過一個簡單的demo來給大家介紹一下Spring?+?ECharts如何數(shù)據(jù)可視化,需要的朋友可以參考下2023-07-07

