public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)throws Exception 
{
          //解析用户请求参数
          String username=request.getParameter("username");
          String pass=request.getParameter("pass");
          //出错提示
          String errMsg=" ";
          //进行服务器端的数据校验
          if(username!=null||username.equals(""))
          {
              errMsg+="你的用户名丢失或没有输入,请重新输入";
            
          }
         
          else if(pass==null||pass.equals(" "));
          {
           errMsg+="你的密码丢失或没有输入,请重新输入";
           
          }
          else
          {   try
           {
          DbDao dd=DbDao.instance("com.microsoft.jdbc.sqlserver.SQLServerDriver","jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Bus_DataBase","sqq4290","sqq8221620");
          ResultSet rs=dd.query("select password from user_table where username='"+username+"'");
          if(rs.next())
          {
          if(rs.getString("password").equals(pass))
          {
          HttpSession session=request.getSession(true);
          session.setAttribute("name",username);
          return mapping.findForward("welcome");
          }
          else
          {
          errMsg+="你的用户名不存在,请先注册";
          
          }
          }
          
           }
           catch(Exception e)
           {
           request.setAttribute("exception", "业务异常");
           return mapping.findForward("error");
    
           }
          }  
  
          if(errMsg!=null&&!errMsg.equals(""))
          {
           request.setAttribute("err",errMsg);
           return mapping.findForward("input");
          }
          else
          {
           return mapping.findForward("welcome");
          }

        }
上面这个方法里面的else有什么问题?
我的eclispse3.2老对这个地方报错

解决方案 »

  1.   

    else
                                 {
                                     errMsg+="你的用户名不存在,请先注册";
                                     
                                 }
    这里面没有return Mapping 
      

  2.   

    就是里面有try...catch的else,总提示标记:“else”上有语法错误,删除此标记
      

  3.   

    额。貌似你有过着样的问题了吧。。public ActionForward execute。。方法声明的必须有返回直,为什么你总不返回??
    没仔细看,你加个return null;看看
      

  4.   

    程序有错
    1.String username=request.getParameter("username");应该用trim修饰,pass一样
    2.if(username!=null||username.equals(""));username==null
    3.else if(pass==null||pass.equals(" "));equals(“ ”)出空格了
    4.mapping没跳转就不看了,在方法里面定义一个公共的jumpTo变量就Ok了,最后做mapping.forward()就可以了
      

  5.   

    public ActionForward execute(ActionMapping mapping, ActionForm form,
                HttpServletRequest request, HttpServletResponse response)throws Exception 
                {
                      //解析用户请求参数
                      String username=request.getParameter("username");
                      String pass=request.getParameter("pass");
                      //出错提示
                      String errMsg=" ";
                      //进行服务器端的数据校验
                      if(username!=null||username.equals(""))
                      {
                          errMsg+="你的用户名丢失或没有输入,请重新输入";
                            
                      }
                     
                      else if(pass==null||pass.equals(" "));这里多个分号
                      {
                          errMsg+="你的密码丢失或没有输入,请重新输入";
                          
                      }
                      else
                      {      try
                          {
                             DbDao dd=DbDao.instance("com.microsoft.jdbc.sqlserver.SQLServerDriver","jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Bus_DataBase","sqq4290","sqq8221620");
                             ResultSet rs=dd.query("select password from user_table where username='"+username+"'");
                             if(rs.next())
                             {
                                 if(rs.getString("password").equals(pass))
                                 {
                                     HttpSession session=request.getSession(true);
                                     session.setAttribute("name",username);
                                     return mapping.findForward("welcome");
                                 }
                                 else
                                 {
                                     errMsg+="你的用户名不存在,请先注册";
                                     
                                 }
                             }
                             
                          }
                          catch(Exception e)
                          {
                              request.setAttribute("exception", "业务异常");
                              return mapping.findForward("error");
                
                          }
                      }  
              
                      if(errMsg!=null&&!errMsg.equals(""))
                      {
                          request.setAttribute("err",errMsg);
                          return mapping.findForward("input");
                      }
                      else
                      {
                          return mapping.findForward("welcome");
                      }
            
                }
      

  6.   

    谢谢各位热心的回答,自己太粗心了
    ee4456老兄这次不用在里面添return null 了,因为里面有else