各位大哥:帮我看看这个错误原因:java.lang.ClassCastException
1.错误原因:
java.lang.ClassCastException: untitled3.UserTest_q8c1sa_ELOImpl
at untitled3.UT.FindAll()Ljava.lang.StringBuffer;(UT.java:89)
at jsp_servlet.__test1._jspService(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)V(__test1.java:142)
at weblogic.servlet.jsp.JspBase.service(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;)V(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run()Ljava.lang.Object;(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;Lweblogic.servlet.internal.FilterChainImpl;)V(ServletStubImpl.java:402)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;Lweblogic.servlet.internal.FilterChainImpl;)V(ServletStubImpl.java:446)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;)V(ServletStubImpl.java:305)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run()Ljava.lang.Object;(WebAppServletContext.java:6350)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Lweblogic.security.subject.AbstractSubject;Ljava.security.PrivilegedAction;)Ljava.lang.Object;(AuthenticatedSubject.java:317)
at weblogic.security.service.SecurityManager.runAs(Lweblogic.security.acl.internal.AuthenticatedSubject;Lweblogic.security.acl.internal.AuthenticatedSubject;Ljava.security.PrivilegedAction;)Ljava.lang.Object;(SecurityManager.java:118)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(Lweblogic.servlet.internal.ServletRequestImpl;Lweblogic.servlet.internal.ServletResponseImpl;)V(WebAppServletContext.java:3635)
at weblogic.servlet.internal.ServletRequestImpl.execute(Lweblogic.kernel.ExecuteThread;)V(ServletRequestImpl.java:2585)
at weblogic.kernel.ExecuteThread.execute(Lweblogic.kernel.ExecuteRequest;)V(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run()V(ExecuteThread.java:170)
at java.lang.Thread.startThreadFromVM(Ljava.lang.Thread;)V(Unknown Source)
我的程序是:程序的功能是查询出所有的记录并将其显示出来
1.我定义了个构造函数: TestItem
package untitled3;
import java.io.Serializable;
import java.lang.*;
public class TestItem implements Serializable {
public long id;
public String name;
public int age;
public String sex;
public String password;
public TestItem() {
}
}
2.EJB(UserTestBean)
public Collection ejbFindAll() throws FinderException {
Collection result;
try
{
result=FindAll();
}catch (Exception ex)
{
throw new EJBException (ex.getMessage() );
}
if (result.isEmpty())
{
throw new ObjectNotFoundException ("No rows found");
}
return result;
}
private Collection FindAll() throws SQLException
{
String name,sex,password;
long id;
int age;
String sql="select id,name,age,sex,password from "+TableName+"";
PreparedStatement ps=con.prepareStatement(sql);
ResultSet rs=ps.executeQuery() ;
TestItems=new ArrayList() ;
while (rs.next())
{
TestItem t=new TestItem();
t.id=rs.getLong(1);
t.name=rs.getString(2);
t.age=rs.getInt(3);
t.sex=rs.getString(4);
t.password=rs.getString(5);
TestItems.add(t);
}
ps.close() ;
return TestItems;
}
3.JavaBean 中显示所有提出所有数据:
public StringBuffer FindAll() throws FinderException {
Collection rs=UTH.findAll() ;
StringBuffer buffer=new StringBuffer() ;
Iterator i=rs.iterator() ;
buffer.append("<table border=0>");
buffer.append("<tr>");
buffer.append("<td width=70>学号</td>");
buffer.append("<td width=150>姓名</td>");
buffer.append("<td width=70>年龄</td>");
buffer.append("<td width=70>性别</td>");
buffer.append("<td width=200>密码</td>");
buffer.append("</tr>");
while (i.hasNext())
{
buffer.append("<tr>");
TestItem t=new TestItem();
TestItem TI=(TestItem)i.next();//此处出错,将TestItem换成UserTestBean 能输出数据,但全为NULL//
buffer.append("<td>"+String.valueOf(TI.id) +"</td>") ;
buffer.append("<td>"+TI.name+"</td>") ;
buffer.append("<td>"+String.valueOf(TI.age)+"</td>") ;
buffer.append("<td>"+TI.sex+"</td>") ;
buffer.append("<td>"+TI.password+"</td>") ;
buffer.append("</tr>") ;
}
buffer.append("</table>");
return buffer;
}
请各位大哥帮帮小弟