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>