下面我们开始建立留言的页面!
<%@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;ICQ&nbsp;:<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>

如何使用JSP+MySQL创建留言本(三)的更多相关文章

  1. html5 拖拽及用 js 实现拖拽功能的示例代码

    这篇文章主要介绍了html5 拖拽及用 js 实现拖拽,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  2. amaze ui 的使用详细教程

    这篇文章主要介绍了amaze ui 的使用详细教程,本文通过多种方法给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  3. swift皮筋弹动发射飞机ios源码

    这是一个款采用swift实现的皮筋弹动发射飞机游戏源码,游戏源码比较详细,大家可以研究学习一下吧。

  4. 10.5 Swift类方法

    /**类型方法通过类名称来调用的方法,就像类型属性一样。

  5. Swift与Js通过WebView交互

    开发环境:Swfit2.3XCode8.2基础概念jscontext,jscontext是代表JS的执行环境,通过-evaluateScript:方法就可以执行一JS代码JSValue,JSValue封装了JS与ObjC中的对应的类型,以及调用JS的API等JSExport,JSExport是一个协议,遵守此协议,就可以定义我们自己的协议,在协议中声明的API都会在JS中暴露出来,才能调用Swif

  6. JSCore swift

    如果双方相互引用,会造成循环引用,而导致内存泄露。以上是Jscore的基本使用,比较简单

  7. Swift WKWebView的js调用swift

    最近项目需求,需要用到JavaScriptCore和WebKit,但是网上的资源有限,而且比较杂,都是一个博客复制另外一个博客,都没有去实际敲代码验证,下面给大家分享一下我的学习过程。

  8. Swift WKWebView的swift调用js

    不多说,直接上代码:在html里面要添加的的代码,显示swift传过去的参数:这样就实现了swift给js传参数和调用!

  9. 在 Swift 專案中使用 Javascript:編寫一個將 Markdown 轉為 HTML 的編輯器

    你有強烈的好奇心,希望在你的iOS專案中使用JavaScript。jscontext中的所有值都是JSValue對象,JSValue類用於表示任意類型的JavaScript值。因此,我們既需要寫Swift代碼也要寫JavaScript代碼。此外,我們還會在JavaScript中按照這個類的定義來創建一個對象并對其屬性進行賦值。從Swift中呼叫JavaScript就如介紹中所言,JavaScriptCore中最主要的角色就是jscontext類。一個jscontext對象是位於JavaScript環境和本

  10. swift - WKWebView JS 交互

    本文介绍WKWebView怎么与js交互,至于怎么用WKWebView这里就不介绍了HTML代码APP调JS代码结果JS给APP传参数首先注册你需要监听的js方法名2.继承WKScriptMessageHandler并重写userContentController方法,在该方法里接收JS传来的参数3.结果

随机推荐

  1. 基于EJB技术的商务预订系统的开发

    用EJB结构开发的应用程序是可伸缩的、事务型的、多用户安全的。总的来说,EJB是一个组件事务监控的标准服务器端的组件模型。基于EJB技术的系统结构模型EJB结构是一个服务端组件结构,是一个层次性结构,其结构模型如图1所示。图2:商务预订系统的构架EntityBean是为了现实世界的对象建造的模型,这些对象通常是数据库的一些持久记录。

  2. Java利用POI实现导入导出Excel表格

    这篇文章主要为大家详细介绍了Java利用POI实现导入导出Excel表格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  3. Mybatis分页插件PageHelper手写实现示例

    这篇文章主要为大家介绍了Mybatis分页插件PageHelper手写实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  4. (jsp/html)网页上嵌入播放器(常用播放器代码整理)

    网页上嵌入播放器,只要在HTML上添加以上代码就OK了,下面整理了一些常用的播放器代码,总有一款适合你,感兴趣的朋友可以参考下哈,希望对你有所帮助

  5. Java 阻塞队列BlockingQueue详解

    本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景,通过实例代码介绍了Java 阻塞队列BlockingQueue的相关知识,需要的朋友可以参考下

  6. Java异常Exception详细讲解

    异常就是不正常,比如当我们身体出现了异常我们会根据身体情况选择喝开水、吃药、看病、等 异常处理方法。 java异常处理机制是我们java语言使用异常处理机制为程序提供了错误处理的能力,程序出现的错误,程序可以安全的退出,以保证程序正常的运行等

  7. Java Bean 作用域及它的几种类型介绍

    这篇文章主要介绍了Java Bean作用域及它的几种类型介绍,Spring框架作为一个管理Bean的IoC容器,那么Bean自然是Spring中的重要资源了,那Bean的作用域又是什么,接下来我们一起进入文章详细学习吧

  8. 面试突击之跨域问题的解决方案详解

    跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。那怎么解决这个问题呢?接下来我们一起来看

  9. Mybatis-Plus接口BaseMapper与Services使用详解

    这篇文章主要为大家介绍了Mybatis-Plus接口BaseMapper与Services使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  10. mybatis-plus雪花算法增强idworker的实现

    今天聊聊在mybatis-plus中引入分布式ID生成框架idworker,进一步增强实现生成分布式唯一ID,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

返回
顶部