java感想

注册新用户
内容:从客户端输入用户名和密码并发送到服务器端,服务器接收到后写入到数据库uaer表中。
目的:掌握按钮的事件响应代码的设计,掌握客户端向服务器端发送新用户名和密码,掌握如何把新用户名和密码写入到数据库表中。
步骤一:为注册按钮添加事件响应代码
jb2.addActionListener(this);
步骤二:响应动作代码
if(arg0.getSource()==jb2){
String userName=jtf1.getText();
String passWord=new String(jpf1.getPassword());
User user=new User();
user.setUserName(userName);
user.setPassWord(passWord);
user.setUserMessageType(“USER_REGISTER”);
boolean registerSuccess=new ClientConnetion().registerUserIntoDB(user);
步骤三:在User类中添加新的成员变量
private String useMessageType;

	public String getUserMessageType(){
		return useMessageType;
	}
	public void setUserMessageType(String useMessageType){
		this.useMessageType=useMessageType;
	}

步骤四:显示注册成功或者失败的提示信息
if(registerSuccess){
JOptionPane.showMessageDialog(this, “注册成功”);
}else{
JOptionPane.showMessageDialog(this, “注册失败,该用户名已经存在!”);
}
}
步骤5:创建registerUserIntoDB方法来发送user对象到服务器端,并接收服务器返回的message。 public boolean registerUserIntoDB(User user){
boolean registerSuccess=false;
ObjectOutputStream oos;
Message mess=null;
try {
//把字节输出流对象 包装成 对象输出流对象
oos=new ObjectOutputStream(s.getOutputStream());
oos.writeObject(user);

		ObjectInputStream ois=new ObjectInputStream(s.getInputStream());
		mess=(Message)ois.readObject();//接收
		if(mess.getMessageType().equals(Message.message_RegisterSuccess)){
			registerSuccess=true;
			s.close();//关闭客户端的socket对象
		}
        }catch (IOException | ClassNotFoundException e) {
	          e.printStackTrace();
        }
	return registerSuccess;
}

步骤6:添加Message对象的新类型
String message_RegisterSuccess=“6”;
String message_RegisterFailtrue=“7”;
步骤7:在服务器完成新用户的注册
if(user.getUserMessageType().equals(“USER_REGISTER”)){
步骤8:对注册用户名进行查询
boolean seekSuccess=YychatDbUtil.seekUser(userName);
mess=new Message();
     mess.setSender(“Server”);
     mess.setReceiver(userName);
if(seekSuccess){
//返回注册失败的message
     mess.setMessageType(Message.message_RegisterFailtrue);
}else{
步骤9:如果没有同名用户,把新用户的名字和密码写入到user表中
YychatDbUtil.addUser(userName,passWord);
mess.setMessageType(Message.message_RegisterSuccess);
}
sendMessage(s,mess);
s.close();//注册结束,应该关闭服务器的socket对象
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值