java课程设计实验报告.doc
《java课程设计实验报告.doc》由会员分享,可在线阅读,更多相关《java课程设计实验报告.doc(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java语言程序设计综合实验报告系 别: 计算机科学与技术系 学科专业: 信息管理与信息系统 课题题目: qq聊天系统 人员及分工:白 娟()张 丹() 张富利()指导老师: 卢照 2014年6月13日 目录一、课程设计目的3二、课程内容3三、实现代码(部分重要代码,不需要全粘)31.服务器:42.客户端:43.功能实现:74.图形化界面的转换:75.连接数据库代码:8四、运行结果(有必要的截图)111. 服务器启动:112. 客户端启动:123. 登入界面:124. 好友列表:125. 聊天界面:136. 数据库信息:13五、课程总结14六、小组分工14一、 课程设计目的运用本学期java课
2、程所学知识制作一个小型的比较完整的小系统,旨在使学生对所学知识有一个整体的运用,了解java功能的强大,对学习java产生兴趣。二、 课程内容基本页面:登入页面,注册页面,好友列表页面,聊天页面,查询好友界面基本功能:注册信息,添加好友,查找好友,聊天三、实现代码(部分重要代码,不需要全粘)1.服务器代码:package com.sram.server;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.ObjectInputStream
3、;import java.io.ObjectOutputStream;import java.io.OutputStream;import java.io.PrintStream;import .ServerSocket;import .Socket;import java.util.HashMap;import java.util.List;import java.util.Map;import com.sram.bean.User;import com.sram.dao.UserDao;public class Server public static Map socketMap = ne
4、w HashMap();public static void main(String args) try ServerSocket ss = new ServerSocket(20001);System.out.println(服务器已启动,准备接收数据);while(true)Socket soc = ss.accept();ServerSocketThread sst = new ServerSocketThread(soc);Thread thr = new Thread(sst);thr.start(); catch (IOException e) / TODO Auto-genera
5、ted catch blocke.printStackTrace();class ServerSocketThread implements Runnableprivate Socket soc;public ServerSocketThread(Socket soc)this.soc = soc;public void run() System.out.println(接受到数据);UserDao ud = new UserDao();try BufferedReader br = new BufferedReader(new InputStreamReader(soc.getInputSt
6、ream();String str = ;while(str = br.readLine()!= null)String strs = str.split(,);/1代表if(strs0.equals(1)String qq = strs1;String pass = strs2;User u = ud.findUser(qq, pass);OutputStream os = soc.getOutputStream();PrintStream ps = new PrintStream(os);if(u!=null)System.out.println(登陆成功);Server.socketMa
7、p.put(u.getQqNum(),soc);ps.println(1,yes,+u.getNickName();ps.flush();List li = ud.FriendList(u);li.add(u);ObjectOutputStream oos = new ObjectOutputStream(soc.getOutputStream();oos.writeObject(li);oos.flush();elseSystem.out.println(登陆失败);ps.println(1,no);if(strs0.equals(2)ObjectInputStream ois = new
8、ObjectInputStream(soc.getInputStream();try User u = (User) ois.readObject();String qqnum = ud.insertUser(u);OutputStream os = soc.getOutputStream();PrintStream ps = new PrintStream(os);ps.println(2,ok,+qqnum); catch (ClassNotFoundException e) / TODO Auto-generated catch blocke.printStackTrace();if(s
9、trs0.equals(3)String friendNum = strs1;String userNum = strs2;String message = strs3;System.out.println(好友号码:+friendNum+,用户号码:+userNum+,信息:+message);Socket friendSoc = (Socket) Server.socketMap.get(friendNum);PrintStream ps = new PrintStream(friendSoc.getOutputStream();ps.println(str);ps.flush();if(
10、strs0.equals(4)String qqnum = strs1;User nu = ud.findUserfromQQ(qqnum);OutputStream os = soc.getOutputStream();PrintStream ps = new PrintStream(os);if(nu!=null)ps.println(4,ok);ps.flush();ObjectOutputStream oos = new ObjectOutputStream(soc.getOutputStream();oos.writeObject(nu);oos.flush();elseps.pri
11、ntln(4,no);ps.flush();if(strs0.equals(5)String qqnum = strs1;ObjectInputStream ois = new ObjectInputStream(soc.getInputStream();User u = (User) ois.readObject();User nu = ud.findUserfromQQ(qqnum);ud.addFriend(u.getId(), nu.getId();OutputStream os = soc.getOutputStream();PrintStream ps = new PrintStr
12、eam(os);ps.println(5,ok,+u.getQqNum()+,+u.getPass();ps.flush(); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace(); catch (ClassNotFoundException e) / TODO Auto-generated catch blocke.printStackTrace();2.客户端:package com.sram.client;import java.io.BufferedReader;import java.io
13、.IOException;import java.io.InputStreamReader;import .Socket;import java.util.List;import com.sram.bean.User;import com.sram.util.MessageIO;import com.sram.view.ChatUI;import com.sram.view.FriendListUI;import com.sram.view.LoginUI;import com.sram.view.RegisterSuccessUI;import com.sram.view.SearchFri
14、endUI;import com.sram.view.UIList;public class Client public static Socket soc;public static void main(String args) LoginUI lu = new LoginUI();UIList.UIlist.put(login, lu);ClientThread ct = new ClientThread();new Thread(ct).start();class ClientThread implements Runnablepublic void run()try BufferedR
15、eader br = new BufferedReader(new InputStreamReader(Client.soc.getInputStream();String str = ;while(str = br.readLine()!=null)String strs = str.split(,);if(strs0.equals(1)if(strs1.equals(yes)List li = (List) MessageIO.getObject();FriendListUI fui = new FriendListUI(li);UIList.UIlist.put(friend, fui)
16、;UIList.UIlist.get(login).setVisible(false);if(strs0.equals(2)if(strs1.equals(ok)UIList.UIlist.get(register).setVisible(false);/UIList.UIlist.get(login).setVisible(true);new RegisterSuccessUI(strs2);if(strs0.equals(3)ChatUI cu = (ChatUI) UIList.UIlist.get(chatui);cu.jta1.setText(strs3);if(strs0.equa
17、ls(4)SearchFriendUI sfui = (SearchFriendUI) UIList.UIlist.get(search);if(strs1.equals(ok)User u = (User) MessageIO.getObject();sfui.jl2.setText(u.getNickName();elsesfui.jl2.setText(QQ号码错误);if(strs0.equals(5)if(strs1.equals(ok)UIList.UIlist.get(friend).setVisible(false);String qq = strs2;String pass
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 课程设计 实验 报告
限制150内