文章目录
-
- 案例需求
- 需求功能分析
- 代码实现
案例需求
在网站的首页上,点击登录的链接,可以跳转到登录的页面。在登录的页面中输入用户名和密码,点击登录的案例,完成登录的功能。
需求功能分析
代码实现
数据库
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