tomcat可以正常启动,在提交添加请求时出现下边的异常
2009-12-09 11:44:56,437 [org.apache.struts.action.RequestProcessor]-[WARN] Unhandled Exception thrown: class java.lang.ClassCastException
2009-12-09 11:44:56,453 [org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/Test1].[action]]-[ERROR] Servlet.service() for servlet action threw exception
java.lang.ClassCastException: com.tianjian.user.struts.form.UserActionForm
at com.tianjian.core.struts.action.Action.execute(Action.java:63)
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.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.tianjian.core.hibernate.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:127)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:873)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Unknown Source)下边是form类package com.tianjian.user.struts.form;
import org.apache.struts.action.ActionForm;/**
 * 用户管理ActionForm
 *
 */
public class UserActionForm extends ActionForm {

//用户代码
private String id;

//用户名称
private String name;

//密码
private String password;


//接收界面中的选中标记的集合
private String[] selectFlag; public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String[] getSelectFlag() {
return selectFlag;
}
public void setSelectFlag(String[] selectFlag) {
this.selectFlag = selectFlag;
}
}请教大家这是哪里出错了啊~  谢谢~~~

解决方案 »

  1.   

    楼主只要在UserActionForm中添加下列初始化方法就可以:public void reset(ActionMapping mapping, HttpServletRequest request) {
          this.selectFlag = new String[0];
    }
      

  2.   

    楼主只要在UserActionForm中添加下列初始化方法就可以:public void reset(ActionMapping mapping, HttpServletRequest request) {
          this.selectFlag = new String[0];
    }
      

  3.   

    看错了,楼主所遇到的问题是jsp页面传递的ActionForm类型不是UserActionForm导致,楼主可以检查Struts配置文件,看看UserAction相对应的ActionForm是什么。
      

  4.   

    class java.lang.ClassCastException  类型转换异常
    在at com.tianjian.core.struts.action.Action.execute(Action.java:63) 63行
    贴代码看看
      

  5.   

    java.lang.ClassCastException: com.tianjian.user.struts.form.UserActionForm 
    估计LZ UserActionForm 选错了 FormBean 了
      

  6.   

    这个是struts配置文件  <?xml version="1.0" encoding="ISO-8859-1" ?><!DOCTYPE struts-config PUBLIC
              "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
              "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
    <struts-config>
        
        <form-beans>
    <form-bean name="userActionForm" type="com.tianjian.user.struts.form.UserActionForm"></form-bean>
        </form-beans>
        
        <action-mappings>
    <action 
    path="/user/add"
    type="com.tianjian.user.struts.action.AddUserAction"
    name="userActionForm"
    scope="request"
    >
    <forward name="success" path="/user/list.do" redirect="true"></forward>
    </action>

    <action 
    path="/user/del"
    type="com.tianjian.user.struts.action.DelUserAction"
    name="userActionForm"
    scope="request"
    >
    <forward name="success" path="/user/list.do" redirect="true"></forward>
    </action>

    <action 
    path="/user/list"
    type="com.tianjian.user.struts.action.ListUserAction"
    name="userActionForm"
    scope="request"
    >
    <forward name="success" path="/user/user_list.jsp"></forward>
    </action>

    <action 
    path="/user/find"
    type="com.tianjian.user.struts.action.FindUserAction"
    name="userActionForm"
    scope="request"
    >
    <forward name="success" path="/user/user_modify.jsp"></forward>
    </action> <action 
    path="/user/modify"
    type="com.tianjian.user.struts.action.ModifyUserAction"
    name="userActionForm"
    scope="request"
    >
    <forward name="success" path="/user/list.do" redirect="true"></forward>
    </action>    </action-mappings>
        
    </struts-config>
      

  7.   

    很久没用struts1.x了改用struts2.x
    个人感觉检查配置文件!!
      

  8.   

    com.tianjian.core.struts.action.Action.execute(Action.java:63) 
    debug到这一句你看看是什么不能强制装换
      

  9.   

    问题结决了  是因为jsp里那个属性名字和后边form里的不同汗~