关于读取管理员信息的问题,很简单,请大家帮忙
我想做一个管理员登陆的判断,在提交页面里输入管理员帐号和密码然后在数据库里查找,符合相关帐号密码后进入管理员管理页面,这读取应该如何写?
String username=new String(request.getParameter("username").getBytes("8859_1"));
String password=new String(request.getParameter("password").getBytes("8859_1"));
String sql="select * from login where username='"+username+"' and password='"+password+"'";
ResultSet rs=addBean.executeQuery(sql);
if(rs.next()){
rs.close();
}
%>
不知道这么写对不对,在读取结果集里数据这快卡住了,不知道如何写如何判断,请做过的给点指点谢谢
问题点数:50、回复次数:6Top
1 楼ywb1973(谁)(★☆◎☆★)回复于 2006-03-20 14:54:52 得分 20
前面一段可以,后面可以这样写
rey{
if(rs.next()){
session.setAttribute("role","admin");
rs.close();
response.sendRedirect("admin.jsp");
return;
}
else{
//提示密码不对
}
}
finally{
if(rs!=null) rs.close();
rs=null;
}
然后在管理员页面判断一下role是否为admin即可
<%
if(session.getAttribute("role")!=null&&session.getAttribute("role").toString().trim().equals("admin")){
}
else{
response.sendRedirect("login.jsp");
}
%>Top
2 楼zhakeer(扎科尔)回复于 2006-03-20 14:58:41 得分 0
先看看username、password是不是乱码,然后再单独执行sql,看看是不是预期的结果;
如果都没有问题,那就检查addBean.executeQuery(sql)的源码Top
3 楼zhakeer(扎科尔)回复于 2006-03-20 14:59:52 得分 10
sorry,看错了Top
4 楼zdsdiablo(十分钟年华老去)回复于 2006-03-20 15:00:57 得分 10
if(rs.next()){
rs.close();
}
肯定不行了rs.close();一定要放到外面的.{}里面可以返回一个成功的页面Top
5 楼zisidemao(zisidemao)回复于 2006-03-20 15:15:23 得分 0
String username=new String(request.getParameter("username").getBytes("8859_1"));
String password=new String(request.getParameter("password").getBytes("8859_1"));
String sql="select * from login where username='"+username+"' and password='"+password+"'";
ResultSet rs=addBean.executeQuery(sql);
if(rs.next()){
session.setAttribute("role","admin");
rs.close();
}
response.sendRedirect("admin.jsp");
然后在管理员页面判断一下role是否为admin即可
<%
if(session.getAttribute("role")!=null&&session.getAttribute("role").toString().trim().equals("admin")){
}
else{
response.sendRedirect("login.jsp");
}
%>
return;
%>
为什么要用SESSION呢?
还有这个登陆页面就是面象管理员的,登陆后直接进入管理员管理页面了,所以我想在这个登陆页面里做的工作为查找数据库判断我提交的用户名和密码是否为管理员帐号密码,比如用户名为admin密码为XXX如果正确就进入管理页面,不正确就返回到登陆页面这样Top
6 楼minisun2000(红色枫叶)回复于 2006-03-20 15:55:05 得分 10
如果密码是:"xxx' or '1'='1",不知道你的管理员还有没有用?Top




