jsp报这样的错,各位进来看下 数组越界了,检查你的数组、ArrayList等有下标的数据类型。最好是debug一下 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那就可能是数据的问题了。比如一个ArrayList对象list,list中存放数据库表中的记录。你2个代码都有list.get(5)这样一段代码。但是一个表中有6条,一个有5条,肯定就有问题了 以上大家说的错误应该没有这种情况,不过你们说的错误也是经常出现的,我的主要是逻辑方面代码如下,望高手看看: DologinForm f = (DologinForm) form;// TODO Auto-generated method stub HttpSession sess = request.getSession(); ActionMessages msgs=new ActionMessages(); String uid=f.getUid(); String pwd=f.getPwd(); String type=f.getType(); sess.setAttribute("uid",uid); //如果帐号和密码都对就不会出现报错,就会返回原页面(因为用户类型没选对,当然了,全对就会下一个页面了),但是帐号和密码有一个以上有错误就会报以上错//数据库连接: Session hs=HibernateSessionFactory.getSession(); Criteria crit=hs.createCriteria(Users.class); crit.add(Restrictions.and(Restrictions.eq("uid", uid),Restrictions.eq("pwd", pwd))); List lst=crit.list(); Users u=(Users)lst.get(0); if(!lst.isEmpty()){ if((type.trim().equalsIgnoreCase("3"))&&(Integer.valueOf(type).equals(Integer.valueOf(u.getType())))){ LoginUser lu = new LoginUser(); lu.setId(uid); lu.setPwd(pwd); lu.setType(IConstants.ADMIN); sess.setAttribute(IConstants.LU, lu); request.setAttribute("type","wrong.type"); return mapping.findForward("s0"); } if(type.trim().equalsIgnoreCase("2")&&(Integer.valueOf(type).equals(Integer.valueOf(u.getType())))){ LoginUser lu = new LoginUser(); lu.setId(uid); lu.setPwd(pwd); lu.setType(IConstants.ADMIN); sess.setAttribute(IConstants.LU, lu); request.setAttribute("type","wrong.type"); return mapping.findForward("s1"); } else if(type.trim().equalsIgnoreCase("1")&&(Integer.valueOf(type).equals(Integer.valueOf(u.getType())))){ LoginUser lu = new LoginUser(); lu.setId(uid); lu.setPwd(pwd); lu.setType(IConstants.ADMIN); sess.setAttribute(IConstants.LU, lu); request.setAttribute("type","wrong.type"); return mapping.findForward("s2"); } } else { //报错处理 Criteria crit2=hs.createCriteria(Users.class).add(Restrictions.eq("uid", uid)); List lst2=crit2.list(); if(lst2.isEmpty()){ msgs.add("uid",new ActionMessage("wrong.uid")); saveErrors(request,msgs); }else msgs.add("pwd",new ActionMessage("wrong.pd")); saveErrors(request,msgs); } return mapping.getInputForward(); } } 问题应该出在 Users u=(Users)lst.get(0);判断一下lst的size是否为1先 检查一下字段设置,不要用text,用varchar cxf webservice客户端调用时报以下错误 求解 事务权限问题 能不能用ramdom()类产生汉字、英语字母、数字、符号综合的验证码 有关中文排序的问题? 请教个hibernate的问题 求答案 有关DetachedCriteria的查询问题 spring+hibernate+structs 整合出现http404 [求教]如果使用没主键的表,hibernate怎么才可以? eclipse + weblogic配置方法? 简单Servlet问题 HTTP Status 404 - /BookStore/Admin/Admin_LoginServlet
DologinForm f = (DologinForm) form;// TODO Auto-generated method stub
HttpSession sess = request.getSession();
ActionMessages msgs=new ActionMessages();
String uid=f.getUid();
String pwd=f.getPwd();
String type=f.getType();
sess.setAttribute("uid",uid);
//如果帐号和密码都对就不会出现报错,就会返回原页面(因为用户类型没选对,当然了,全对就会下一个页面了),但是帐号和密码有一个以上有错误就会报以上错//数据库连接:
Session hs=HibernateSessionFactory.getSession();
Criteria crit=hs.createCriteria(Users.class);
crit.add(Restrictions.and(Restrictions.eq("uid", uid),Restrictions.eq("pwd", pwd)));
List lst=crit.list();
Users u=(Users)lst.get(0);
if(!lst.isEmpty()){
if((type.trim().equalsIgnoreCase("3"))&&(Integer.valueOf(type).equals(Integer.valueOf(u.getType())))){
LoginUser lu = new LoginUser();
lu.setId(uid); lu.setPwd(pwd); lu.setType(IConstants.ADMIN);
sess.setAttribute(IConstants.LU, lu);
request.setAttribute("type","wrong.type");
return mapping.findForward("s0");
}
if(type.trim().equalsIgnoreCase("2")&&(Integer.valueOf(type).equals(Integer.valueOf(u.getType())))){
LoginUser lu = new LoginUser();
lu.setId(uid); lu.setPwd(pwd); lu.setType(IConstants.ADMIN);
sess.setAttribute(IConstants.LU, lu);
request.setAttribute("type","wrong.type");
return mapping.findForward("s1");
}
else if(type.trim().equalsIgnoreCase("1")&&(Integer.valueOf(type).equals(Integer.valueOf(u.getType())))){
LoginUser lu = new LoginUser();
lu.setId(uid); lu.setPwd(pwd); lu.setType(IConstants.ADMIN);
sess.setAttribute(IConstants.LU, lu);
request.setAttribute("type","wrong.type");
return mapping.findForward("s2");
}
}
else { //报错处理
Criteria crit2=hs.createCriteria(Users.class).add(Restrictions.eq("uid", uid));
List lst2=crit2.list();
if(lst2.isEmpty()){
msgs.add("uid",new ActionMessage("wrong.uid"));
saveErrors(request,msgs);
}else
msgs.add("pwd",new ActionMessage("wrong.pd"));
saveErrors(request,msgs);
}
return mapping.getInputForward();
}
}
判断一下lst的size是否为1先