用户登录案例实现

文章目录

    • 案例需求
    • 需求功能分析
    • 代码实现

案例需求

在网站的首页上,点击登录的链接,可以跳转到登录的页面。在登录的页面中输入用户名和密码,点击登录的案例,完成登录的功能。

需求功能分析

代码实现

数据库

    CREATE TABLE `user`(
        username VARCHAR(50),
        `password` VARCHAR(50)
        );
        INSERT INTO `user` VALUES('tom','123'),('jerry','456');
        # 通过⽤户名,密码查询 user表
        SELECT * FROM `user` WHERE username='tom' AND `password`='123'
/* dbutils 使⽤哪个结果集 BeanHandler 查询结果⼀个JavaBean BeanListHandler 查询结果集是多个JavaBean,存储List集合 ScalarHandler 单项值查询 ColumnListHandler 查询⼀个列数据存储集合List<Object> */

html页面

<form action="/web01/user" method="post">
用户名:<input type="text" name="username" /> <br/>
密 码:<input type="text" name="password" /> <br/>
<input type="submit" />
</form>

Servlet

public class UserServlet extends HttpServlet { 
    protected void doGet(HttpServletRequest request, HttpServletResponse
            response) throws ServletException, IOException { 
/* 1.获取⻚⾯的传递过来的数据, (⽤户名, 密码) 2.使⽤ (⽤户名, 密码) , 操作数据库, 查找匹配的User信息 3.判断User信息 是否为空 User为null, 代表 没查到匹配的⽤户信息, 打印 "登录失败, ⽤户名或密 码错误" user为不为Null, 代表 查到匹配的⽤户信息, 打印"登录成功" */
// 1.获取⻚⾯的传递过来的数据, (⽤户名, 密码)
        String username = request.getParameter("username");
        String password = request.getParameter("password");
// 2.使⽤ (⽤户名, 密码) , 操作数据库, 查找匹配的User信息
        QueryRunner qr = new QueryRunner(DruidUtils.getDataSource());
        String sql = "select * from user where username=? and password=?";
        User user = null;
        try { 
            user = qr.query(sql, new BeanHandler<User>(User.class),
                    username, password);
        } catch (SQLException e) { 
            e.printStackTrace();
        }
// 3.判断User信息 是否为空
        if (user == null) { 
// User为null, 代表 没查到匹配的⽤户信息, 打印 "登录失败, ⽤户名或密
            码错误 "
            System.out.println("登录失败, ⽤户名或密码错误");
            response.getWriter().print("return false");
        } else { 
// user为不为Null, 代表 查到匹配的⽤户信息, 打印"登录成功"
            System.out.println("登录成功");
            response.getWriter().print("return true");
        }
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse
            response) throws ServletException, IOException { 
        doGet(request, response);
    }
}

本文地址:https://blog.csdn.net/qq_43511405/article/details/108962428

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐