永发信息网

在JAVA中实现限制登陆次数的代码,超过三次确定键将不能用

答案:3  悬赏:50  手机版
解决时间 2021-03-29 10:45
在JAVA中实现限制登陆次数的代码,超过三次确定键将不能用
最佳答案
JOptionPane.showMessageDialog(null, "用户身份不合法");
在这里加一个int 值 默认为0 当运行到这里的时候int++
下次多个判断if int大于等于三 直接登录失败就可以了
全部回答
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import java.sql.*;
public class Login extends JFrame implements ActionListener{

JButton button1,button2;
static JTextField text1,text2;
JPanel panel1,panel2,panel3,panel4,panel5;
Container con1;
int count=0;//密码输入次数计数器
Login()
{
super("用户登陆");

text1=new JTextField(10);
text2=new JPasswordField(10);
button1=new JButton("提交");
button2=new JButton("取消");
panel1 = new JPanel();
panel2 = new JPanel();
panel3 = new JPanel();
panel4 = new JPanel();
panel5 = new JPanel();
setLocation(350,250);
con1=getContentPane();
con1.setLayout(new GridLayout(5,1));
con1.setPreferredSize(new Dimension(300,250));

panel1.add(new JLabel(""));
panel2.add(new JLabel("用户名:"));
panel2.add(text1);
panel3.add(new JLabel("密 码:"));
panel3.add(text2);
panel4.add(button1);
panel4.add(button2);
panel5.add(new JLabel(""));

con1.add(panel1);
con1.add(panel2);
con1.add(panel3);
con1.add(panel4);
con1.add(panel5);
addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e)
{ setVisible(false);
System.exit(0);
}
});
button1.addActionListener(this);
button2.addActionListener(this);
this.setResizable(false);
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==button1)
{
try{登陆();}
catch(SQLException ee){}
}
else if(e.getSource()==button2)
{
退出销售系统();
}
}

public void 登陆() throws SQLException
{
Database db=new Database();
if(count<3)
{
if(db.check())
{
JOptionPane.showMessageDialog(this,"登陆成功!","提示对话框",JOptionPane.WARNING_MESSAGE);
setVisible(false);
MainFrame f=new MainFrame();f.pack();
}
else
{
count++;
if(count<3)
{
JOptionPane.showMessageDialog(this,"登陆失败!","提示对话框",JOptionPane.WARNING_MESSAGE);
}
else
{
JOptionPane.showMessageDialog(this,"密码错误超过3次!","警告对话框",JOptionPane.WARNING_MESSAGE);
System.exit(0);
}
}
}
else
{
JOptionPane.showMessageDialog(this,"密码错误超过3次!","警告对话框",JOptionPane.WARNING_MESSAGE);
System.exit(0);
}
}

public void 退出销售系统()
{
System.exit(0);
}
}
如果这样的话,你最好在数据库里建一个临时表。每登录一次,就将该用户的IP和登录状况记录到临时表中。
如果这样还可以限制一个用户在多个IP上登录的问题。
但是要控制好,什么时候该删除临时表里的数据,要不下次就登录不上了,要控制好用户不正确的操作下,你也能及时删除临时表的数据。
大概就按这样的思路就可以很好的完成。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
家用切碎机哪个品牌好?
英文DJ常有的“普秋嘿搜”啥意思?怎么写
家常不辣的羊排火锅怎么做才好吃
锦江,青羊,金牛,武侯,成华,分别在成都市的哪
简算9x(9.3-5.8)+3.5
成语什么猿意马
“黑白色胶卷缠绕一个圈 缠绕所有对你的眷念
自建3层楼房混泥土用c30还是c25那个好
一梅一分的硬币是一九八零年的值多少钱
征途成就能力提升怎么打不开了
山东烟台距海南三亚多少公里?
丑女变身美女校花 TXT 全集
基及树的形态特征
云南省保山市隆阳区杨柳乡娘咱村一组
queen mary是什么牌子红酒
推荐资讯
今天晚上我抉择,坚定了做蛋糕师至少2年再改
哪些部门联合发文规范民间借贷行为?
AB 是什么学位
天天酷跑哈巴姆特配谁好
图集号l13s4-16单栓消防箱的尺过
如何使贝壳光亮
求一部恐怖小说,女孩有天眼,能看到死者死前
vivo y55实体店价格是多少
财付通邮政汇款时出现 亲爱的用户:由于银行
请问本人军照没直接换c1,报了b2,要考科目1
多吃芝麻对头发有什么好处
电榄4X150十1X70每米有多重
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?