使用JDBC完成登录

  1. 开发需求

完成登录功能。

  1. 环境配置

2.1下载驱动包并配置jar包

下载地址:https://mvnrepository.com/

在搜索框输入mysql,选择mysql connect java,选择对应的版本后点击版本,进入后点击jar下载即可。

首先我们需要创建一个web项目工程,然后在web包下的WEB-INF下创建一个lib包,里面放入mysql连接jar包。

步骤:

  1. 在项目的根目录下创建文件夹,这个文件夹必须命名为lib

  1. 然后将下载的jar包粘贴到lib文件夹下

  1. 选中jar包,点击右键,然后选中ADD as libxxx,然后就可以了

如下图配置

注意一个项目只需添加一次jar包并且放入后一定要记得导入,右击jar包点击ADD Library进行导入。
使用JDBC完成登录_第1张图片
  1. 在index.jsp首页中添加一个a标签,跳转到登录页面

使用JDBC完成登录_第2张图片

<%--
  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" %>

  
    第一个Web项目
  
  
  

欢迎学习

去登录
  1. 创建一个login.jsp作为登录页面,书写form表单指定提交地址和提交方式

使用JDBC完成登录_第3张图片
<%--
  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" %>


    登录页面


     

登录

<%-- --%>
账号:
密码:
  1. servlet步骤:

  1. 设置请求和响应的编码格式,以及相应的格式

//1.设置请求和响应的编码
        request.setCharacterEncoding("utf-8");//设置请求的编码
        response.setCharacterEncoding("utf-8");//设置响应的编码
        response.setContentType("text/html;charset=UTF-8");//设置响应的文本格式和编码
  1. 获取请求的参数

 //2.获取请求参数
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        System.out.println(username);
        System.out.println(password);
  1. 执行业务处理--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作为跳转页面

使用JDBC完成登录_第4张图片
<%--
  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" %>


    Title


欢迎来到主页

在error.jsp中添加一个a标签,出错后跳转到登录页面

使用JDBC完成登录_第5张图片
<%--
  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" %>


    错误页


出错啦!

返回登录

4.判断登录的用户信息是否为空

//4.判断业务处理结果,给前端做出响应
        if (login != null) {
            //登录成功
            response.sendRedirect("zhuye.jsp");
        } else {
            //登录失败
            response.sendRedirect("error.jsp");
        }
    }

输出的页面如下:

使用JDBC完成登录_第6张图片

点击去登录,则进入下一个登录页面,如下图所示:

使用JDBC完成登录_第7张图片

如果账号或者密码输入错误,那么就会进入出错的页面,那么就点击返回登录。如下图所示:

使用JDBC完成登录_第8张图片

如果账号或者密码输入正确,那么就会进入欢迎来到主页的页面。如下图所示:

使用JDBC完成登录_第9张图片

你可能感兴趣的:(ssh,运维)