开发需求
完成登录功能。
环境配置
2.1下载驱动包并配置jar包
下载地址:https://mvnrepository.com/
在搜索框输入mysql,选择mysql connect java,选择对应的版本后点击版本,进入后点击jar下载即可。
首先我们需要创建一个web项目工程,然后在web包下的WEB-INF下创建一个lib包,里面放入mysql连接jar包。
步骤:
在项目的根目录下创建文件夹,这个文件夹必须命名为lib
然后将下载的jar包粘贴到lib文件夹下
选中jar包,点击右键,然后选中ADD as libxxx,然后就可以了
如下图配置
注意一个项目只需添加一次jar包并且放入后一定要记得导入,右击jar包点击ADD Library进行导入。
![](https://i-blog.csdnimg.cn/blog_migrate/8df23c8e3fd0431ec98f80fa2dcec88a.png)
在index.jsp首页中添加一个a标签,跳转到登录页面
![](https://i-blog.csdnimg.cn/blog_migrate/338e329a50dd179269abc632e6297f1b.png)
<%--
Created by IntelliJ IDEA.
User: lenovo
Date: 2023/2/13
Time: 15:21
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>第一个Web项目</title>
</head>
<body>
<h2>欢迎学习</h2>
<a href="login.jsp">去登录</a>
</body>
</html>
创建一个login.jsp作为登录页面,书写form表单指定提交地址和提交方式
![](https://i-blog.csdnimg.cn/blog_migrate/2d19a957e1344a0859c84ddcedb429f1.png)
<%--
Created by IntelliJ IDEA.
User: lenovo
Date: 2023/2/15
Time: 10:58
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>登录页面</title>
</head>
<body>
<h2>登录</h2>
<%-- --%>
<form action="login" method="post">
账号:<input type="text" name="username" value="" /><br/>
密码:<input type="password" name="password" value="" /><br/>
<input type="submit" value="登录" />
</form>
</body>
</html>
servlet步骤:
设置请求和响应的编码格式,以及相应的格式
//1.设置请求和响应的编码
request.setCharacterEncoding("utf-8");//设置请求的编码
response.setCharacterEncoding("utf-8");//设置响应的编码
response.setContentType("text/html;charset=UTF-8");//设置响应的文本格式和编码
获取请求的参数
//2.获取请求参数
String username = request.getParameter("username");
String password = request.getParameter("password");
System.out.println(username);
System.out.println(password);
执行业务处理--JDBC操作
//3.业务处理--JDBC操作
Connection con = null;//数据库连接对象
PreparedStatement pstm = null;//预处理对象
ResultSet rs = null;//结果集对象
User login = null;
JDBC:
1.加载数据库驱动
2.获取数据库连接
3.定义登灵的sql语句
4.获取预处理对象
5.传参
6.执行查询
7.解析结果集------从结果集中获取数据,然后封装到实体类对象中
8.关闭资源
JDBC的操作步骤
jar5.x的驱动位置:com.mysql.jdbc.driver
Jar8.x的驱动位置:com.mysql.cj.jdbc.Driver
try {
//1.加载数据库驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//2.获得数据库连接对象
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC", "root", "root");
//3.定义sql语句
String sql = "select * from t_user where username=? and password=?";
//4.获取预处理对象
pstm = con.prepareStatement(sql);
//5.传参
pstm.setObject(1, username);
pstm.setObject(2, password);
//6.执行sql
rs = pstm.executeQuery();
//7.结果集处理
if (rs.next()) {
login = new User();
//从结果集中获取数据,然后封装到实体类对象中
int uid = rs.getInt("uid");
login.setUid(uid);
login.setUsername(rs.getString("username"));
login.setPassword(rs.getString("password"));
login.setPhone(rs.getString("phone"));
login.setAddress(rs.getString("address"));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
{
//8.关闭资源
try {
if (rs != null) {
rs.close();
}
if (pstm != null) {
pstm.close();
}
if (con != null) {
con.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
创建一个zhuye.jsp作为跳转页面
![](https://i-blog.csdnimg.cn/blog_migrate/8b81c8b68b9e89d7b6271a15a2d570c4.png)
<%--
Created by IntelliJ IDEA.
User: lenovo
Date: 2023/2/17
Time: 20:28
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h2>欢迎来到主页</h2>
</body>
</html>
在error.jsp中添加一个a标签,出错后跳转到登录页面
![](https://i-blog.csdnimg.cn/blog_migrate/cf40cef698156702005c71c9e1025be4.png)
<%--
Created by IntelliJ IDEA.
User: lenovo
Date: 2023/2/17
Time: 19:53
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>错误页</title>
</head>
<body>
<h2>出错啦!</h2>
<a href="login.jsp">返回登录</a>
</body>
</html>
4.判断登录的用户信息是否为空
//4.判断业务处理结果,给前端做出响应
if (login != null) {
//登录成功
response.sendRedirect("zhuye.jsp");
} else {
//登录失败
response.sendRedirect("error.jsp");
}
}
输出的页面如下:
![](https://i-blog.csdnimg.cn/blog_migrate/27712a66320efbacb9deb864520cf533.png)
点击去登录,则进入下一个登录页面,如下图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/71c66167d3338a1ab314bea36ddd21a5.png)
如果账号或者密码输入错误,那么就会进入出错的页面,那么就点击返回登录。如下图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/32d8d1f4c658675ad06ab3d28370f4fa.png)
如果账号或者密码输入正确,那么就会进入欢迎来到主页的页面。如下图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/b7e47d6b56bf863d7129139e6c2f3c27.png)