用户登录案例实现

案例需求

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

需求功能分析

在这里插入图片描述

代码实现

数据库

    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);
    }
}

猜你喜欢

转载自blog.csdn.net/qq_43511405/article/details/108962428