java数据库登录界面验证账号密码

以下是一个基本的 Java 数据库登录界面示例,使用了 JDBC 和 Swing 组件来实现用户认证和数据存储:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;

public class LoginFrame extends JFrame implements ActionListener {
	private JTextField usernameField;
	private JPasswordField passwordField;
	private JButton loginButton;

	public LoginFrame() {
		setTitle("登录");
		setSize(300, 150);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		JPanel panel = new JPanel(new GridLayout(3, 2));

		JLabel usernameLabel = new JLabel("用户名:");
		panel.add(usernameLabel);

		usernameField = new JTextField();
		panel.add(usernameField);

		JLabel passwordLabel = new JLabel("密码:");
		panel.add(passwordLabel);

		passwordField = new JPasswordField();
		panel.add(passwordField);

		loginButton = new JButton("登录");
		loginButton.addActionListener(this);
		panel.add(loginButton);

		add(panel);
	}

	public void actionPerformed(ActionEvent e) {
		String username = usernameField.getText();
		String password = String.valueOf(passwordField.getPassword());

		try {
			Class.forName("com.mysql.jdbc.Driver");
			Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "root", "");
			PreparedStatement ps = con.prepareStatement("select * from users where username=? and password=?");
			ps.setString(1, username);
			ps.setString(2, password);
			ResultSet rs = ps.executeQuery();

			if (rs.next()) {
				JOptionPane.showMessageDialog(this, "欢迎, " + username);
				dispose();
			} else {
				JOptionPane.showMessageDialog(this, "用户名或密码不正确");
			}
		} catch (Exception ex) {
			ex.printStackTrace();
		}
	}

	public static void main(String[] args) {
		LoginFrame frame = new LoginFrame();
		frame.setLocationRelativeTo(null);
		frame.setVisible(true);
	}
}

在此java数据库登录界面验证账号密码示例中,我们修改了 LoginFrame 类的 actionPerformed() 方法,在用户点击登录按钮时,使用 JDBC 连接到 MySQL 数据库,并查询用户名和密码是否匹配。如果匹配成功,我们使用 JOptionPane 弹出欢迎消息并关闭窗口;如果匹配失败,则弹出错误消息。

需要注意的是,在实际应用中,我们需要在用户认证逻辑中添加安全检查和加密处理等措施,避免敏感信息被泄露或攻击者非法访问系统。同时,为了提高程序性能和可靠性,我们还需要对数据库连接和资源释放进行优化和管理。

猜你喜欢:jdbc连接oracle数据库步骤

 
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定