严重: Servlet.service() for servlet action threw exception
java.lang.ClassCastException: java.lang.Long
at com.zjy.action.UpdateAction.execute(UpdateAction.java:40)
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:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
2009-8-13 16:33:17 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet action threw exception
java.lang.ClassCastException: java.lang.Long
at com.zjy.action.UpdateAction.execute(UpdateAction.java:40)
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:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)

解决方案 »

  1.   

    package com.zjy.action;import java.util.List;import javax.servlet.ServletContext;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;import com.zjy.bean.Customer;
    import com.zjy.form.UpdateForm;
    import com.zjy.service.CustomerService;
    import com.zjy.util.FormBeanToVoUtil;
    import com.zjy.util.WebUtil;public class UpdateAction extends Action{ @Override
    public ActionForward execute(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response)
    throws Exception { UpdateForm  updateForm=(UpdateForm)form;

    HttpSession session=request.getSession();

    ServletContext sc=session.getServletContext();

    CustomerService service=WebUtil.getCustomerService(sc);

    Customer c=FormBeanToVoUtil.convertToVo(updateForm);

    service.update(c); String pageId=(String)session.getAttribute("pageId");

    List<Customer> page=service.getPage(Integer.parseInt(pageId));

    request.setAttribute("page", page);

    return mapping.findForward("page");
    }
    }
    这是UpdateAction的代码
      

  2.   

    at com.zjy.action.UpdateAction.execute(UpdateAction.java:40) 40行是那一行?注红色。
      

  3.   

    楼主你的Bean的ID是什么类型的?请检查一下,是不是和Hibernate配置的不同,有几种类型你需要了解,JAVA类型,数据库类型和Hibaernate映射类型,一定要配置对。
      

  4.   

    criteria.setMaxResults(pageSize);  //40行
      

  5.   

    String pageId=(String)session.getAttribute("pageId");  是这个
      

  6.   

    List <Customer> page=service.getPage(Integer.parseInt(pageId));
    有可能是这行出错
    pageId可以不是数字
    打应下pageId
      

  7.   

    List <Customer> page=service.getPage(Integer.parseInt(pageId)); 
    getPage方法返回的是long类型的吧??
      

  8.   

    String pageId=(String)session.getAttribute("pageId");   第40行代码 
      

  9.   

    List <Customer> page=service.getPage(Integer.parseInt(pageId)); 错了,Long.parseLong()
      

  10.   

    List <Customer> page=service.getPage(Integer.parseInt(pageId));
    LZ 查看一下service.getPage()传入的参数是int形的吗
      

  11.   

    类转换异常应该是form类和vo类没进行转换就存到request里了
      

  12.   

    java.lang.ClassCastException: java.lang.Long
    at com.zjy.action.UpdateAction.execute(UpdateAction.java:40)  
    类型转换异常 也就是 类型不匹配。 调试看看 哪个属性跟数据库不一样啊。
      

  13.   

    id可能是long型的吧,
    你转换一下