20201/8/21

这篇博客详细描述了客户端用户注册的过程,包括账号、密码和昵称的验证,以及文件上传的处理。同时,它也展示了服务器端接收到注册请求后的处理方式,涉及数据库查询和信息写入,以及返回的注册结果。整个过程涵盖了用户输入验证、文件操作和数据库交互的关键步骤。
摘要由CSDN通过智能技术生成

8:30-9:00 学习打卡

9:30-12:00 写qq项目

14:00-18:00 写 qq项目

1.客户端注册方法
按下注册按钮向服务器发送信息

    @Override
    public void actionPerformed(ActionEvent e) {
        if(e.getSource()==jb1){
            String s=jt1.getText().trim();
            if(s.length()>10||s.equals("")){
                JOptionPane.showConfirmDialog(null,"账号输入不正确","提示",JOptionPane.WARNING_MESSAGE);
                return;
            }
            s=jt2.getText().trim();
            if(s.length()>10||s.equals("")){
                JOptionPane.showConfirmDialog(null,"密码输入不正确","提示",JOptionPane.WARNING_MESSAGE);
                return;
            }
            s=jt3.getText().trim();
            if(s.length()>20||s.equals("")) {
                JOptionPane.showConfirmDialog(null,"昵称不正确","提示",JOptionPane.WARNING_MESSAGE);
                return;
            }
            Massage m=new Massage();
            m.setS("4");
            m.setMyname(jt3.getText().trim());
            m.setMyid(jt1.getText().trim());
            m.setUserpassward(jt2.getText().trim());
            m.ss=new ArrayList<String>();
            m.ss1=new ArrayList<Integer>();
            m.ss2=new ArrayList<byte[]>();
            File fl=new File(tupian);
            FileInputStream fis= null;
            System.out.println(fl.getPath());
            int len;
            byte[] buf=new byte[1024];
            try {
                fis = new FileInputStream(fl.getPath());
                while((len=fis.read(buf))!=-1){
                    m.ss.add(jt1.getText().trim());
                    m.ss1.add(len);
                    m.ss2.add(buf);
                    buf=new byte[1024];
                }
            } catch (FileNotFoundException fileNotFoundException) {
                fileNotFoundException.printStackTrace();
            } catch (IOException ioException) {
                ioException.printStackTrace();
            }
            qqlogin ql=new qqlogin();
            ql.inlt(m);
            if(ql.ok()==true){
                JOptionPane.showConfirmDialog(null,ql.xiaoxi,"提示",JOptionPane.ERROR_MESSAGE);
                this.dispose();
            }
            else{
                JOptionPane.showConfirmDialog(null,ql.xiaoxi,"提示",JOptionPane.ERROR_MESSAGE);
            }
        }else if(e.getSource()==jb2){
            jfc=new JFileChooser();
            int i=jfc.showOpenDialog(this);
            if(i==jfc.APPROVE_OPTION){
                tupian=jfc.getSelectedFile().getPath();
                Image image=new ImageIcon(jfc.getSelectedFile().getPath()).getImage();
                image=image.getScaledInstance(100,100,Image.SCALE_DEFAULT);
                JL.setIcon(new ImageIcon(image));
            }
        }
    }

2.服务器注册方法
服务器收到信息判断成功写入数据库,最后返回注册结果

                    else if(u1.getS().equals("4")){//注册
                        Mysql my=new Mysql();
                        Massage m=new Massage();
                        if(my.selectid(u1.getMyid())){
                            m.setS("2");
                            m.setXiaoxi("账号已存在");
                        }else{

                            boolean bl=my.addid(u1.getMyid(),u1.getUserpassward(),u1.getMyname());
                            if(bl==true){
                                String s3=null;
                                FileOutputStream fos=null;
                                File fl=null;
                                for(int i=0;i<u1.ss.size();i++)
                                {

                                    if(s3!=u1.ss.get(i)){
                                        s3=u1.ss.get(i);
                                        fl=new File("src\\qqserver\\view\\"+u1.getMyid()+".jpg");
                                        fos=new FileOutputStream(fl.getCanonicalPath());
                                    }
                                    fos.write(u1.ss2.get(i),0,u1.ss1.get(i));
                                }
                                m.setS("4");
                                m.setXiaoxi("创建成功");
                            }
                            else{
                                m.setS("2");
                                m.setXiaoxi("创建失败");
                            }
                        }
                        oos.writeObject(m);
                    }

                }

            } catch(IOException | ClassNotFoundException e){
                    e.printStackTrace();
            }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值