Servlet, database to achieve login page jump

1. Connect to the database

public class JdbcUtils {
    
    
    static final String drive = "com.mysql.jdbc.Driver";
    static final String url = "jdbc:mysql://localhost:3306/zyj?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";
    static final String username = "root";
    static final String password = "root";
    static Connection connection = null;
    private String sql;

    //连接数据库
    public static Connection getConnection() {
    
    
        try {
    
    
            Class.forName(drive);
            connection = DriverManager.getConnection(url, username, password);
            System.out.println("数据库连接成功!");
        } catch (Exception e) {
    
    
            e.printStackTrace();
            System.out.println("数据库连接失败!");
        }
        return connection;
    }

    //关闭数据库连接
    public void closeCon() {
    
    
        if (connection != null) {
    
    
            try {
    
    
                connection.close();
                System.out.println("数据库连接已经关闭!");
            } catch (SQLException e) {
    
    
                e.printStackTrace();
            }
        }
    }

    //数据库查询方法
    public void select() {
    
    
        sql = "SELECT * FROM tb_users";
        Statement stmt = null;
        try {
    
    
            stmt = connection.createStatement();
            ResultSet rs = stmt.executeQuery(sql);
            while (rs.next()) {
    
    
                System.out.println(rs.getString(1) + rs.getString(2) + rs.getString(3));
            }
        } catch (SQLException e) {
    
    
            e.printStackTrace();
        }
    }

    //事务的提交
    public static void commit(){
    
    
        Connection connection = null;
        connection=getConnection();
        try {
    
    
            connection.commit();
        } catch (SQLException e) {
    
    
            e.printStackTrace();
        }
    }
}

2. Create user entity class

public class Users {
    
    
    private String username;
    private String password;

    public String getUsername() {
    
    
        return username;
    }

    public void setUsername(String username) {
    
    
        this.username = username;
    }

    public String getPassword() {
    
    
        return password;
    }

    public void setPassword(String password) {
    
    
        this.password = password;
    }

    @Override
    public String toString() {
    
    
        return "Users{" +
                "username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

3. Create a transaction interface

public interface UserSDao {
    
    
    public Users select(String username);
}

4. Create the implementation class of the transaction

public class UsersDaoImp implements UserSDao{
    
    
    QueryRunner queryRunner = new QueryRunner();
    @Override
    public Users select(String username) {
    
    
        Users n= null;
        try {
    
    
            n = queryRunner.query(JdbcUtils.getConnection(),"select * from tb_users where username=?;",new BeanHandler<Users>(Users.class),username);
        } catch (SQLException e) {
    
    
            e.printStackTrace();
        }
        return n;
    }
}

5. Create a page login business function

public interface UsersService {
    
    
    public Users login(String username,String password);
}

6. Create a login service implementation class

public class UsersServiceImpl implements UsersService {
    
    
    private UserSDao usersdao = new UsersDaoImp();
    @Override
    public Users login(String username, String password) {
    
    
        Users result = null;
        try {
    
    
            JdbcUtils.getConnection();
            Users user = usersdao.select(username);
            if (user != null){
    
    
                if(user.getPassword().equals(password)){
    
    
                    result = user;
                }
            }
        } catch (Exception e) {
    
    
            e.printStackTrace();
        }
        return result;
    }
}

7. Create LoginServlet

@WebServlet(value = "/index")
public class LoginServlet extends HttpServlet {
    
    
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
    
                doGet(request,response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
    
                //1.收参
        String username = request.getParameter("username");
        String password = request.getParameter("password");
                //2.调用业务逻辑
        UsersService usersservice = new UsersServiceImpl();
        Users user = usersservice.login(username,password);
                //3.处理结果
        PrintWriter out = response.getWriter();
        if (user!=null){
    
    
            out.println("<html>");
            out.println("<head>");
            out.println("<meta charset='UTF-8'>");
            out.println("<title>结果页面</title>");
            out.println("<body>");
            out.println("<h1>success</h1>");
            out.println("</body>");
            out.println("</head>");
            out.println("</html>");
        }else {
    
    
            out.println("<html>");
            out.println("<head>");
            out.println("<meta charset='UTF-8'>");
            out.println("<title>结果页面</title>");
            out.println("<body>");
            out.println("<h1>failed</h1>");
            out.println("</body>");
            out.println("</head>");
            out.println("</html>");
        }
    }
}

8. Create a login page

<%--
  Created by IntelliJ IDEA.
  User: Admin
  Date: 2020/10/28
  Time: 16:39
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>myWeb</title>
  </head>
  <body>
    <form action="/testMyweb/index" method="post">

        账号:<input type="text" style="width: 100px ; height: 35px" name="username">


        密码:<input type="password" style="width: 100px ; height: 35px" name="password">


        <input type="submit" value="提交">

    </form>
  </body>
</html>

Guess you like

Origin blog.csdn.net/Anakin01/article/details/112717152