两个包MessageVO和MessageBean放在一起,
package mypackage;
import java.io.*;
import java.sql.*;
import java.util.*;
import java.lang.*;
import java.text.*;
public class MessageVO implements java.io.Serializable
{
private String name,email,title,content;
private java.sql.Date date;
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;
}
public void setDate(java.sql.Date date)
{this.date=date;
}
public java.sql.Date getDate()
{return this.date;
}
}class MessageBean 
{
private Connection con;
MessageVO msg;
 public MessageBean()
 { 
   String CLASSFORNAME="com.microsoft.jdbc.sqlserver.SQLServerDriver";
   String SERVANDDB="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=jspdev";
   String USER="sa";
   String PWD="bn";
 try{
     Class.forName(CLASSFORNAME);
     con=DriverManager.getConnection(SERVANDDB,USER,PWD);
    }
  catch(Exception e)
    { e.printStackTrace();
    }
  }
  public void setMessage(MessageVO msg)
 {
  this.msg=msg;
  }
  public void addMessage() throws Exception
  {
   try
     {PreparedStatement stm=con.prepareStatement("insert into message values(?,?,?,?,?)");
  stm.setString(1,msg.getTitle());
  stm.setString(2,msg.getName());
  stm.setDate(3,new java.sql.Date(new java.util.Date().getTime()));
  if((msg.getEmail()).length()==0)
  stm.setString(5,null);
  else stm.setString(5,msg.getEmail());
  stm.setString(4,msg.getContent());
  try
  {
   stm.executeQuery();
   }
  catch(Exception e)
  {
  }
   con.close();
    }
   catch(Exception e)
   {
    e.printStackTrace();
throw e;
   }
  }
  public Collection getMessage() throws Exception
  {
    Collection ret=new ArrayList();
try
{
  Statement stm=con.createStatement();
  ResultSet result=stm.executeQuery("select count(*) from message");
  int message_count=0;
  if(result.next())
  {
    message_count=result.getInt(1);
result.close();
   }
  if(message_count>0)
  {
    result=stm.executeQuery("select * from message order by time desc");
while(result.next())
{
  String title=result.getString("title");
  String name=result.getString("name");
  String email=result.getString("email");
  String content=result.getString("content");
  java.sql.Date date=result.getDate("time");
  MessageVO message=new MessageVO();
  message.setName(name);
  message.setTitle(title);
  message.setContent(content);
  message.setDate(date);
  message.setEmail(email);
  ret.add(message);
 }
   result.close();
   stm.close();
   }
   con.close();
}
catch(Exception e)
{
  e.printStackTrace();
  throw e;
 }
return ret;
  }
 }
  
JSP文件引用JAVABEAN, <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head><body>
<jsp:useBean id="message" class="mypackage.MessageVO" scope="page">
<jsp:setProperty name="message" property="*"/>
</jsp:useBean>
<html>
<head>
<title>add message into table</title>
</head>
<body>
<%
try
{
message.MessageBean.setMessage(message);
message.MessageBean.addMessage();
}
catch(Exception e)
{
e.printStackTrace();
}
%>
<jsp:forward page="viewMessages.jsp"/>
</body>
</html>
这样对吗?我感觉好象有问题,但又总是不知道该怎么改,请高手们帮帮忙哦,这问题困扰我很长时间了!谢谢了啊!