JSP+JavaBean的留言板技术
<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%">内容:</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"; //定义驱动程序对象
String userName="root"; //定义数据库用户名
String userPasswd=""; //定义数据库存取密码
String dbName="message"; //定义数据库名
String conURL="jdbc:mysql://localhost:3306/"+dbName;
try{Class.forName(JDriver).newInstance(); //加载JDBC驱动程序
con=DriverManager.getConnection(conURL,userName,userPasswd);
//连接数据库
}
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(); //关闭数据库连接
}
catch(Exception e){ e.printStackTrace(); throw e;}
}
// 获得所有留言消息,并返回结果到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技术的运用,需要的朋友可以参考
# java实现留言板功能
# java留言板功能
# java web实现简单留言板功能
# 我要
# 的说
# 连接数据库
# 加载
# package
# MessageData
# reset
# String
# setter
# private
# public
# getter
# nofollow
# cellspacing
# cellpadding
# colspan
# width
# rel
# external
# viewMessages
相关文章:
C#如何序列化对象为XML XmlSerializer用法
想学网站制作怎么学,建立一个网站要花费多少?
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
建站之星Pro快速搭建教程:模板选择与功能配置指南
微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?
如何通过WDCP绑定主域名及创建子域名站点?
建站之星好吗?新手能否轻松上手建站?
如何通过二级域名建站提升品牌影响力?
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
如何在云主机上快速搭建网站?
网站网页制作专业公司,怎样制作自己的网页?
Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解
css网站制作参考文献有哪些,易聊怎么注册?
建站之星体验版:智能建站系统+响应式设计,多端适配快速建站
股票网站制作软件,网上股票怎么开户?
网站专业制作公司有哪些,做一个公司网站要多少钱?
如何用wdcp快速搭建高效网站?
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
山东网站制作公司有哪些,山东大源集团官网?
C++如何编写函数模板?(泛型编程入门)
如何选择美橙互联多站合一建站方案?
建站主机助手选型指南:2025年热门推荐与高效部署技巧
网站制作难吗安全吗,做一个网站需要多久时间?
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?
微信小程序制作网站有哪些,微信小程序需要做网站吗?
北京专业网站制作设计师招聘,北京白云观官方网站?
建站主机选购指南与交易推荐:核心配置解析
建站主机选哪种环境更利于SEO优化?
南平网站制作公司,2025年南平市事业单位报名时间?
建站之星后台密码遗忘?如何快速找回?
定制建站平台哪家好?企业官网搭建与快速建站方案推荐
制作网站的公司有哪些,做一个公司网站要多少钱?
天津个人网站制作公司,天津网约车驾驶员从业资格证官网?
建站之星在线客服如何快速接入解答?
建站之星安装后如何配置SEO及设计样式?
,柠檬视频怎样兑换vip?
网页设计网站制作软件,microsoft office哪个可以创建网页?
如何快速选择适合个人网站的云服务器配置?
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
建站之星导航配置指南:自助建站与SEO优化全解析
如何零基础开发自助建站系统?完整教程解析
如何设计高效校园网站?
建站之星下载版如何获取与安装?
建站之星官网登录失败?如何快速解决?
详解jQuery停止动画——stop()方法的使用
制作网页的网站有哪些,电脑上怎么做网页?
*请认真填写需求信息,我们会在24小时内与您取得联系。