已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
内蒙古科技大学Web开发技术(JAVA技术)结课大作业项目名称:成员姓名:专 业:完成日期:第1章 迷你QQ设计一、设计1.1 设计任务与要求课程设计的任务是:根据所选课题“迷你QQ”,完成课程设计的分析、设计和编码,并用字符界面或图形界面实现。且写出课程设计报告。1.2 选题目的与意义通过 “迷你QQ”的设计过程,深刻了解掌握面向对象程序设计语言Java的核心概念和特性;了解编程技术知识,学会处理异常状况,深入了解java数据库功能,熟练掌握图形界面的操作技术,掌握Java应用软件的开发环境和开发过程;灵活选择程序设计思想,在编写过程中进一步体会java与其它编程语言的不同之处,分析出java的优点和先进之处。通过撰写课程设计论文,锻炼科技论文写作能力。第二章迷你QQ的功能二、迷你QQ程序功能1、用户登录及登录验证:用户能够使用固定帐号(帐号程序内置即可,无需完成额外的注册功能)登录系统,系统能对预定的帐号、密码进行验证。2、聊天功能:能够在两台以上的机器上登录运行程序,能使用不同帐号完成在线的即时消息发送(聊天)。3、好友管理:能够显示好友列表,并能够添加、修改、删除好友。4、在线、离线状态显示:能够显示好友的在线状态或离线状态。5、聊天记录管理:能够以文件或数据库形式将聊天记录进行存储,并能打开、显示、删除所存储的聊天记录。第三章迷你QQ系统的实现三 运行界面截图四 核心的代码1 注册功能的部分代码如下: try Socket socket = new Socket(localhost, 8000); BufferedReader in = new BufferedReader(new InputStreamReader(socket. getInputStream(); PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(), true); out.println(login); out.println(PNTextField.getText().trim(); out.println(PW.getPassword(); String str= ; str=in.readLine().trim();/从服务器读取消息 in.close(); out.close(); socket.close(); /如果失败就告诉出错 if(str.equals(false) JOptionPane.showMessageDialog(this,对不起,出错了:-(,ok,JOptionPane.INFORMATION_MESSAGE); else/如果成功就打开主程序 int qno = Integer.parseInt(PNTextField.getText().trim(); this.dispose(); MainFrame mainframe=new MainFrame(qno,localhost, 8000); mainframe.setSize(600,250); Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize(); int screenWidth=screenSize.width; int screenHeight=screenSize.height; Dimension frameSize=mainframe.getSize(); int x=screenWidth-frameSize.width; int y=0; mainframe.setLocation(x,y); mainframe.setResizable(true); mainframe.setVisible(true); catch (IOException ex)2 登陆功能的部分代码如下: try Socket socket = new Socket(localhost, 8000); BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream(); PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(),true); out.println(new);/发送新建用户请求 out.println(this.petname.getText().trim(); out.println(this.password.getText().trim(); out.println(.getText().trim(); String sex=; if (male.isSelected() sex+=男; else sex+=女; out.println(sex); System.out.println(sex); out.println(this.email.getText().trim(); out.println(headpic.getSelectedIndex(); int no; no = Integer.parseInt(in.readLine().toString().trim(); System.out.println(no); String str1=; str1=in.readLine().trim();/从服务器读取信息 /如果出错 if(str1.equals(false) JOptionPane.showMessageDialog(this,对不起,出错了:-(,ok,JOptionPane.INFORMATION_MESSAGE); else/如果成功就告诉用户其号码 JOptionPane.showMessageDialog(this, your M num is + no, ok, JOptionPane.INFORMATION_MESSAGE); this.dispose(); /并打开主窗口 MainFrame mainframe=new MainFrame(no,localhost, 8000); mainframe.setResizable(true); mainframe.setVisible(true); mainframe.show(); out.close(); in.close(); socket.close(); catch (IOException ex) System.err.println(ex); 3 聊天消息的接受功能的部分代码如下 /发送消息响应事件 int r_no =Integer.parseInt(this.jTextField1.getText().trim(); int s_no = myQno; String s_petname = myPetname; String s_ip = myip; String r_petname = this.jTextField3.getText().toString().trim(); String s_str = this.jTextArea1.getText().trim(); /创建消息包 String r_IP = this.jTextField2.getText().trim(); Message s_mess = new Message(r_no, r_petname,s_petname,s_no, s_str, s_ip,r_IP); /发送消息包 Socket connectToServer = new Socket(, 5001); / Create an input stream to receive data from the server DataInputStream isFromServer = new DataInputStream( connectToServer.getInputStream(); / Create an output stream to send data to the server DataOutputStream osToServer = new DataOutputStream(connectToServer.getOutputStream(); ObjectOutputStream sout = new ObjectOutputStream(osToServer); try sout.writeObject(s_mess); sout.close(); catch(IOException e1) System.out.println(e1); catch (IOException ex) System.err.println(ex); /将发送消息添加到聊天记录中 String str_qno_time = myQno+( +myPetname+)+ +s_mess.time+n; this.jTextArea_chathistory.append(str_qno_time); this.jTextArea_chathistory.append(s_str+n); this.jTextArea1.setText(); 4 服务器端功能的部分代码如下 else if(str.equals(black) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); Connection c4=DriverManager.getConnection(jdbc:odbc:BasicInfo, , ); /以下连接好友表,返回用户的好友名单 String friend=select blackqno from blacklists where myqno=?; PreparedStatement prepare4=c4.prepareCall(friend); prepare4.clearParameters(); int icqno=Integer.parseInt(in.readLine(); / System.out.println(wqecdd); prepare4.setInt(1,icqno); ResultSet r4=prepare4.executeQuery(); Vector friendno=new Vector();/该矢量保存好友号码 while(r4.next() friendno.add(new Integer(r4.getInt(1); r4.close(); /read friend info /以下告诉客户其黑名单的呢称等个人信息 / out.println(friendno.size(); for(int i=0;ifriendno.size();i+) String friendinfo=select petname,qnum,ip,status,picindex,mail from personalinfo where qnum=?; PreparedStatement prepare5=c4.prepareCall(friendinfo); prepare5.clearParameters(); prepare5.setObject(1,friendno.get(i); ResultSet r5=prepare5.executeQuery(); boolean status; while(r5.next() / System.out.println(r5.getString(petname); out.println(r5.getString(petname); out.println(r5.getInt(qnum); out.println(r5.getString(ip); status=r5.getBoolean(status); if (status)out.println(1); elseout
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 五年级英语期末复习重点及易错题
- 小区历史文化保护与传承方案
- 资格考试简答题答题技巧指导
- 初中物理实验操作安全规范与指导
- 社会救助政策实施培训课件
- 城乡水务一体化项目技术方案
- 物流企业仓储管理流程
- 纤维材料生产线项目建筑工程方案
- 2026年保温杯市场调研报告.27共33
- 芳烃尾气循环利用项目风险评估报告
- 2024年度淮安市专业技术人员公需考试
- 《眼眶表皮样囊肿》课件
- 中国类风湿关节炎诊疗指南(2024版)解读
- 智能图书馆自助借还系统操作手册
- 超越科技股份有限公司招聘笔试题库2024
- JJF 2020-2022 加油站油气回收系统检测技术规范
- 抖音运输行业广告案例分析
- 施工日志空白表格
- 次氯酸钠服务方案
- 工程开工令及开工报告
- 双向情感障碍患者的护理查房
评论
0/150
提交评论