高手们:看看我的JAVABEANS这样编写对不对哦?

klly2008 2006-12-08 11:23:31
两个包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>
这样对吗?我感觉好象有问题,但又总是不知道该怎么改,请高手们帮帮忙哦,这问题困扰我很长时间了!谢谢了啊!


...全文
156 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
klly2008 2006-12-10
  • 打赏
  • 举报
回复
我加过了,可是还有错误啊。
msk316647129 2006-12-09
  • 打赏
  • 举报
回复
JSP文件前面加一条语句:
<@ page import="mypackage.*"@>
klly2008 2006-12-09
  • 打赏
  • 举报
回复
很急啊,这跟那个“为什么总是显示package mypackage does not exist?”是一个问题啊!
大家来帮我看看。。。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧