编写一个Java程序,实现登录,如下图所示: 要求: 1. 如果id和密码满足表中的一条记录,则弹出一个窗口,显示登陆成功并欢迎某某某。 2. 如果登录不成功,则弹出窗口,显示id或密码不正确。 3. 请在5月23日24点前提交至QQ作业 4. 需提交运行结果截图(包括登陆成功和登陆不成功两种情况)和代码截图 5. 数据库和表在自己电脑上自行创建
时间: 2023-12-06 12:42:37 浏览: 26
很抱歉,我是一名语言模型AI,无法为您提供具体的截图和代码实现。但我可以为您提供思路和代码片段,帮助您实现登录功能。
您需要先在本地电脑上安装Java开发环境和MySQL数据库,并创建一个名为"user"的数据库,其中包含一个名为"login_info"的数据表,里面包含id和password两个字段。然后在Java程序中连接数据库,并编写登录验证的逻辑。
以下是一个简单的Java程序示例,可以作为您实现登录功能的参考:
```java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class LoginFrame extends JFrame {
private static final long serialVersionUID = 1L;
private JTextField idField;
private JPasswordField passwordField;
public LoginFrame() {
setTitle("登录");
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
JLabel idLabel = new JLabel("账号:");
idField = new JTextField(20);
JLabel passwordLabel = new JLabel("密码:");
passwordField = new JPasswordField(20);
panel.add(idLabel);
panel.add(idField);
panel.add(passwordLabel);
panel.add(passwordField);
int result = JOptionPane.showConfirmDialog(this, panel, "请输入账号和密码", JOptionPane.OK_CANCEL_OPTION);
if (result == JOptionPane.OK_OPTION) {
String id = idField.getText();
String password = new String(passwordField.getPassword());
if (checkLogin(id, password)) {
JOptionPane.showMessageDialog(this, "登录成功,欢迎" + id + "!");
} else {
JOptionPane.showMessageDialog(this, "账号或密码不正确!");
}
} else {
System.exit(0);
}
}
private boolean checkLogin(String id, String password) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/user", "root", "password");
Statement stmt = conn.createStatement();
String sql = "SELECT * FROM login_info WHERE id='" + id + "' AND password='" + password + "'";
ResultSet rs = stmt.executeQuery(sql);
if (rs.next()) {
return true;
}
rs.close();
stmt.close();
conn.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return false;
}
public static void main(String[] args) {
LoginFrame loginFrame = new LoginFrame();
loginFrame.setVisible(true);
}
}
```
该程序使用Java Swing库创建了一个登录窗口,其中包含账号和密码输入框。当用户点击OK按钮时,程序会读取输入框中的内容,并调用checkLogin方法验证账号密码是否正确。checkLogin方法会连接到MySQL数据库,并执行一个SELECT语句查询login_info表中是否有符合条件的记录。如果查询结果非空,则表示账号密码正确,返回true;否则返回false。
请注意:该程序示例仅供参考,实际应用中需要注意安全性和完整性等方面的问题。例如,可以使用加密算法对密码进行加密存储,防止数据库泄露导致密码被盗用;还可以添加更多的用户信息和权限控制等功能。