通过用户名字段查询记录中字段判断是否登录

来源:互联网 发布:守望先锋添加数据索引 编辑:程序博客网 时间:2024/05/18 15:24

这篇文章其实是上一篇的续,所以就不罗嗦了,直接上正题。

还是在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,如果是那就登录管理员,如果不是就是普通用户。

0 0