Cómo utilizar JSP+MySQL para crear un libro de visitas (3)
Autor:Eve Cole
Fecha de actualización:2009-07-02 17:13:14
下面我们开始建立留言的页面!
<%@página
importar = "java.util.*"
importar = "java.text.*"
importar="java.sql.*"
importar = "java.io.*"
importar = "java.lang.*"
contentType="texto/html; juego de caracteres=gb2312"
%>
<%
clase CommentError// lanza java.lang.NullPointerException
{ public String Nombre de usuario="",Sexo="",Dirección="",Postal="",Oicq="",Icq="",Tel="",Comentario="";
public boolean NoError=true;//false;
público int ErrorCount=0;
booleano privado IsNumber (cadena s1) {}
fuente de cadena pública (String se) {}
cadena pública Comment_Er (String se) {}
Nombre de usuario público vacío (String se) {}
Sexo público vacío (String se) {}
Dirección pública vacía (String se) {}
Comentario público vacío (String se) {}
Tel público vacío (String se) {}
Postal pública vacía (String se) {}
public void Oicq (String se) {}
public void Icq (String se) {}
}
formato de claseComentario
{ cadena pública Reemplazar (fuente de cadena, cadena antigua, cadena nueva) {}
formato de cadena pública (String se) {}
Cadena pública de comentario (String se) {}
cadena pública toHtmlInput (cadena cadena) {}
cadena pública a HTML (cadena cadena) {}
public String toSql(String str) {}//转换为可以加入Myqal的格式
}
%>
<html>
<cabeza>
<meta http-equiv="Tipo de contenido" content="text/html; charset=gb2312">
<meta nombre="GENERADOR" contenido="Microsoft FrontPage 4.0">
<meta nombre="ProgId" contenido="FrontPage.Editor.Document">
<título>使用MYsql数据库</título>
</cabeza>
<cuerpo>
<p align="center"><center><font style="COLOR: azul; FAMILIA DE FUENTE: 方正舒体,华文行楷,隶书,宋体; TAMAÑO DE FUENTE: 16pt">萍慧jsp留言薄</font </center></p>
<p align="centro">
<%! Cadena de nombre de usuario, sexo, dirección, publicación, oicq, icq, número de teléfono, comentario, correo electrónico, url.urltitle;
%>
<%
intentar { nombre de usuario = solicitud.getParameter ("nombre");
}catch (NullPointerException e){ nombre de usuario="";}
intentar { comentario = solicitud.getParameter ("comentario");
}catch (NullPointerException e){ comentario="";}
intentar {sexo=request.getParameter("sexo");
}catch (NullPointerException e){ sexo="";}
intentar{ dirección=request.getParameter("dirección");
}catch (NullPointerException e){ dirección="";}
intentar {post=request.getParameter("postal");
}catch (NullPointerException e){ post="";}
intentar{ oicq=request.getParameter("oicq");
}catch (NullPointerException e){ oicq="";}
intentar{ icq=request.getParameter("icq");
}catch (NullPointerException e){ icq="";}
try{ número de teléfono=request.getParameter("teléfono");
}catch (NullPointerException e) { número de teléfono = ""; }
intentar {correo electrónico=request.getParameter("correo electrónico");
}catch (NullPointerException e) { correo electrónico= ""; }
intentar {url=request.getParameter("url");
}catch (NullPointerException e) { url= ""; }
intentar {urltitle=request.getParameter("urltitle");
}catch (NullPointerException e) { urltitle= ""; }
String ip=request.getRemoteAddr();//得到IP地址
String time=(new SimpleDateFormat ("aaaa-MM-dd hh:mm:ss", Locale.US )).format(new java.util.Date());
Cadena ID de usuario="";
Cadena MiConsulta="";
此处我调用了一个对留言进行合法检验的类
CommentError testcomment = nuevo CommentError();
comentario de prueba.Nombre de usuario(nombre de usuario);
comentario de prueba.Postal (publicación);
comentario de prueba.Sexo(sexo);
comentario de prueba.Dirección(dirección);
comentario de prueba.Tel(número de teléfono);
comentario de prueba.Comentario(comentario);
comentario de prueba.Oicq(oicq);
comentario de prueba.Icq(icq);
if (testcomment.NoError) //留言中没有错误,写数据库
prueba {//写数据库成功
java.sql.Conexión 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= nuevo FormatComment();
oicq=FC.formatint(oicq);
icq=FC.formatint(icq);
publicación=FC.formatint(publicación);
número de tel=FC.formatint(número de tel);
nombre de usuario=FC.toSql(nombre de usuario);
comentario=FC.toSql(comentario);
MyQuery="insertar en el comentario (nombre de usuario, sexo, dirección, ip, publicación, oicq, icq, número de teléfono, comentario, hora, URL, correo electrónico) valores ('"+nombre de usuario+"','"+sexo+"','"+ dirección+"','"+ip+"',"+publicación+","+oicq+","+icq+",'"+número de teléfono+"','"+comentario+"',ahora(),'"+url+"' ,'"+correo electrónico+"');";
sqlRst=sqlStmt.executeQuery (MiConsulta); //向数据库中加入数据
sqlRst.close();//关闭结果集对象
sqlStmt.close ();//关闭语句对象
sqlConn.close(); //关闭数据库连接
out.print (hora);
%>
<font size="5" face="华文行楷">留言成功,谢谢!</font>
<table border="0" cellpadding="0" cellspace="0" ancho="100%">
<tcuerpo>
<tr>
<td width="25%">昵称:<%=nombre de usuario%></td>
<td width="25%">性别:<%=sex%></td>
<td colspan="2" width="50%">地址:<%=dirección %></td>
</tr>
<tr>
<td width="25%">电话:<%=número de teléfono%></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%">Correo electrónico:<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: verde; ALTURA DE LÍNEA: 150%">留言:</font><%=comment%><font style="COLOR: verde; ALTURA DE LÍNEA: 150%"><br>
-</font><%=time %><font style="COLOR: verde; ALTURA DE LÍNEA: 150%">(来自</font><%=ip %><font style="COLOR: verde; ALTURA DE LÍNEA: 150%">)</font></td>
</tr>
</tbody>
</tabla>
<hr color="#0080c0" tamaño noshade="1" ancho="100%">
<%
} captura (SQLException e) //写数据库失败
{ out.print ("<font color=red>留言失败</font>");
out.print (MiConsulta);
out.print (ID de usuario);
}
demás
{
out.print ("<font color=red>总共有"+testcomment.ErrorCount+"条错误数据,请修改!</font>");
%>
<lenguaje de escritura="JavaScript">
<!--
función test_comments (el formulario)
{
if (elForm.nombre.valor == "")
{ alert("姓名不能为空!:-)");
elForm.nombre.focus();
retorno (falso);
}
si (elForm.nombre.valor.longitud > 12)
{ alert("姓名太长,不能多于12个字符(既六个汉字)!");
elForm.nombre.focus();
retorno (falso);
}
si (elFormulario.dirección.valor.longitud > 40)
{ alert("地址太长,不能多于40个字符(20个汉字)!");
elForm.nombre.focus();
retorno (falso);
}
if (elForm.comment.value == "")
{ alert("抱歉,留言不能为空!你必须输入留言");
elForm.comment.focus();
retorno (falso);
}
si (elForm.comment.value.length > 1000)
{ alert("抱歉,你的留言太长,最多为1000个字符!");
elForm.comment.focus();
retorno (falso);
}
retorno (verdadero);
} -->
<tabla>
<tr>
<td>
<table cellspace="0" cellpadding="0">
<tr>
<td><!--表单开始-->
<formulario action="addmysql.jsp" método="POST" nombre="all_comments" onsubmit="javascript:return (test_comments(this))">
<table border="0" width="100%" cellspace="0" cellpadding="0">
<tr>
<td width="60%">昵 称:<input name="name" size="20" value="<%if (nombre de usuario! = nulo) out.print (nombre de usuario);%>">< %=testcomment.Comment_Er("nombre de usuario")%></td>
<td nowrap width="40%">性 别:<select name="sex" size="1">
<opción valor seleccionado="男" <%if(sex=="男") out.print ("select"); %>>男</option>
<opción valor="女" <%if(sex=="女") out.print ("select"); %>>女</option>
<opción valor="保密" <%if(sex=="保密") out.print ("seleccionar"); %>>保密</option>
</select><%=testcomment.Comment_Er("sexo")%></td>
</tr>
<tr>
<td colspan="2">地 址:<input name="address" size="40" value="<%if (address!=null) out.print(address);%>"><% =testcomment.Comment_Er("dirección")%></td>
</tr>
<tr>
<td>电 话:<input name="telphone" size="15" value="<%if(telnumber!=null)out.print(telnumber);%>"><%=testcomment.Comment_Er( "tel")%></td>
<td>邮 编:<input name="postal" size="6" value="<%if(post!=null) out.print(post);%>"><%=testcomment.Comment_Er( "postal")%></td>
</tr>
<tr>
<td> OICQ:<input name="oicq" size="10" value="<%if(oicq!=null) out.print (oicq);%>"><%=testcomment.Comment_Er(" oicq")%></td>
<td> ICQ :<input name="icq" size="15" value="<%if(icq!=null)out.print(icq);%>"><%=testcomment.Comment_Er( "icq")%></td>
</tr>
<tr>
<td colspan="2">Correo electrónico:<input name="email" size="25" value="<%if(email!=null) out.print(email);%>"><%//= comentario de prueba.Comment_Er("")%></td>
</tr>
<tr>
<td colspan="2">网 址:<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 (comentario!=null)out.print (comentario);%>< /área de texto>
<tr>
<td align="right"><input name="put_submit" type="submit" value="确定" ?></td>
<td align="left"><input name="r" type="reset" value="重置"></td>
</tr>
</tabla>
</formulario>
<!--提交表单结束-->
</td>
<td><%=testcomment.Comment_Er("comment")%>请注意:你所输入的内容中,昵称和留言为必须输入的项目!<br>
不支持html标志</td>
</tr>
</tabla>
</td>
</tr>
</tabla>
<%
}
%>
</cuerpo>