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

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

  1. package ui;
  2. import java.awt.*;
  3. import java.awt.event.*;
  4. import javax.swing.*;
  5. import jiekou.accountjiekou;
  6. import jiekouimp.Accountjiekouimp;
  7. import db.Account;
  8. public class Enter extends JFrame implements ActionListener {
  9. public static void main(String[] args) {
  10. Enter l = new Enter();
  11. l.Entertest();
  12. }
  13. JLabel tle,act,pwd;
  14. JTextField account,password;
  15. JButton entry,register;
  16. JPanel line,line1,line2,line3;
  17. public void Entertest() {
  18. // TODO Auto-generated constructor stub
  19. Container con=getContentPane();
  20. con.setLayout(new GridLayout(4,1));
  21. //实例化所有的组件
  22. line=new JPanel();
  23. line1=new JPanel();
  24. line2=new JPanel();
  25. line3=new JPanel();
  26. tle=new JLabel("学生管理系统");
  27. tle.setFont(new Font("黑体", Font.PLAIN, 20));
  28. act=new JLabel("账号:");
  29. pwd=new JLabel("密码:");
  30. entry=new JButton("登录");
  31. entry.addActionListener(this);
  32. account=new JTextField(10);
  33. password=new JTextField(10);
  34. //将所以组件添加到面板
  35. line.add(tle);
  36. line1.add(act);
  37. line1.add(account);
  38. line2.add(pwd);
  39. line2.add(password);
  40. line3.add(entry);
  41. //将面板添加到容器
  42. con.add(line);
  43. con.add(line1);
  44. con.add(line2);
  45. con.add(line3);
  46. //设置页面标题,大小
  47. setTitle("登录");
  48. setSize(340,200);
  49. setVisible(true);
  50. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  51. }
  52. //触发登录按钮后所产生的行为
  53. public void actionPerformed(ActionEvent e) {
  54. // TODO Auto-generated method stub
  55. Accountjiekouimp adi=new Accountjiekouimp(); //实例化账户接口实现类
  56. Account act=new Account(); //实例化一个账户对象
  57. if(adi.search(account.getText())!=null) { //调用账户接口的search方法,判断数据库中所存的账户名称是否有与输入的账户相同的名称
  58. act=adi.search(account.getText()); //将返回的查询到的符合条件的数据暂存到act对象中
  59. if(act.getPassword().equals(password.getText())) { //判断所输密码是否与数据库存储的相同
  60. this.setVisible(false);
  61. new Host().setVisible(true); //账号密码均一致,显示主页面
  62. }else {
  63. new Error().setVisible(true); //密码不一致,显示输入错误页面
  64. }
  65. }
  66. else {
  67. new Error().setVisible(true); //账号不一致,显示输入错误页面
  68. }
  69. }
  70. }

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】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部