DBUtils dbUtils = new DBUtils(); String selectSQL = "select * from user where uname = ? and upwd = ? "; List<Object> paras = new ArrayList<Object>(); paras.add(username); paras.add(password); Map<String,Object> rs = dbUtils.queryOneRow(selectSQL,paras); //验证登录是否成功 if (rs.size() > 0){ String uid = rs.get("uid").toString(); username = rs.get("uname").toString(); CookieUtils.addCookie("cuid",uid,response); CookieUtils.addCookie("cuname",username,response); JsUtils.jsAlertGo(out,"登录成功","index.jsp"); }else{ JsUtils.jsAlertBack(out,"用户名或密码不正确,登录失败!"); } dbUtils.close();
时间: 2024-02-14 16:22:32 浏览: 149
利用dbutils实现登录功能
这段代码是一个Java Web应用程序中的登录验证逻辑。它首先创建了一个名为`dbUtils`的`DBUtils`对象,然后使用`uname`和`upwd`两个参数在`user`表中查询记录。查询结果以`Map`对象的形式返回,并检查是否有至少一条记录。如果查询结果非空,那么登录成功,将`uid`和`uname`两个值存储在Cookie中,并跳转到`index.jsp`页面。如果查询结果为空,那么登录失败,提示用户用户名或密码不正确,不进行Cookie和页面跳转操作。最后,通过调用`dbUtils.close()`方法关闭与数据库连接的资源。
需要注意的是,这段代码存在SQL注入漏洞,因为它直接将参数插入到SQL语句中,而没有使用预编译语句或其他防御措施来防止恶意输入。建议使用PreparedStatement替代Statement来执行SQL查询,这样可以有效避免SQL注入攻击。
阅读全文