都是在用户登陆时查询数据库表,一般user表中会有:是否禁用、最后一次登陆时间(到秒)、用户登陆错误次数。
成都创新互联是一家集网站建设,北流企业网站建设,北流品牌网站建设,网站定制,北流网站建设报价,网络营销,网络优化,北流网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
用户登陆时查询该用户数据,进行判断,若是正确,则更新是否禁用为可用、最后登陆时间、错误次数为0.
若是登陆错误时,错误次数+1,若是错误次数=3,则更新是否禁用为禁用,并更新最后一次登陆时间。
若是登陆时该用户数据中是否禁用为禁用,则判断最后一次登陆时间与当前登陆时间相比较,半小时后可以登陆,重复上面流程。
JAVA做登陆必须会HTML,用HTML做出一个用户名密码的界面。
编写后台代码。
如果说想法,也就是对用户名密码的正确性判断和输入字符是否合法,有些登陆需要验证码,可按个人意愿加。
为了安全性,可以写成3次登陆错误就禁止登陆的方式,实现方式使用cookies。
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(count3)
{
if(db.check())
{
JOptionPane.showMessageDialog(this,"登陆成功!","提示对话框",JOptionPane.WARNING_MESSAGE);
setVisible(false);
MainFrame f=new MainFrame();f.pack();
}
else
{
count++;
if(count3)
{
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);
}
}
写一个ServletContextListener,里面放一个集合对象,保存登录用户信息以及每天的登录次数,contextInitialized方法里面给servletContext一个全局Attribute,登录的时候拿到这个attribute,判断用户登录次数。
如果是文件万一用户自己把文件给删了呢。
joptionpane.showmessagedialog(null,
"用户身份不合法");
在这里加一个int
值
默认为0
当运行到这里的时候int++
下次多个判断if
int大于等于三
直接登录失败就可以了