java课程设计实验报告Word下载.docx

上传人:b****5 文档编号:20427910 上传时间:2023-01-22 格式:DOCX 页数:20 大小:74.15KB
下载 相关 举报
java课程设计实验报告Word下载.docx_第1页
第1页 / 共20页
java课程设计实验报告Word下载.docx_第2页
第2页 / 共20页
java课程设计实验报告Word下载.docx_第3页
第3页 / 共20页
java课程设计实验报告Word下载.docx_第4页
第4页 / 共20页
java课程设计实验报告Word下载.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

java课程设计实验报告Word下载.docx

《java课程设计实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《java课程设计实验报告Word下载.docx(20页珍藏版)》请在冰豆网上搜索。

java课程设计实验报告Word下载.docx

1.服务器启动:

11

2.客户端启动:

12

3.登入界面:

4.好友列表:

5.聊天界面:

13

6.数据库信息:

五、课程总结14

六、小组分工14

1、课程设计目的

运用本学期java课程所学知识制作一个小型的比较完整的小系统,旨在使学生对所学知识有一个整体的运用,了解java功能的强大,对学习java产生兴趣。

2、课程内容

基本页面:

登入页面,注册页面,好友列表页面,聊天页面,查询好友界面

基本功能:

注册信息,添加好友,查找好友,聊天

三、实现代码(部分重要代码,不需要全粘)

1.服务器代码:

packagecom.sram.server;

importjava.io.BufferedReader;

importjava.io.IOException;

importjava.io.InputStreamReader;

importjava.io.ObjectInputStream;

importjava.io.ObjectOutputStream;

importjava.io.OutputStream;

importjava.io.PrintStream;

import.ServerSocket;

import.Socket;

importjava.util.HashMap;

importjava.util.List;

importjava.util.Map;

importcom.sram.bean.User;

importcom.sram.dao.UserDao;

publicclassServer{

publicstaticMapsocketMap=newHashMap();

publicstaticvoidmain(String[]args){

try{

ServerSocketss=newServerSocket(20001);

System.out.println("

服务器已启动,准备接收数据"

);

while(true){

Socketsoc=ss.accept();

ServerSocketThreadsst=newServerSocketThread(soc);

Threadthr=newThread(sst);

thr.start();

}

}catch(IOExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

}

classServerSocketThreadimplementsRunnable{

privateSocketsoc;

publicServerSocketThread(Socketsoc){

this.soc=soc;

publicvoidrun(){

System.out.println("

接受到数据"

UserDaoud=newUserDao();

BufferedReaderbr=newBufferedReader(newInputStreamReader(soc.getInputStream()));

Stringstr="

"

;

while((str=br.readLine())!

=null){

String[]strs=str.split("

"

//1代表

if(strs[0].equals("

1"

)){

Stringqq=strs[1];

Stringpass=strs[2];

Useru=ud.findUser(qq,pass);

OutputStreamos=soc.getOutputStream();

PrintStreamps=newPrintStream(os);

if(u!

=null){

System.out.println("

登陆成功"

Server.socketMap.put(u.getQqNum(),soc);

ps.println("

1,yes,"

+u.getNickName());

ps.flush();

List<

User>

li=ud.FriendList(u);

li.add(u);

ObjectOutputStreamoos=newObjectOutputStream(soc.getOutputStream());

oos.writeObject(li);

oos.flush();

}else{

登陆失败"

1,no"

}

}

2"

ObjectInputStreamois=newObjectInputStream(soc.getInputStream());

try{

Useru=(User)ois.readObject();

Stringqqnum=ud.insertUser(u);

OutputStreamos=soc.getOutputStream();

PrintStreamps=newPrintStream(os);

2,ok,"

+qqnum);

}catch(ClassNotFoundExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

3"

StringfriendNum=strs[1];

StringuserNum=strs[2];

Stringmessage=strs[3];

System.out.println("

好友号码:

+friendNum+"

用户号码:

+userNum+"

信息:

+message);

SocketfriendSoc=(Socket)Server.socketMap.get(friendNum);

PrintStreamps=newPrintStream(friendSoc.getOutputStream());

ps.println(str);

ps.flush();

4"

Stringqqnum=strs[1];

Usernu=ud.findUserfromQQ(qqnum);

if(nu!

4,ok"

oos.writeObject(nu);

4,no"

5"

Useru=(User)ois.readObject();

ud.addFriend(u.getId(),nu.getId());

ps.println("

5,ok,"

+u.getQqNum()+"

+u.getPass());

}catch(ClassNotFoundExceptione){

packagecom.sram.client;

importcom.sram.util.MessageIO;

importcom.sram.view.ChatUI;

importcom.sram.view.FriendListUI;

importcom.sram.view.LoginUI;

importcom.sram.view.RegisterSuccessUI;

importcom.sram.view.SearchFriendUI;

importcom.sram.view.UIList;

publicclassClient{

publicstaticSocketsoc;

LoginUIlu=newLoginUI();

UIList.UIlist.put("

login"

lu);

ClientThreadct=newClientThread();

newThread(ct).start();

classClientThreadimplementsRunnable{

publicvoidrun(){

BufferedReaderbr=newBufferedReader(newInputStreamReader(Client.soc.getInputStream()));

if(strs[1].equals("

yes"

li=(List<

)MessageIO.getObject();

FriendListUIfui=newFriendListUI(li);

UIList.UIlist.put("

friend"

fui);

UIList.UIlist.get("

).setVisible(false);

ok"

register"

//UIList.UIlist.get("

).setVisible(true);

newRegisterSuccessUI(strs[2]);

ChatUIcu=(ChatUI)UIList.UIlist.get("

chatui"

cu.jta1.setText(strs[3]);

SearchFriendUIsfui=(SearchFriendUI)UIList.UIlist.get("

search"

Useru=(User)MessageIO.getObject();

sfui.jl2.setText(u.getNickName());

sfui.jl2.setText("

QQ号码错误"

Stringqq=strs[2];

Stringpass=strs[3];

MessageIO.printlnString("

1,"

+qq+"

+pass);

3.数据库的连接以及实现功能

packagecom.sram.util;

publicclassMessageIO{

privatestaticSocketsoc;

publicMessageIO(Socketsoc){

publicstaticvoidprintlnString(Stringmessege){

PrintStreamps=newPrintStream(soc.getOutputStream());

ps.println(messege);

ps.flush();

publicstaticvoidprintObject(Objectobj){

OutputStreamos;

os=soc.getOutputStream();

ObjectOutputStreamoos=newObjectOutputStream(os);

oos.writeObject(obj);

oos.flush();

}

packagecom.sram.dao;

importjava.sql.Connection;

importjava.sql.PreparedStatement;

importjava.sql.ResultSet;

importjava.sql.SQLException;

importjava.sql.Statement;

importjava.util.ArrayList;

importcom.sram.util.GetConnection;

publicclassUserDao{

publicUserfindUser(Stringname,Stringpass){

Connectionconn=null;

Statementstmt=null;

ResultSetrs=null;

conn=GetConnection.getConnection();

stmt=conn.createStatement();

rs=stmt.executeQuery("

select*fromt_userwhereqqnum='

+name+"

'

andpassword='

+pass+"

rs.next();

Useru=newUser();

u.setId(rs.getInt("

id"

));

u.setNickName(rs.getString("

nickname"

u.setPass(rs.getString("

password"

u.setQqNum(rs.getString("

qqnum"

returnu;

}catch(SQLExceptione){

}finally{

try{

if(rs!

rs.close();

if(stmt!

stmt.close();

if(conn!

conn.close();

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

returnnull;

publicStringinsertUser(Useru){

PreparedStatementptmt=null;

Stringqqnum=null;

ptmt=conn.prepareStatement("

insertintot_user(qqnum,nickname,password)values(?

?

)"

inti=findLastId();

qqnum=(20000+i+1)+"

ptmt.setString(1,qqnum);

ptmt.setString(2,u.getNickName());

ptmt.setString(3,u.getPass());

booleanb=ptmt.execute();

System.out.println(b);

returnqqnum;

try{

if(rs!

rs.close();

if(ptmt!

ptmt.close();

if(conn!

conn.close();

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

returnqqnum;

publicintfindLastId(){

selectidfromt_userorderby

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 艺术创意

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1