这篇文章其实是上一篇的续,所以就不罗嗦了,直接上正题。
还是在UserBeanBO.java中
在BO中加一个方法
public boolean adminUser(String u,int g){
boolean b=false;
try {
//sql注入漏洞
Connection ct = ConnDB.getConn();
//top 1表示查到一条记录就返回,提高查询速度
PreparedStatement ps=ct.prepareStatement("select grade from users where username=?");
ps.setString(1, u);
ResultSet rs=ps.executeQuery();
if(rs.next()){
//取出数据库的密码
String grade = rs.getString(1);
if(grade.equals("2")){
b=true;
}
}
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}finally{
//关闭资源
this.close();
}
return b;
}
很简单的一个方法,通过你输入的用户名,来查询这条记录中grade字段,如果这个字段是你所需要的就可以使用了。
所以还需要LoginCl.java 控制器来调用了。
UserBean ub1 =new UserBean();
UserBeanBO ubb = new UserBeanBO();
if(ubb.checkUser(u, p)&&ubb.adminUser(u,ub1.getGrade())) {
request.getRequestDispatcher("/admin/admin.jsp").forward(request, response);
}else{
out.println("这块看你需要");
}
//这个模块其实是用来控制登录普通用户还是管理员的
在数据库中设定一个grade等于2.然后通过登录的时候判断grade是否等于2,如果是那就登录管理员,如果不是就是普通用户。