如何使用JSP+MySQL创建留言本(三)
下面我们开始建立留言的页面!
%@page
import ="java.util.*"
import ="java.text.*"
import="java.sql.*"
import ="java.io.*"
import ="java.lang.*"
contentType="text/html; charset=gb2312"
%>
%
class CommentError// throws java.lang.NullPointerException
{ public String Username="",Sex="",Address="",Postal="",Oicq="",Icq="",Tel="",Comment="";
public boolean NoError=true;//false;
public int ErrorCount=0;
private boolean IsNumber(String s1) {}
public String font (String se) {}
public String Comment_Er(String se) {}
public void Username (String se) {}
public void Sex (String se) {}
public void Address (String se) {}
public void Comment (String se) {}
public void Tel (String se) {}
public void Postal (String se) {}
public void Oicq (String se) {}
public void Icq (String se) {}
}
class FormatComment
{ public String Replace(String source, String oldString, String newString) {}
public String formatint(String se) {}
public String fromatcomment(String se) {}
public String toHtmlInput(String str) {}
public String toHtml(String str) {}
public String toSql(String str) {}//转换为可以加入Myqal的格式
}
%>
html>
head>
meta http-equiv="Content-Type" content="text/html; charset=gb2312">
meta name="GENERATOR" content="Microsoft FrontPage 4.0">
meta name="ProgId" content="FrontPage.Editor.Document">
title>使用MYsql数据库/title>
/head>
body>
p align="center">center>font style="COLOR: blue; FONT-FAMILY: 方正舒体,华文行楷,隶书,宋体; FONT-SIZE: 16pt">萍慧jsp留言薄/font>/center>/p>
p align="center">
%! String username,sex,address,post,oicq,icq,telnumber,comment,email,url.urltitle;
%>
%
try{ username=request.getParameter("name");
}catch (NullPointerException e){ username="";}
try{ comment=request.getParameter("comment");
}catch (NullPointerException e){ comment="";}
try{ sex=request.getParameter("sex");
}catch (NullPointerException e){ sex="";}
try{ address=request.getParameter("address");
}catch (NullPointerException e){ address="";}
try{ post=request.getParameter("postal");
}catch (NullPointerException e){ post="";}
try{ oicq=request.getParameter("oicq");
}catch (NullPointerException e){ oicq="";}
try{ icq=request.getParameter("icq");
}catch (NullPointerException e){ icq="";}
try{ telnumber=request.getParameter("telphone");
}catch (NullPointerException e) { telnumber= ""; }
try{ email=request.getParameter("email");
}catch (NullPointerException e) { email= ""; }
try{ url=request.getParameter("url");
}catch (NullPointerException e) { url= ""; }
try{ urltitle=request.getParameter("urltitle");
}catch (NullPointerException e) { urltitle= ""; }
String ip=request.getRemoteAddr();//得到IP地址
String time=(new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss", Locale.US )).format(new java.util.Date());
String userid="";
String MyQuery="";
此处我调用了一个对留言进行合法检验的类
CommentError testcomment= new CommentError();
testcomment.Username(username);
testcomment.Postal (post);
testcomment.Sex(sex);
testcomment.Address(address);
testcomment.Tel(telnumber);
testcomment.Comment(comment);
testcomment.Oicq(oicq);
testcomment.Icq(icq);
if (testcomment.NoError) //留言中没有错误,写数据库
try {//写数据库成功
java.sql.Connection sqlConn; //数据库连接对象
java.sql.Statement sqlStmt; //语句对象
java.sql.ResultSet sqlRst; //结果集对象
//登记JDBC驱动对象
Class.forName ("org.gjt.mm.mysql.Driver").newInstance ();
//连接数据库
sqlConn= java.sql.DriverManager.getConnection ("jdbc:mysql://localhost/pinghui","test","");
//创建语句对象
sqlStmt=sqlConn.createStatement (java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
//执行Sql语句
此处调用了一个对留言进行处理的类,是留言能被Mysql承认,
FormatComment FC= new FormatComment();
oicq=FC.formatint(oicq);
icq=FC.formatint(icq);
post=FC.formatint(post);
telnumber=FC.formatint(telnumber);
username=FC.toSql(username);
comment=FC.toSql(comment);
MyQuery="insert into comment (username,sex,address,ip,post,oicq,icq,telnumber,comment,time,url,email) values ('"+username+"','"+sex+"','"+address+"','"+ip+"',"+post+","+oicq+","+icq+",'"+telnumber+"','"+comment+"',now(),'"+url+"','"+email+"');";
sqlRst=sqlStmt.executeQuery (MyQuery); //向数据库中加入数据
sqlRst.close();//关闭结果集对象
sqlStmt.close ();//关闭语句对象
sqlConn.close(); //关闭数据库连接
out.print (time);
%>
font size="5" face="华文行楷">留言成功,谢谢!/font>
table border="0" cellpadding="0" cellspacing="0" width="100%">
tbody>
tr>
td width="25%">昵称:%=username%>/td>
td width="25%">性别:%=sex%>/td>
td colspan="2" width="50%">地址:%=address %>/td>
/tr>
tr>
td width="25%">电话:%=telnumber%>/td>
td width="25%">邮编:%=post%>/td>
td width="25%">OICQ:%=oicq%>/td>
td width="25%">ICQ:%=icq%>/td>
/tr>
tr>
td colspan="2" width="50%">Email:a href="mailto:" title="写信给留言者">/a>/td>
td colspan="2" width="50%">网址:a href target="_blank">/a>/td>
/tr>
tr>
td colspan="4">font style="COLOR: green; LINE-HEIGHT: 150%">留言:/font>%=comment%>font style="COLOR: green; LINE-HEIGHT: 150%">br>
nbsp;nbsp;nbsp;nbsp;-/font>%=time %>font style="COLOR: green; LINE-HEIGHT: 150%">(来自/font>%=ip %>font style="COLOR: green; LINE-HEIGHT: 150%">)/font>/td>
/tr>
/tbody>
/table>
hr color="#0080c0" noshade size="1" width="100%">
%
} catch (SQLException e) //写数据库失败
{ out.print ("font color=red>留言失败/font>");
out.print (MyQuery);
out.print (userid);
}
else
{
out.print ("font color=red>总共有"+testcomment.ErrorCount+"条错误数据,请修改!/font>");
%>
script language="JavaScript">
!--
function test_comments(theForm)
{
if (theForm.name.value == "")
{ alert("姓名不能为空!:-)");
theForm.name.focus();
return (false);
}
if (theForm.name.value.length > 12)
{ alert("姓名太长,不能多于12个字符(既六个汉字)!");
theForm.name.focus();
return (false);
}
if (theForm.address.value.length > 40)
{ alert("地址太长,不能多于40个字符(20个汉字)!");
theForm.name.focus();
return (false);
}
if (theForm.comment.value == "")
{ alert("抱歉,留言不能为空!你必须输入留言");
theForm.comment.focus();
return (false);
}
if (theForm.comment.value.length > 1000)
{ alert("抱歉,你的留言太长,最多为1000个字符!");
theForm.comment.focus();
return (false);
}
return (true);
} -->
table>
tr>
td>
table cellspacing="0" cellpadding="0">
tr>
td>!--表单开始-->
form action="addmysql.jsp" method="POST" name="all_comments" onsubmit="javascript:return (test_comments(this))">
table border="0" width="100%" cellspacing="0" cellpadding="0">
tr>
td width="60%">昵nbsp;称:input name="name" size="20" value="%if (username != null) out.print (username);%>">%=testcomment.Comment_Er("username")%>/td>
td nowrap width="40%">性nbsp;别:select name="sex" size="1">
option selected value="男" %if(sex=="男") out.print ("select"); %>>男/option>
option value="女" %if(sex=="女") out.print ("select"); %>>女/option>
option value="保密" %if(sex=="保密") out.print ("select"); %>>保密/option>
/select>%=testcomment.Comment_Er("sex")%>/td>
/tr>
tr>
td colspan="2">地nbsp;址:input name="address" size="40" value="%if (address!=null) out.print(address);%>">%=testcomment.Comment_Er("address")%>/td>
/tr>
tr>
td>电nbsp;话:input name="telphone" size="15" value="%if(telnumber!=null)out.print(telnumber);%>">%=testcomment.Comment_Er("tel")%>/td>
td>邮nbsp;编:input name="postal" size="6" value="%if(post!=null) out.print(post);%>">%=testcomment.Comment_Er("postal")%>/td>
/tr>
tr>
td>nbsp;OICQ:input name="oicq" size="10" value="%if(oicq!=null) out.print (oicq);%>">%=testcomment.Comment_Er("oicq")%>/td>
td>nbsp;ICQnbsp;:input name="icq" size="15" value="%if(icq!=null)out.print(icq);%>">%=testcomment.Comment_Er("icq")%>/td>
/tr>
tr>
td colspan="2">Email:input name="email" size="25" value="%if(email!=null) out.print(email);%>">%//=testcomment.Comment_Er("")%>/td>
/tr>
tr>
td colspan="2">网nbsp;址:input name="url" size="40" value="%if(url!=null)out.print(url);%>">%//=testcomment.Comment_Er("")%>/td>
/tr>
tr>
td colspan="2">textarea cols="80" name="comment" rows="10" wrap="physical">%if (comment!=null)out.print (comment);%>/textarea>
tr>
td align="right">input name="put_submit" type="submit" value="确定" ?>/td>
td align="left">input name="r" type="reset" value="重置">/td>
/tr>
/table>
/form>
!--提交表单结束-->
/td>
td>%=testcomment.Comment_Er("comment")%>请注意:你所输入的内容中,昵称和留言为必须输入的项目!br>
不支持html标志/td>
/tr>
/table>
/td>
/tr>
/table>
%
}
%>
/body>
您可能感兴趣的文章:- 如何使用JS获取IE上传文件路径(IE7,8)
- 如何使用json在前后台进行数据传输实例介绍
- 如何使用JSP连接DB2数据库
- 如何使用JSP+MySQL创建留言本(二)
- 如何使用JSP+MySQL创建留言本(一)
- 如何使用JSP访问MySQL数据库
- 详解如何较好的使用js