基于mysql数据库支持的留言板的实例

基于mysql数据库支持的留言板的实例

 

一、创建一个web工程名称:manhongliu

启动MyEclipse—New—WebProject—Project Name:manhongliu—Java EE 5.0—Finish--复制数据库驱动程序mysql-connector-java-5.1.6-bin.jar到工程中添加到内路径:将鼠标放到驱动程序上右键—Build Path—Add to Build Path

二、创建数据库zhoulanzhen创建表usertable

(1)启动Mysql—创建数据库zhoulanzhencreate database zhoulanzhen;

(2)创建表:usertablecreate table usertable(id int(11) auto_increment primary key, name varchar(20) not null,phone varchar(20) not null,email varchar(20), title varchar(40) not null, content varchar(200) not null, time datetime);

 

 

三、新建表单AddMessage.htm文件

启动Dreamweaver—新建htm文件制作表单:各控件的名称是它们自己,如:姓名是name

存盘到:manhongliuWebRoot--名字:AddMessage.htm—添加action=”/manhongliu/servlet/AddMessageServlet”这是添加到数据库的servlet

四、新建添加留言内容到数据库的servlet名称:AddMessageServlet.

New—Servlet—Package:com.manhongliu—Name:AddMessageServlet—Create doPost—Next—Servlet/JSP Mapping URL: /servlet/AddMessageServlet—Finish—编辑AddMessageServlet如下:

package com.manhongliu;

 

import java.io.IOException;

import java.io.PrintWriter;

import java.sql.Connection;

import java.sql.PreparedStatement;

 

import java.sql.SQLException;

import java.sql.Timestamp;

 

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

public class AddMessageServlet extends HttpServlet

    {       //1

 

    private static final long serialVersionUID = 2059282498034052536L;

 

      

       public void doPost(HttpServletRequest request,

              HttpServletResponse response) throws ServletException,IOException

           {      //2

              request.setCharacterEncoding("utf-8");

                response.setCharacterEncoding("utf-8");

                response.setContentType("text/html;charset=utf-8");

              PrintWriter out = response.getWriter();

              int result8=0;

          

              out.println("<HTML>");

              out.println("  <HEAD><TITLE>A POST Servlet</TITLE></HEAD>");

              out.println("  <BODY>");

             

              String driver="com.mysql.jdbc.Driver"; 

              String rul="jdbc:mysql://localhost:3306/zhoulanzhen?";

              String username="root";

              String password="root";

              String sql="insert into usertable(name,phone,email,title,content,time) values(?,?,?,?,?,?)";

          

   

               try

                     {    //3

                      Class.forName(driver);

                         Connection conn= java.sql.DriverManager.getConnection (rul,username,password);

                        PreparedStatement pstmt=conn.prepareStatement(sql);

                          

                        pstmt.setString(1, StringUtil.filterHtml(request.getParameter("name")));

                      pstmt.setString(2, StringUtil.filterHtml(request.getParameter("phone")));

                      pstmt.setString(3, StringUtil.filterHtml(request.getParameter("email")));

                      pstmt.setString(4, StringUtil.filterHtml(request.getParameter("title")));

                      pstmt.setString(5, StringUtil.filterHtml(request.getParameter("content")));

                      pstmt.setTimestamp(6, new Timestamp(System.currentTimeMillis()));

                      result8= pstmt.executeUpdate();

                      

                      out.println(result8);

                      if(result8==0)

                            {

                                out.println("对不起,留言不成功");

                            }

                         else{

                            out.println("添加成功");

                            out.println("<a href='/manhongliu/servlet/GetMessageServlet'>查看留言内容</a>");

                             } 

 

                      

                      pstmt.close();

                       conn.close();

                       out.flush();

                       out.close();

                         

                     }  //3

                     catch (ClassNotFoundException e)

                         {  //4

                            e.printStackTrace();

                         }  //4

                     catch (SQLException e)

                         {  //5

                            e.printStackTrace();

                         }   //5

                    

                    

                      out.println("</BODY>");

                      out.println("</HTML>");

                       

             }   //2

 

    }     //1

 

 

五、创建一个工具类StringUtil包名com.manhongliu起过滤字符的作用,程序代码:

package com.manhongliu;

public class StringUtil

{

 

    public static String filterHtml(String value){

                  value=value.replaceAll("&", "&amp;");

                  value=value.replaceAll("<", "&lt;");

                  value=value.replaceAll(">", "&gt;");

                  value=value.replaceAll(" ", "&nbsp;");

                  value=value.replaceAll("'", "&#39;");

                  value=value.replaceAll("/"", "&quot;");

                  value=value.replaceAll("/n", "<br>");

                  return value;

                }

 

}

 

六、新建显示留言内容的servlet名称:GetMessageServlet其程序如下:

package com.manhongliu;

 

import java.io.IOException;

import java.io.PrintWriter;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

public class GetMessageServlet extends HttpServlet

    {

 

    private static final long serialVersionUID = -2884268876112198563L;

 

        public void doGet(HttpServletRequest request,

              HttpServletResponse response) throws ServletException,IOException

           {

 

              request.setCharacterEncoding("gb2312");

              response.setCharacterEncoding("gb2312");

              response.setContentType("text/html;charset=gb2312");

              PrintWriter out=response.getWriter();

             

              String driver="com.mysql.jdbc.Driver"; 

               String rul="jdbc:mysql://localhost:3306/zhoulanzhen?";

               String username="root";

               String password="root";

               String sql="select * from usertable";

             

              out.println("<html>");

              out.println("<head><title>display Message</title></head>");

              out.println("<body>");

             

              try

                  {

                   Class.forName(driver);

                     Connection conn= java.sql.DriverManager.getConnection (rul,username,password);

                     PreparedStatement pstmt=conn.prepareStatement(sql);

                     ResultSet rs=pstmt.executeQuery();

                     //5.显示结数据库里的数据

                     while(rs.next()){

                                 printRow(out,rs);

                                         }

 

 

                   rs.close();

                   pstmt.close();

                    conn.close();

                    out.flush();

                    out.close();

 

                  }

              catch (ClassNotFoundException e)

                  {

                     e.printStackTrace();

                  }

              catch (SQLException e)

                  {

                     // TODO Auto-generated catch block

                     e.printStackTrace();

                  } 

           }

        public void printRow(PrintWriter out,ResultSet rs)throws SQLException

        {

               out.println("<table with='600' border='1'>");      

               out.println("<tr><td width='50'>编号:</td>");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 

               out.println("<td width='550'>"+rs.getInt("id")+"</td></tr>");

               out.println("<tr><td width='50'>姓名:</td>");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              

               out.println("<td width='550'>"+rs.getString("name")+"</td></tr>");  

               out.println("<tr><td width='50'>电话:</td>");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              

               out.println("<td width='550'>"+rs.getString("phone")+"</td></tr>");

               out.println("<tr><td width='50'>邮箱:</td>");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              

               out.println("<td width='550'>"+rs.getString("email")+"</td></tr>");

               out.println("<tr><td width='50'>主题:</td>");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              

               out.println("<td width='550'>"+rs.getString("title")+"</td></tr>");

               out.println("<tr><td width='50'>内容:</td>");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              

               out.println("<td width='550'>"+rs.getString("content")+"</td></tr>");  

               out.println("<tr><td width='50'>时间:</td>");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          

               out.println("<td width='550'>"+rs.getString("time")+"</td></tr>");

                out.println("</table>");

        }

    }

 

七、部署运行

 

 http://localhost:8080/manhongliu/AddMessage.htm

 

                           

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值