java.lang.ClassCastException

2008-3-15 15:31:17 com.imti.telemedia.action.BaseAction execute
严重: java.lang.ClassCastException: com.imti.telemedia.form.AgentRegisterForm
java.lang.ClassCastException: com.imti.telemedia.form.AgentRegisterForm
 at com.imti.telemedia.action.AgentReworkDataAction.agentReworkData(AgentReworkDataAction.java:35)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:585)
 at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:274)
 at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)
 at com.imti.telemedia.action.BaseAction.execute(BaseAction.java:41)
 at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
 at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
 at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
 at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 at com.imti.telemedia.util.filter.EncodeFilter.doFilter(EncodeFilter.java:34)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
 at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection

(Http11Protocol.java:744)
 at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
 at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
 at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
 at java.lang.Thread.run(Thread.java:595)
2008-3-15 15:31:17 org.apache.struts.action.RequestProcessor processException
警告: Unhandled Exception thrown: class java.lang.ClassCastException
2008-3-15 15:31:17 org.apache.catalina.core.ApplicationContext log
信息: com.imti.telemedia.form.AgentRegisterForm

找了一个下午的错误,在代码中硬是没问题,上网求助,找人也没解决,回家后,没事就随便看了起来,

代码到配置文件,果然看出了问题出错的地方

    原来我在配置文件中写错了

<action
      attribute="agentReworkDataForm"
      name="AgentRegisterForm"
      path="/foreground/agentReworkData"
      scope="request"
      parameter="method"
      type="com.imti.telemedia.action.AgentReworkDataAction">      
      <forward name="AgentReworkData.jsp" path="/foreground/AgentReworkData.jsp" />
    </action> 

name的名字搞错了,应该为

    <action
      attribute="agentReworkDataForm"
      name="agentReworkDataForm"      path="/foreground/agentReworkData"
      scope="request"
      parameter="method"
      type="com.imti.telemedia.action.AgentReworkDataAction">
     
      <forward name="AgentReworkData.jsp" path="/foreground/AgentReworkData.jsp" />
    </action> 

下次真改好好看看自己的配置文件了!!!

下面的是从网站上看到的,不知道对不对。希望碰到了这个异常的朋友再解决了错误后能回个贴

ClassCastException 错误解析
现在java编程中经常碰到ClassCastException 错误,ClassCastException 是 JVM 在检测到两个类型间的转换不兼容时引发的运行时异常。此类错误通常会终止用户请求。本模式试图为您提供了解和排除 ClassCastException 错误最常见成因的一些基本要素。
为什么发生此问题?

在执行几乎任何子系统(Web 容器、EJB、JCA、群集等)的应用程序代码或 WebLogic Server 代码内均可能发生 ClassCastException。通过转换,可以指示 Java 编译器将给定类型的变量作为另一种变量来处理。对基础类型和用户定义类型都可以进行转换。Java 语言规范定义了允许的转换,其中的大多数可在编译时进行验证。不过,某些转换还需要运行时验证。如果在此运行时验证过程中检测到不兼容,JVM 就会引发 ClassCastException。
 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值