//创建用户类
public class User {
private String username;
private String password;
public User() {
super();
// TODO Auto-generated constructor stub
}
public User(String username, String password) {
super();
this.username = username;
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
//重写比较方法
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
User other = (User) obj;
if (password == null) {
if (other.password != null)
return false;
} else if (!password.equals(other.password))
return false;
if (username == null) {
if (other.username != null)
return false;
} else if (!username.equals(other.username))
return false;
return true;
}
}
import java.util.ArrayList;
//模拟用户数据库
public class DBUsers {
static ArrayList<User> users = new ArrayList<User>();
static{
users.add(new User("admin", "123456"));
users.add(new User("scorpio","joshua"));
users.add(new User("username", "password"));
}
//获取数据库用户名与密码
public static ArrayList<User> getUser(){
return users;
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;
//创建客户发送端
public class ClientDemo {
public static void main(String[] args) throws IOException {
//创建Socket对象
Socket s = new Socket(InetAddress.getByName("127.0.0.1"), 10086);
//获取输出流
OutputStream os = s.getOutputStream();
PrintWriter pw = new PrintWriter(os, true);
//键盘输入用户名与密码
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入用户名: ");
String username = br.readLine();
System.out.println("请输入密码: ");
String password = br.readLine();
//发送数据 使用println自动刷新换行
pw.println(username);
pw.println(password);
BufferedReader br2 = new BufferedReader(new InputStreamReader(s.getInputStream()));
System.out.println(br2.readLine());
//释放资源
s.close();
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
//创建服务接收端
public class ServerDemo {
public static void main(String[] args) throws IOException{
//创建Socket接收端
ServerSocket ss = new ServerSocket(10086);
//监听
Socket s = ss.accept();
//获取输入流
InputStream is = s.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
//获取用户名与密码
String username = br.readLine();
String password = br.readLine();
//比较数据库中的用户名与密码
boolean flag = false;
User user = new User(username, password);
if(DBUsers.getUser().contains(user)){
flag = true;
}
//输出结果给客户端
PrintWriter pw = new PrintWriter(s.getOutputStream(),true);
if(flag){
pw.println("登陆成功!");
}else{
pw.println("登录失败!");
}
//释放资源
s.close();
//ss.close()
}
}