使用JDBC工具类实现简单的登录管理系统需要以下步骤:
- 准备工作
在项目中引入JDBC依赖,如使用Maven引入jdbc依赖:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.39</version>
</dependency>
- 创建数据库和表
首先需要创建一个数据库和表,示例如下:
CREATE DATABASE `test`;
USE `test`;
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(50) DEFAULT NULL,
`password` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
- 编写JDBC工具类
创建一个JDBC工具类,其中包含数据库连接、关闭连接、查询数据库等常用方法。
import java.sql.*;
public class JdbcUtils {
private static final String DB_URL = "jdbc:mysql://localhost:3306/test?useSSL=false";
private static final String DB_USER = "root";
private static final String DB_PASSWORD = "password";
public static Connection getConnection() throws SQLException {
return DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
}
public static void closeConnection(Connection connection, Statement statement, ResultSet resultSet) {
try {
if (resultSet != null) {
resultSet.close();
}
if (statement != null) {
statement.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
- 创建登录页面
创建一个登录页面,包含用户名和密码输入框以及登录按钮,示例如下:
<!DOCTYPE html>
<html>
<head>
<title>Login Page</title>
<meta charset="UTF-8">
</head>
<body>
<form method="post" action="login">
<div>
<label for="username">Username:</label>
<input type="text" name="username" id="username" required>
</div>
<div>
<label for="password">Password:</label>
<input type="password" name="password" id="password" required>
</div>
<div>
<input type="submit" value="Login">
</div>
</form>
</body>
</html>
- 处理登录请求
创建一个Servlet来处理登录请求。
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/login")
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
if (username != null && password != null) {
try {
Connection connection = JdbcUtils.getConnection();
String sql = "SELECT * FROM user WHERE username = ? and password = ?";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setString(1, username);
statement.setString(2, password);
ResultSet resultSet = statement.executeQuery();
if (resultSet.next()) {
response.sendRedirect("success.jsp");
} else {
response.sendRedirect("error.jsp");
}
JdbcUtils.closeConnection(connection, statement, resultSet);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
在处理请求时,获取请求中的用户名和密码,使用JDBC查询用户表,如果查询到对应的用户则跳转到登录成功页面,否则跳转到登录失败页面。
以上就是使用JDBC工具类实现简单的登录管理系统的攻略。示例程序可参考以下链接:
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用JDBC工具类实现简单的登录管理系统 - Python技术站