先看这个👇👇👇
https://blog.csdn.net/m0_49902448/article/details/114442083
搞过注册之后, 登录就差不多了哈哈, 在注册的基础上写登录(注册可以点开…)
- 开始了, 第一步, 检查数据库判断账号是否存在并且密码是否匹配, 如果匹配, 则登录, 如果不匹配, 则提示账号或者密码输入错误或者不存在, 代码如下
package JDBC;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/*
检查账号密码是否对, 实现登录
*/
public class EqualIdPas {
public static int idPassword(String id, String password){
Connection conn = null;
PreparedStatement st = null;
ResultSet rs = null;
try {
conn = JdbcUtils_DBCP.getConnection();
String sql = "select * from users where id=? and password =?";
st = conn.prepareStatement(sql);//预编译sql, 先写sql, 然后不执行
//手动给参数赋值
st.setString(1,id);//传入id
st.setString(2,password);//传入password
rs = st.executeQuery();
while (rs.next()){
return 1;//如果数据库有这个数据, 则返回数字1
}
} catch (SQLException throwables) {
throwables.printStackTrace();
}finally{
JdbcUtils_DBCP.release(conn, st,null);
}
return 2;//如果数据库没有这个数据, 则返回数字2
}
}
- 图形化界面梳理, 需要登录界面, 登录失败界面, 登陆后界面, 准备完毕后再开始写监听器
如图, demo03是登录界面, demo05是登录成功界面, demo17是登录失败界面
- 监听器, 需要传入一个框体对象, 账号输入框对象, 密码输入框对象, 获取密码框文本信息用的是getPassword, 跟注册那个差不多, 看代码吧
package listener;
import JDBC.EqualIdPas;
import hello_world.demo05bigface;
import hello_world.demo17failLogin;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/*
登录
*/
public class loginListener implements ActionListener {
private javax.swing.JTextField jt;//账号输入框对象
private javax.swing.JPasswordField jp;//密码输入框对象
private javax.swing.JFrame login;//定义一个窗体对象
public loginListener(javax.swing.JFrame login,javax.swing.JTextField jt,javax.swing.JPasswordField jp) {
this.login=login;//获取登录界面
this.jt=jt;//获取登录界面中的账号输入框对象
this.jp=jp;//获取登录界面中的密码输入框对象
}
@Override
public void actionPerformed(ActionEvent e) {
//利用get方法来获取账号和密码对象的文本信息,并用equal方法进行判断。最好不要用==,用==这个地方验证不过去。
String id = jt.getText();
String password = String.valueOf(jp.getPassword());
int idPas = EqualIdPas.idPassword(id, password);
if(idPas==1){
//为1代表账号密码输入正确, 允许登录, 打开登录成功界面
demo05bigface demo05bigface = new demo05bigface();
demo05bigface.showUI();//打开登陆后
login.dispose();//关闭登录
}else if(idPas==2){
//2账号密码错误, 弹出提示框
demo17failLogin demo17failLogin = new demo17failLogin();
demo17failLogin.showUI();//打开提示
login.dispose();//关闭登录
}
}
}
- 给登录页面的登录按钮装监听器
//首先实例化登录按钮监听类的对象,并把登录界面中账号和密码输入框的对象传给它
loginListener ll1 = new loginListener(jf, tex, pas);
//对当前窗体添加监听方法
but1.addActionListener(ll1);//监控按钮
- 看效果
数据库
登录666666,123456
登录成功!
再来试一个错的账号密码
结果是这样
点击[返回登录]
结束了结束了
程序猿永不向BUG低头, 加油