重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
package com.win;
网站建设哪家好,找成都创新互联!专注于网页设计、网站建设、微信开发、重庆小程序开发公司、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了岳塘免费建站欢迎大家使用!
import com.lcq.*;
import com.lcq.data.DataOperator;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class Login extends JFrame implements ActionListener
{
//ALT +"/"
JLabel lbName=new JLabel("用户名");
JLabel lbPwd=new JLabel("密 码");
JTextField textName =new JTextField();
JPasswordField textPwd =new JPasswordField();
JButton btnOK=new JButton("确定");
JButton btnCancel =new JButton("取消");
public Login()
{
this.getContentPane().setBackground(Color.blue);
this.setTitle("登录窗体");
this.setSize(300, 200);
this.setResizable(false);
this.add(lbName);
lbName.setBounds(50,50,50,20);
btnOK.addActionListener(this); //注册监听器
btnCancel.addActionListener(this); //注册监听器
this.add(lbPwd);
lbPwd.setBounds(50, 70, 50, 20);
this.add(textName);
textName.setBounds(120, 50, 100, 20);
this.add(textPwd);
textPwd.setBounds(120, 70, 100, 20);
this.add(btnOK);
btnOK.setBounds(50, 100, 70, 20);
this.add(btnCancel);
btnCancel.setBounds(160, 100, 70, 20);
this.setLayout(null);
lbName.setForeground(Color.white);
lbPwd.setForeground(Color.white);
Dimension screenSize =
Toolkit.getDefaultToolkit().getScreenSize();
this.setLocation (screenSize.width / 2 - (this.getWidth() / 2),
screenSize.height / 2 - (this.getHeight() / 2));
}
@Override
public void actionPerformed(ActionEvent arg0) //事件处理方法
{
if(arg0.getSource().equals(btnOK))
{
int i=0;
do
{
String name=textName.getText();
String Pawd=new String( textPwd.getPassword());
if(name.equals("aaa")Pawd.equals("aaa"))
{
//System.out.println("登录成功!");
JOptionPane.showConfirmDialog(null, "登录成功!","提示",JOptionPane.DEFAULT_OPTION);
}
else
{
//System.out.println("用户名或密码错误!");
JOptionPane.showConfirmDialog(null, "用户名或密码错误!","提示",JOptionPane.DEFAULT_OPTION);//对话框
i=i+1;
if(i3)
{
JOptionPane.showConfirmDialog(null, "登录失败","提示",JOptionPane.DEFAULT_OPTION);
System.exit(0);
}
}
}while(true);
}
if(arg0.getSource().equals(btnCancel))
{
JOptionPane.showConfirmDialog(null, "你退出了系统!","提示",JOptionPane.DEFAULT_OPTION);
System.exit(0);
}
}
}
//这个是调用
package com.main;
import com.win.*;
public class Test {
/**
* @param args
*/
public static void main(String[] args)
{
Login lg=new Login();
lg.setVisible(true);
}
}
这个在数据库中增加一个int型字段就可以了。每次登录都先查询该字段如果小于三就加一,当第四次登录时,改值为4,查到大于三就弹出错误提示,禁止登录。
那种你需要在界面里面写个ajax请求,每个一段时间就去查看是否有其他人登录,如果有就注销登录,相当于被踢出了,主要代码是js,其实也不复杂
懒得开eclipse写了,写个伪代码吧
for(int i=0;i3;i++){
获得账号和密码
if(账号和密码正确){
登录成功,进入一个登录成功的方法
}
}
循环三次后,登录失败
用户登录以后将session(或者自定一个特征码)以及时间戳录入到数据库里面,然后查询用户ID的session有几个,就是他的登录次数,如果要寻找30天内的登录次数就从录入的时间开始到录入的时间戳加上30天以后的时间作为范围 select session from table where userid=? and create_time between 第一个登入账户的session的录入时间 And 第一次录入时间+30天以后