java实现留言板功能实例

JSP+JavaBean的留言板技术

<span style="font-size:16px;">Messages.html
<HTML></span><span style="font-size:16px;"><HEAD> <TITLE> message board </TITLE></HEAD>
<BODY> <center>留言板</center>
<FORM action="addMessage.jsp" >
 <TABLE border=1 align="center">
 <TR><TD>姓名:</TD><TD><input type="text" name="name" size=25>
  </TD></TR>
 <TR><TD>E-mail:</TD>
  <TD><input type="text" name="email" size=25></TD></TR>
 <TR><TD>主题:</TD>
  <TD><input type="text" name="title" size=25></TD></TR>
  <TR><TD>留言:</TD>
  <TD><textarea name="content" rows=7 cols=25></textarea>
  </TD></TR>
  <TR><TD colspan=3>
<TABLE align="center" width="100%" cellspacing="0" cellpadding="0" >
  <TR>
   <TD align="center"><input type="submit" value="提交留言"></TD>
  <TD align="center">
  <a href="viewMessages.jsp" rel="external nofollow" ><font size=2>查看留言</font></a></TD>
  <TD align="center"><input type="reset" value="重新填写"></TD>
  </TR></TABLE></TD> </TR></TABLE></FORM></BODY></HTML></span>
?
<span style="font-size:16px;">MessageData.java
package message;
public class MessageData
 { private String name,email,title,content;
  //setter或者getter方法
  public void setName(String name){this.name=name;}
  public void setEmail(String email){ this.email=email;}
  public void setTitle(String title){ this.title=title;}
  public void setContent(String content){this.content=content;}
  public String getName(){ return this.name;}
  public String getContent(){ return this.content;}
  public String getTitle(){ return this.title;}
  public String getEmail(){ return this.email;}}</span>
?
<span style="font-size:16px;">viewMessages.jsp
  <%@ page contentType="text/html; charset=GBK" import="message.MessageData" %>
<%@ page import="java.util.*"%>
<jsp:useBean id="myBean" class="message.MessageBean" scope="page"/>
<HTML><HEAD><TITLE> show the message in the table </TITLE></HEAD>
<BODY><p align="center">所有留言</p>
 <TABLE align="center" width="80%" border=1 >
 <%
  int message_count=0;
  Collection <MessageData> messages=myBean.getAllMessage();
  Iterator <MessageData> it=messages.iterator();
  while(it.hasNext()){ MessageData mg=(MessageData)it.next();
 %>
  <tr>
    <td width="20%">留言人:</td>
    <td width="23%"><%=mg.getName()%></td>
    <td width="58%" align="center"><% out.println(
  "<a href=mailto:"+mg.getEmail()+">"+mg.getEmail()+"</a>");
%></td></tr>
  <tr>
    <td width="20%">主题:</td>
    <td colspan="3"><%=mg.getTitle()%></td>
  </tr>
  <tr>
    <td width="20%">内容:</td>
    <td colspan="3"><%=mg.getContent()%></td>
  </tr>
  <% message_count++;
 }
  %>
 </Table>
<p align="center"><a href="Messages.html" rel="external nofollow" >我要留言</a></p>
</body></html></span>
?
<span style="font-size:16px;">addMessage.jsp
<%@ page language="java" contentType="text/html; charset=GBK"
  pageEncoding="GBK"%>
<jsp:useBean id="Mdata" class="message.MessageData" scope="page">
  <jsp:setProperty name="Mdata" property="*"/></jsp:useBean>
<jsp:useBean id="myBean" class="message.MessageBean" scope="page"/>
<HTML><HEAD><TITLE> message into table </TITLE></HEAD>
<BODY>
<% try { myBean.setMessage(Mdata);  myBean.addMessage(); }
  catch(Exception e) { e.printStackTrace();}
%>
<jsp:forward page="viewMessages.jsp" />
</body></html></span>
?
<span style="font-size:16px;">MessageData.java
package message;
public class MessageData
 { private String name,email,title,content;
  //setter或者getter方法
  public void setName(String name){this.name=name;}
  public void setEmail(String email){ this.email=email;}
  public void setTitle(String title){ this.title=title;}
  public void setContent(String content){this.content=content;}
  public String getName(){ return this.name;}
  public String getContent(){ return this.content;}
  public String getTitle(){ return this.title;}
  public String getEmail(){ return this.email;}}</span>
?
<span style="font-size:16px;">MessageBean.java
package message;
import java.sql.*;  //引入java.sql包
import java.util.*;
public class MessageBean {
  private Connection con;   MessageData msg;
  public MessageBean()
  { String JDriver="com.mysql.jdbc.Driver"; //定义驱动程序对象
   String userName="root"; //定义数据库用户名
   String userPasswd=""; //定义数据库存取密码
   String dbName="message"; //定义数据库名
   String conURL="jdbc:mysql://localhost:3306/"+dbName;
   try{Class.forName(JDriver).newInstance(); //加载JDBC驱动程序
  con=DriverManager.getConnection(conURL,userName,userPasswd);
  //连接数据库
    }
  catch(Exception e){System.err.println(e.getMessage());}
  }
  public void setMessage(MessageData msg) {this.msg=msg;}
  //  添加一条留言消息
  public void addMessage()throws Exception
  { try{ byte b1[]=msg.getTitle().getBytes("ISO-8859-1");
      String ti=new String(b1);
      byte b2[]=msg.getName().getBytes("ISO-8859-1");
      String na=new String(b2);
      byte b3[]=msg.getEmail().getBytes("ISO-8859-1");
      String em=new String(b3);
      byte b4[]=msg.getContent().getBytes("ISO-8859-1");
      String c=new String(b4);
      PreparedStatement stm=con.prepareStatement(
  "insert into messagetable values(?,?,?,?)");
      stm.setString(1,ti); stm.setString(2,na);
      if((msg.getEmail()).length()==0)stm.setString(3,"");
      else stm.setString(3,em);
      stm.setString(4,c);
      try {stm.execute();  stm.close(); }
      catch(Exception e) { }
      con.close(); //关闭数据库连接
    }
    catch(Exception e){ e.printStackTrace(); throw e;}
  }
  //  获得所有留言消息,并返回结果到JSP页面
 public Collection<MessageData> getAllMessage()throws Exception
  { Collection<MessageData> ret=new ArrayList<MessageData>();
  try{ Statement stm=con.createStatement();
     ResultSet result=stm.executeQuery(
  "select count(*) from messagetable");
    int message_count=0;
    if(result.next()){ message_count=result.getInt(1);
        result.close(); }
    if(message_count>0)
    { result=stm.executeQuery("select * from messagetable ");
   while(result.next())
  { String title=result.getString("title");
     String name=result.getString("name");
     String email=result.getString("email");
     String content=result.getString("content");
     MessageData message=new MessageData();
     message.setTitle(title); message.setName(name);
  message.setEmail(email); message.setContent(content);
  ret.add(message);
    }
    result.close();   stm.close();
   }
  con.close();
  }
  catch(Exception e)
   { e.printStackTrace(); throw e; }
  return ret;
  }
}</span>

功能简单的留言板,但是清楚的说明了JSP+JavaBean技术的运用,需要的朋友可以参考

(0)

相关推荐

  • Java语言实现简单FTP软件 FTP软件主界面(4)

    首先看一下FTP软件的整体代码框架,具体内容如下 1.首先介绍程序的主入口FTPMain.java,采用了一个漂亮的外观风格 package com.oyp.ftp; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.UIManager; import com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel; public class F

  • Java实现鼠标拖拽移动界面组件

    默认的,Frame或者JFrame自身已经实现了鼠标拖拽标题栏移动窗口的功能. 只是,当你不满意java的JFrame样式,隐藏了标题栏和边框,又或者干脆直接使用JWindow,那你又该怎么实现鼠标拖拽移动窗口的目的呢?最开始,我简单的在mouseDragged方法里frame.setLocation(e.getX(), e.getY()),结果,frame拖拽的时候不停地闪烁,位置在屏幕上不断跳动.后来网上查资料,找到了答案. 这里给一个简单的示例,一看就明白: package com.jeb

  • Java图形用户界面之列表框

    列表框通过Swing组件JList产生,其总是在屏幕上占据固定行数的空间.如果要得到列表框中被选中的元素,只需调用getSelectedValuesList(),它可以产生一个字符串数组,内容为被选中的元素名称.JList组件允许多重选择:如果按住Ctrl键,可以选中所有点击的元素:如果选中一个元素,按住Shift键并单击另一个元素,那么这两个元素之间的所有元素都被选中:要从选中的元素中去掉一个,按住Ctrl键单击该元素即可. 初始化列表框后,接着便是向列表框添加和修改内容.分为静态操作和动态操

  • 第一次编写Java流布局图形界面

    本文实例为大家分享了Java流布局图形界面编写代码,供大家参考,具体内容如下 package jisuanqi; import java.awt.*; public class MyFrame extends Frame{ //继承Frame类 public MyFrame() { super("第一个图形界面"); //设置框架窗口标题 this.setSize(200, 130); //设置组件尺寸(宽,高) this.setLocation(300, 240); //设置组件的显

  • java实现留言板功能实例

    JSP+JavaBean的留言板技术 <span style="font-size:16px;">Messages.html <HTML></span><span style="font-size:16px;"><HEAD> <TITLE> message board </TITLE></HEAD> <BODY> <center>留言板</c

  • 使用PHP连接数据库实现留言板功能的实例讲解(推荐)

    PHP实现留言板功能: 1 首先是登录页面: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>留言板登录</title> <script src="bootstrap/js/jquery-1.11.2.min.js"></script> <script src="bootstrap/j

  • php实现留言板功能(会话控制)

    本文实例为大家分享了php留言板功能的具体代码,供大家参考,具体内容如下 数据库用到的三张表 一.登录界面 (denglu.php   login.php) 1.denglu.php <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <h1>开发部内部留言板<

  • 简单实现PHP留言板功能

    本文实例为大家分享了PHP留言板功能的具体实现代码,供大家参考,具体内容如下 HTML代码 <div class="continer" > <div class="head" style="background-color:rgb(217,237,247);height:50px;vertical-align:middle"><h2 style="color: rgb(81,117,114)"&g

  • php+Memcached实现简单留言板功能示例

    本文实例讲述了php+Memcached实现简单留言板功能.分享给大家供大家参考,具体如下: MyPdo.php <?php class MyPdo{ private $pdo; function __construct() { $this->pdo = $this->getPdo(); } /** * CreatePDO * * @return PDO */ public function getPdo() { $dbms='mysql'; $dbName='testdb'; $use

  • PHP实现的简单留言板功能示例【基于thinkPHP框架】

    本文实例讲述了PHP实现的简单留言板功能.分享给大家供大家参考,具体如下: 入口文件  文件名 index.php <?php // 应用入口文件 // 检测PHP环境 if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !'); // 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false define('APP_DEBUG',True);//开发调试模式 //define('APP_DEB

  • 微信小程序实现留言板功能

    本文实例为大家分享了微信小程序实现留言板功能,可以手写,可以删除,可以快速留言,供大家参考,具体内容如下 const app = getApp(); Page({ /** * 页面的初始数据 */ data: { msgData: [ { child_id: 1, msg: "泡澡水不要太热.", checked:'' },//双引号 { child_id: 2, msg: "面部比较干,想补个水.", checked: '' }, { child_id: 3, m

  • 原生JS实现留言板功能

    本文实例为大家分享了JS实现留言板功能的具体代码,供大家参考,具体内容如下 实现这个留言板功能比较简单,所以先上效果图: 实现用户留言内容,留言具体时间. <script> window.onload = function(){ var oMessageBox = document.getElementById("messageBox"); var oInput = document.getElementById("myInput"); var oPos

  • javascript实现留言板功能

    本文实例为大家分享了javascript实现留言板功能的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> *{ margin: 0; padding: 0; } .box{ /*设置最外层盒子*/ width:

  • 基于JavaScript实现留言板功能

    本文实例为大家分享了JavaScript实现留言板功能的具体代码,供大家参考,具体内容如下 html代码 <div id="main" class="main"> <ul id="content" class="content"> <li class="msgContent left">hello?</li> <div style="clear

随机推荐