2 zhang603306 zhang603306 于 2015.06.07 10:45 提问

java 中用户名密码验证的代码怎么写?急!!在线等

import java.awt.GridLayout;
import java.awt.event.*;
import javax.swing.*;
import com.sdu.wh.bll.UserQueryBll;
import com.sdu.wh.dao.*;
import com.sdu.wh.sql.*;

public class LoginFrame extends JDialog implements ActionListener {

private JTextField textName = new JTextField();
private JPasswordField textPW = new JPasswordField();
private JButton btnOK = new JButton("登录");
private JButton btnCancel = new JButton("取消");

//构造方法,参数1:宿主窗口, 参数2:是否模态窗口
public LoginFrame(JFrame jf, boolean model) {

    //调用父类 JDialog 的构造方法
    super(jf, model);
    this.setTitle("学生选课管理系统登录");

    this.setSize(300, 180);
    this.setLocation(500, 400);

    getContentPane().setLayout(new GridLayout(3,2,10,10));

    getContentPane().add(new JLabel("用户名:"));
    getContentPane().add(textName);
    getContentPane().add(new JLabel("密码:"));
    getContentPane().add(textPW);
    getContentPane().add(btnOK);

    btnOK.addActionListener(this);
    getContentPane().add(btnCancel);

    btnCancel.addActionListener(this);
    this.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE); 
    this.setVisible(true);
}

public void actionPerformed(ActionEvent e) {
    if(e.getActionCommand()== "登录") {

        //登录密码的验证方法
        //通过用户名到数据库中查到该用户名的密码
        //与输入的密码比较
        String uid=textName.getText();
        String password=new String(textPW.getPassword());
        String t=null;

        String sql="select 用户名,密码,角色,学院 from users where 用户名="+uid;
        SqlExecute excute=new SqlExecute();
        User user = null;
        try {
            //如果两个输入框都不空
            if(!uid.equals("")){
            user = excute.getUser(sql);
            }
        }
            catch (Exception e1) {
                e1.printStackTrace();
            }
            boolean isPass=!uid.equals("")&& uid.equals(user.getUid()) && !password.equals("") && password.equals(user.getPassword());

            //如果通过验证
            if(isPass) {
                //记录登录用户的id,学院,角色信息
                StudentMainFrame.cUser.setUid(user.getUid());
                StudentMainFrame.cUser.setDepart(user.getDepart());
                StudentMainFrame.cUser.setType(user.getType());
                //登录成功后销毁该登录窗口
                this.dispose();
            }
            else {
                //没有通过验证,弹出登陆错误提示信息
                JOptionPane.showMessageDialog(this, "用户名或密码不正确!\r\n请重新填写。");
            }

    }


    else  //点取消按钮放弃登录,退出程序
        System.exit(0);

}
}

5个回答

z345434645
z345434645   2015.06.08 23:25
        boolean isPass=!uid.equals("")&& uid.equals(user.getUid()) && !password.equals("") && password.equals(user.getPassword());
                    这是几个意思?

                    用户名密码验证很简单:
                    1、用用户名查询密码,如果查不到则不存在用户
                    2、如果存在,则对比输入的密码与查询出来的密码,如果相等就登录成功,不想等就登陆失败。
                    你的注释都写的大致对了,代码却没写对,不是自己的代码吗?
fy963057560
fy963057560   2015.06.07 11:22

去网上搜一下 正则表达式,java 实现正则表达式验证

zhang603306
zhang603306 好像不是。。
2 年多之前 回复
caozhy
caozhy   Ds   Rxr 2015.06.07 11:55

String sql="select 用户名,密码,角色,学院 from users where 用户名="+uid;
->

String sql="select 用户名,密码,角色,学院 from users where 用户名 = '"+uid + "' and 密码 = '" + password + "'";

zhang603306
zhang603306 怎么还不对。。??
2 年多之前 回复
wangyangzhizhou
wangyangzhizhou   2015.06.09 12:52

这种简单的例子网上书上都一大堆

Amber_gys
Amber_gys   2016.06.03 21:20

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">



true
用户名不能为空




true
密码不能为空


Csdn user default icon
上传中...
上传图片
插入图片