java.lang.ClassCastException: $Proxy71 cannot be cast to com.nfschina.dao.NewsDao

我被这个问题折腾了好半天了,还没找到合适的答案,下面是我jsp代码[code="java"]
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ page
import="com.test.dao.*,com.test.model.*,
javax.naming.*,java.util.*"%>
[code="java"][/code]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->









<%
try{
Properties props =new Properties();
props.setProperty("java.naming.factory.initial",
"org.jnp.interfaces.NamingContextFactory");
props.setProperty("java.naming.provider.url",
"localhost:1099");
props.setProperty("java.naming.factory.url.pkgs",
"org.jboss.naming");
InitialContext ctx=new InitialContext();
NewsDao newsdao=(NewsDao)ctx.lookup("NewsDaoImpl/remote");

News news1 =new News();
news1.setTitle("李永翠");
news1.setType((int)27);
news1.setCreatetime(new Date());
news1.setContent("zhonguo ");
news1.setPic("ag");
newsdao.insert(news1);

List newss=newsdao.getList();
for(News news:newss){
out.println("

");
}
}catch(Exception e){
e.printStackTrace();}
%>

idtitlecontenttypepiccreatetime
"+news.getId()+""+news.getTitle()
+"
"+news.getContent()+""+news.getType()+
"
"+news.getPic()+""+news.getCreatetime()+"



[/code]

NewsDao newsdao=(NewsDao)ctx.lookup("NewsDaoImpl/remote");

你调用EJB的时候,貌似返回的是一个代理类,并非预期的NewsDao对象,看看你们的接口API说明,应该就有答案。