yang_xingui 2022-06-22 15:15 采纳率: 90.9%
浏览 80
已结题

登陆界面输入正确的密码也会报错


package ui;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import jiekou.accountjiekou;
import jiekouimp.Accountjiekouimp;
import db.Account;
public class Enter extends JFrame implements ActionListener {
    public static void main(String[] args) {
        Enter l = new Enter();
        l.Entertest();
    }
    JLabel tle,act,pwd;
    JTextField account,password;
    JButton entry,register;
    JPanel line,line1,line2,line3;
    public void Entertest() {
        // TODO Auto-generated constructor stub
        Container con=getContentPane();        
        con.setLayout(new GridLayout(4,1)); 
        //实例化所有的组件
        line=new JPanel();
        line1=new JPanel();
        line2=new JPanel();
        line3=new JPanel();
        tle=new JLabel("学生管理系统");
        tle.setFont(new Font("黑体", Font.PLAIN, 20));    
        act=new JLabel("账号:");
        pwd=new JLabel("密码:");
        entry=new JButton("登录");
        entry.addActionListener(this);    
        account=new JTextField(10);
        password=new JTextField(10);
        //将所以组件添加到面板
        line.add(tle);
        line1.add(act);
        line1.add(account);
        line2.add(pwd);
        line2.add(password);
        line3.add(entry);
        //将面板添加到容器
        con.add(line);
        con.add(line1);
        con.add(line2);
        con.add(line3);
        //设置页面标题,大小
        setTitle("登录");
        setSize(340,200);
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    
    }
    //触发登录按钮后所产生的行为
    public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
        Accountjiekouimp adi=new Accountjiekouimp();    //实例化账户接口实现类
        Account act=new Account();                //实例化一个账户对象
        if(adi.search(account.getText())!=null) {    //调用账户接口的search方法,判断数据库中所存的账户名称是否有与输入的账户相同的名称
            act=adi.search(account.getText());        //将返回的查询到的符合条件的数据暂存到act对象中
            if(act.getPassword().equals(password.getText())) {    //判断所输密码是否与数据库存储的相同
                this.setVisible(false);
                new Host().setVisible(true);        //账号密码均一致,显示主页面
            }else {
                new Error().setVisible(true);        //密码不一致,显示输入错误页面
            }
        }    
        else {
                new Error().setVisible(true);        //账号不一致,显示输入错误页面
            }
    }
}

img

展开全部

  • 写回答

5条回答 默认 最新

  • 一起随缘 2022-06-23 01:08
    关注

    看看数据库中的密码是否加密后的还是明文密码,如果拿输入的明文密码和加密后的比对肯定不对,要做对应的加密再比对

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    yang_xingui 2022-06-23 02:00

    请问如何做对应的加密呢?

    回复
    一起随缘 回复 yang_xingui 2022-06-23 02:12

    你先确认下数据库中的密码是否是加密的,如果是的话,你看下新增用户时方法是怎么加密的,然后比对时用同样的方法对前端传的密码先加密,然后再比较

    1
    回复
查看更多回答(4条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 7月1日
  • 已采纳回答 6月23日
  • 创建了问题 6月22日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部