我用myeclipse进行开发,数据库用的是mysql,先定义了一个javabean-Bbsuser,这个bean里定义了数据库中用户表的相关字段,我把用于登录和注册都写在了同一个页面里,可是注册时一点提交,就显示如下错误:严重: Servlet.service() for servlet jsp threw exception
java.lang.ClassCastException: bbs.Bbsuser
at org.apache.jsp.index_jsp._jspService(org.apache.jsp.index_jsp:63)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
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 org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
at bbs.BbsloginServlet.forward(BbsloginServlet.java:115)
at bbs.BbsloginServlet.user_add(BbsloginServlet.java:100)
at bbs.BbsloginServlet.doGet(BbsloginServlet.java:31)
at bbs.BbsloginServlet.doPost(BbsloginServlet.java:14)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
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 bbs.EncodingFilter.doFilter(EncodingFilter.java:46)
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.Http11AprProcessor.process(Http11AprProcessor.java:831)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:639)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1203)
at java.lang.Thread.run(Thread.java:595)
org.apache.jasper.JasperException: bbs.Bbsuser
at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
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 org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
at bbs.BbsloginServlet.forward(BbsloginServlet.java:115)
at bbs.BbsloginServlet.user_add(BbsloginServlet.java:100)
at bbs.BbsloginServlet.doGet(BbsloginServlet.java:31)
at bbs.BbsloginServlet.doPost(BbsloginServlet.java:14)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
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 bbs.EncodingFilter.doFilter(EncodingFilter.java:46)
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.Http11AprProcessor.process(Http11AprProcessor.java:831)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:639)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1203)
at java.lang.Thread.run(Thread.java:595)
可是我在数据库里却已经插了注册的用户,还有,登录的时候也是显示这个错误请问一下,是不是myeclipse里的字符集设置出了问题呢???

解决方案 »

  1.   

    贴一下相关的代码,希望有人能帮我看看,挺郁闷的,这个做了很多次了,都没问题,感觉也不应该出问题啊,唉
    下面是那个javabean代码:package bbs;import java.sql.Timestamp;public class Bbsuser {
        /**
         * 超级管理员
         */
        public final static int SUPERADMIN = 1;    /**
         * 普通用户
         */
        public final static int GENERAL = 0;
        
        private String name;
        private String password;
        private String email;
       
        private Timestamp registerdate;
        private int degree;
        //private int shortInfoNum;    public Bbsuser() {
        }    public Bbsuser(String name, String password, String email) {
            this.name = name;
            this.password = password;
            this.email = email;
            
            this.degree = GENERAL;
        }    public int getDegree() {
            return degree;
        }    public String getEmail() {
            return email;
        }     public String getPassword() {
            return password;
        }    public Timestamp getRegisterdate() {
            return registerdate;
        }    public String getName() {
            return name;
        }
        
      /*  public int getShortInfoNum(){
        
         return shortInfoNum;
        }*/    public void setDegree(int degree) {
            this.degree = degree;
        }    public void setEmail(String email) {
            this.email = email;
        } 
        public void setPassword(String password) {
            this.password = password;
        }    public void setRegisterdate(Timestamp registerdate) {
            this.registerdate = registerdate;
        }    public void setName(String name) {
            this.name = name;
        }
    }
    这个有错误嘛,不可能的啊,为什么老是说我数据格式转换错误呢???
      

  2.   

    这个是处理请求的java类,也贴出来希望有人能帮我看看,虽然错误提示没说是这个public class BbsloginServlet extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {         doGet(request, response);    } public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        
    String method=request.getParameter("method");
    if(method==null){
    return ;
    }
    else if(method.equalsIgnoreCase("user_login"))
    {
    user_login(request,response);
    }
    else if(method.equalsIgnoreCase("user_add"))
    {
    user_add(request,response);
    }

    }
        private void user_login(HttpServletRequest request,HttpServletResponse response){
        
    String name=(String)request.getParameter("name");
            String password=(String)request.getParameter("password");
            Bbsuser bbsuser=new Bbsuser();
            bbsuser.setName(name);
            bbsuser.setPassword(password);
            boolean isSuccess=false;
            try{
             isSuccess=BbsUserHandle.userlogin(bbsuser);
             
            }catch(Exception es){
              es.printStackTrace();
                isSuccess = false;
                request.setAttribute("login_error", es.getMessage());
                
            }
            String forward = null;
             //response.setContentType("text/xml;charset=UTF-8");
            //response.setHeader("Cache-Control","no-cache");
            //PrintWriter out=response.getWriter();
           // out.println("<response>");
            if(isSuccess){
             request.getSession().setAttribute("user",bbsuser);
             request.removeAttribute("login_error");
            // out.println("<res>"+"欢迎访问本站"+"</res>");
             forward = "index.jsp";
            }else{
            
              forward="bbslogin.jsp";
             //out.println("<res>"+"登录失败"+"</res>");
              request.setAttribute("login_error", "用户名或密码不匹配");
            }
           // out.println("</response>");
            //out.close();
            forward(request, response, forward);    }
        
        private void user_add(HttpServletRequest request, HttpServletResponse response)
        {
            String name = (String) request.getParameter("name");
            String password = (String) request.getParameter("password");
            String email = (String) request.getParameter("Email");
            Bbsuser user = new Bbsuser(name,password,email);
            boolean isSuccess = false;
            String forward = null;
            
            try{
             BbsUserHandle.userReg(user);
             isSuccess=true;
            }catch(Exception e){
             e.printStackTrace();
             isSuccess=false;
             request.setAttribute("user_add_error", e.getMessage());
            }
            if(isSuccess){
             request.removeAttribute("user_add_error");
                forward = "index.jsp";
            }
            else{
               
                    forward = "bbslogin.jsp";
                
            }
            forward(request, response, forward);
        }
      

  3.   

    哦对了,这个本来是想用ajax实现的,后来改了,没删掉,所以加了注释