Java Web 网络留言板3 Commons-DbUtils

addMessage.htm

代码;

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="/guestbook3/js/validation-framework.js"></script>
<script type="text/javascript" src="/guestbook3/fckeditor/fckeditor.js"></script>
<title>add message</title>
</head>
<body>
 <p align="center">请您输入留言</p>
  <p align="center"><a href="/guestbook3/servlet/getMessages">查看留言</a></p>
<form id="form1" name="form1" method="post" action="/guestbook3/servlet/addMessage" onsubmit="return doValidate(this)">
  <table width="600" height="400" border="0" align="center">
    <tr>
      <td width="100">姓名:</td>
      <td width="500">
        <input name="name" type="text" id="name" size="40" maxlength="20" />
      </td>
    </tr>
    <tr>
      <td>E-Mail:</td>
      <td>
        <input name="email" type="text" id="email" size="40" maxlength="40" />
      </td>
    </tr>
    <tr>
      <td>电话:</td>
      <td>
        <input name="phone" type="text" id="phone" size="40" maxlength="20" />
      </td>
    </tr>
    <tr>
      <td>主题:</td>
      <td>
        <input name="title" type="text" id="title" size="80" maxlength="80" />
      </td>
    </tr>
    <tr>
      <td valign="top">内容:</td>
      <td>
  <script type="text/javascript">
      var oFCKeditor = new FCKeditor("content");   
      oFCKeditor.BasePath = '/guestbook3/fckeditor/' ;
      oFCKeditor.Height = 300 ;
   oFCKeditor.ToolbarSet = 'Basic';
   oFCKeditor.Create() ;
  </script>
 </td>
    </tr>
    <tr>
      <td></td>
      <td>
         <input type="submit" name="Submit" value="提交" />
         <input type="reset" name="Reset" value="重置" />
      </td>
    </tr>  
  </table>
</form>
</body>
</html>

AddMessageServlet.java

代码:

package webbook.guestbook;
import java.io.*;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import javax.naming.*;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import javax.sql.DataSource;
import org.apache.commons.dbutils.QueryRunner;
import webbook.util.StringUtil;

public class AddMessageServlet extends HttpServlet {
 private static final long serialVersionUID = -8349454122547148005L;

 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  String sql = "insert into guestbook (id,name,email,phone,title,content,time) values(gb_seq.nextval,?,?,?,?,?,?)";
  int result = 0;
  request.setCharacterEncoding("utf-8");
  String name = request.getParameter("name");
  String title = request.getParameter("title");
  response.setContentType("text/html;charset=utf-8");
  PrintWriter out = response.getWriter();
  out.println("<html>");
  out.println("<head><title>guestbook input page</title></head>");
  out.println("<body>");
  
  if (StringUtil.validateNull(name)) {
   out.println("对不起,姓名不能为空,请您重新输入!<br>");
   out.println("<a href=\"" + request.getContextPath() + "/addMessage.htm\">添加新的留言</a><br>");
  } else if (StringUtil.validateNull(title)) {
   out.println("对不起,主题不能为空,请您重新输入!<br>");
   out.println("<a href=\"" + request.getContextPath() + "/addMessage.htm\">添加新的留言</a><br>");
  } else {

    //格式化时间
   SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
   String param[] = { StringUtil.filterHtml(name), StringUtil.filterHtml(request.getParameter("email")),
     StringUtil.filterHtml(request.getParameter("phone")), StringUtil.filterHtml(title),
     request.getParameter("content"), sdf.format(new java.util.Date()) };
   try {
    Context initContext = new InitialContext();
    DataSource ds = (DataSource) initContext.lookup("java:/comp/env/jdbc/oracleds");
    QueryRunner qr = new QueryRunner(ds);
    result = qr.update(sql, param);
   } catch (NamingException e) {
    e.printStackTrace();
   } catch (SQLException e) {
    e.printStackTrace();
   }

   if (result == 0) {
    out.println("对不起,添加留言不成功,请您重新输入!<BR>");
    out.println("<a href=\"" + request.getContextPath() + "/addMessage.htm\">添加新的留言</a><BR>");
   } else {
    out.println("祝贺您,成功添加留言。<BR>");
    out.println("<a href=\"" + request.getContextPath() + "/servlet/getMessages\">查看所有留言内容</a><BR>");
   }
   out.println(" </body>");
   out.println("</html>");
   out.flush();
   out.close();
  }
 }
}

GetMessageServlet.java

代码:

package webbook.guestbook;
import java.io.*;
import java.sql.*;
import java.util.*;
import javax.naming.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.sql.DataSource;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.MapListHandler;
import webbook.util.StringUtil;

public class GetMessagesServlet extends HttpServlet {
 private static final long serialVersionUID = 5964428201228635704L;

 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  String sql = "select * from guestbook order by id desc";
  response.setContentType("text/html;charset=utf-8");
  PrintWriter out = response.getWriter();
  out.println("<html>");
  out.println("<head><title>display messages</title></head>");
  out.println("<style>");
  out.println("*{font-family:\"宋体\";font-size: 14px}");
  out.println("</style>");
  out.println("<body><center>");
  out.println("<a href=\"" + request.getContextPath() + "/addMessage.htm\">添加新的留言内容</a><br>");
  out.println("留言内容<br><br>");

  try {
   Context initContext = new InitialContext();
   DataSource ds = (DataSource) initContext.lookup("java:/comp/env/jdbc/oracleds");
   QueryRunner qr = new QueryRunner(ds);
   // 使用MapListHandler
   MapListHandler handler = new MapListHandler();
   List list = (List) qr.query(sql, handler);
   for (int i = 0; i < list.size(); i++) {
    Map map = (Map) list.get(i);
    printRow(out, map);
   }
  } catch (NamingException e) {
   e.printStackTrace();
  } catch (SQLException e) {
   e.printStackTrace();
  }
  out.println("</center></body>");
  out.println("</html>");
  out.flush();
  out.close();
 }

 private void printRow(PrintWriter out, Map map) {
  out.println("<table width=\"600\"  border=\"1\" bordercolor=\"000000\" style=\"table-layout:fixed;word-break:break-all\">");
  out.println("<tr><td width=\"50\" bordercolor=\"ffffff\">编号:</td>");
  out.println("<td width=\"550\"  bordercolor=\"ffffff\">" + map.get("id") + "</td></tr>");
  out.println("<tr><td bordercolor=\"ffffff\">姓名:</td><td  bordercolor=\"ffffff\">" + map.get("name") + "</td></tr>");
  out.println("<tr> <td bordercolor=\"ffffff\">电话:</td><td bordercolor=\"ffffff\">" + StringUtil.chanageNull((String) map.get("phone"), "没填")
    + "</td></tr>");
  out.println(" <tr><td bordercolor=\"ffffff\">email:</td><td  bordercolor=\"ffffff\">" + StringUtil.chanageNull((String) map.get("email"), "没填")
    + "</td> </tr>");
  out.println("<tr><td bordercolor=\"ffffff\">主题:</td><td  bordercolor=\"ffffff\" >" + map.get("title") + " </td> </tr>");
  out.println("<tr><td valign=\"top\" bordercolor=\"ffffff\">内容</td>");
  out.println(" <td valign=\"top\" bordercolor=\"ffffff\">" + StringUtil.chanageNull((String) map.get("content"), "没填")
    + "</td> </tr>");
  out.println("<tr><td bordercolor=\"ffffff\">时间</td><td bordercolor=\"ffffff\">" + map.get("time") + " </td></tr>");
  out.println("</table><br>");
 }
}

posted @ 2011-07-22 16:07  Hongten  阅读(1056)  评论(3编辑  收藏  举报
Fork me on GitHub