不加包名,把以下文件放在同一个文件夹中,可以编译成功
//MessageVO文件
//package liuyanben;
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 java.sql.Date getDate()
{
return this.date;
}
public void setDate(java.sql.Date date)
{
this.date=date;
}
}//MessageBean.java文件
//package liuyanben;
//import com.microsoft.jdbc.sqlserver.SQLServerDriver;
import java.sql.*;
import java.util.*;public 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="bn";
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;
}
}
//获得所有留言消息,并且返回结果到jsp页面
public Collection getMessage()throws Exception
{
Collection<MessageVO> ret=new ArrayList<MessageVO>();//如果不加<MessageVO>就会出现“怎么会出现使用了未经检查
//或不安全的操作”这是因为JDK1.5中引进了泛型,但是你的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 mail=result.getString("mail");
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(mail);
ret.add(message);
}
result.close();
stm.close();
}
con.close();
}
catch (Exception e)
{
e.printStackTrace();
throw e;
}
return ret;
}
}而把上面java文件中的“//package liuyanben;”去掉注释//后却有一个文件不能编译成功(需要调用另一个bean的那个文件),百思不得其解,希望大家帮忙出下主意
//MessageVO文件
//package liuyanben;
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 java.sql.Date getDate()
{
return this.date;
}
public void setDate(java.sql.Date date)
{
this.date=date;
}
}//MessageBean.java文件
//package liuyanben;
//import com.microsoft.jdbc.sqlserver.SQLServerDriver;
import java.sql.*;
import java.util.*;public 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="bn";
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;
}
}
//获得所有留言消息,并且返回结果到jsp页面
public Collection getMessage()throws Exception
{
Collection<MessageVO> ret=new ArrayList<MessageVO>();//如果不加<MessageVO>就会出现“怎么会出现使用了未经检查
//或不安全的操作”这是因为JDK1.5中引进了泛型,但是你的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 mail=result.getString("mail");
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(mail);
ret.add(message);
}
result.close();
stm.close();
}
con.close();
}
catch (Exception e)
{
e.printStackTrace();
throw e;
}
return ret;
}
}而把上面java文件中的“//package liuyanben;”去掉注释//后却有一个文件不能编译成功(需要调用另一个bean的那个文件),百思不得其解,希望大家帮忙出下主意
解决方案 »
- 在struts2的action中怎么得到servletcontext环境 急 在线等 好使 马上给分
- 这个人正是号称DELPHI所谓的高手刘艺,照片网上能找到
- 在struts框架中如何应用验证码
- 网络计算器程序代码
- 外包JSP+SERVLET+JAVABEAN网站,应该如何提性能方面的验收标准?谢谢!
- JSP 如何往CSV文件(Excel文件)里写数据?
- Java工程和Flex工程的整合
- jakarta-tomcat-5.0.28.exe和jakarta-tomcat-5.0.28.exe
- 还是ant的问题 (星星要挣钱,养老婆)等高手进来一下,解决了马上给分
- 多终端访问服务器数据传输超时设计
- Jbuilder中可以正常运行,但在IE中报空指针异常
- Eclipse lomboz+tomcat配置
不是随便就可以加的
比如说package liuyanben 那表示你的这些类文件都在liuyanben这个文件夹下
为什么正常编译不行呢,我用的是EditPlus编译的
waiting
再第二个文件下加个import liuyanben.MessageVO试试
再等
我自己写了一个目录树,定义了一个Node类,一个Tree类,那么编译JavaBean的时候,如何能让Tree类直接可以用Node这个类呢??
你试试啊。
这样不行?
如果不性的话,就把MessageBean.java拿到classes下,然后继续用我给你的命令编译,保证OK
只说加上包名package liuyanben的情况,并且根据楼主的意思应该是在cmd下编译的!
方法一:将MessageVO.java放到liuyanben目录下,而MessageBean.java放到classes下
在cmd中,定位到classes目录,用javac -d . MessageBean.java编译.
方法二:将MessageVO.java和MessageBean.java全部放到liuyanben下
在cmd中,定位到classes目录,用javac liuyanben\MessageBean.java编译.
如果不成功,那就是人品有问题了,^_^
另外,两个文件全放到classpath下的方法偶还没找到,估计根据jvm的规范也是不行的!
分不多,意思意思,别介意