教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 说明书 >

聊天室的实现与设计(6)

来源:网络收集 时间:2025-09-14
导读: 兰州交通大学博文学院毕业设计(论文) 件的监听器实现方法将会调出一个GUI界面,在上面用户可以重新对用户注册资料进行修改,此界面的监听器将会调用调用服务层的UserServiceImp类中的更新用户资料方法,此方法再

兰州交通大学博文学院毕业设计(论文)

件的监听器实现方法将会调出一个GUI界面,在上面用户可以重新对用户注册资料进行修改,此界面的监听器将会调用调用服务层的UserServiceImp类中的更新用户资料方法,此方法再继续调用Dao层的UserDAOOper接口类的实现类中更新用户资料方法,此方法使用Hibernate与底层数据库进行交互,从而将更新后的数据保存进数据库中。此功能应当仅能更新修改当前登陆用户的个人资料。 4.4.9 个人聊天记录的删除功能设计

用户点击客户端界面的删除聊天记录菜单项时,此事件的监听器实现方法调用服务层的UserServiceIm类中的删除聊天记录方法,此方法再继续调用Dao层的UserDAOOper接口类的实现类中删除聊天记录方法,此方法使用Hibernate与底层数据库进行交互,从而删除数据库中的数据。用户使用此功能时,删除的数据应该只是本人的聊天记录。

21

兰州交通大学博文学院毕业设计(论文)

5 系统实现

编程实现时按照系统的详细设计要求,在选定的开发平台下,使用指定的开发工具和开发语言,遵循特定的程序设计方法所进行的代码编写工作。代码实现也称为编程实现。代码实现将依据前面的设计方案,并对设计文档中确定的每一个对象、方法、过程以及界面等进行编程。

5.1 登陆界面的实现

图 6-1 登陆界面

在登陆时,用户需要输入用户名和密码,服务器IP和端口号。系统需要对用户名和密码进行比对,验证数据库中是否有此记录。

//验证

if(UserServiceImp.isFind(userId, pwd))

{

System.out.println(\

int sPort=Integer.parseInt(serverPort); String sIp=serverIpText.getText(); try {

int option=JOptionPane.showConfirmDialog(getPanel(1),

\

22

兰州交通大学博文学院毕业设计(论文)

boolean online=true;

if(option!=JOptionPane.OK_OPTION) { }

UserServiceImp.addOnlineUser(userId, pwd, serverIp,

online=false; selectPanel(1);

sPort, online);

ChatClient

ChatRoomClient

=

new

ChatClient(userId,serverIp,serverPort);

frame.dispose();

5.2 注册界面的实现

图 6-2 注册界面

在用户注册时,要对用户书写的资料进行验证,这样可以使用户填写的资料尽可能

23

兰州交通大学博文学院毕业设计(论文)

是正确的,以减少恶意注册,减轻数据库的数据冗余。主要代码如下:

if(userNameTextNew.getText().length()<4||userNameTextNew.getText().length()>20)

{

JOptionPane.showMessageDialog(getPanel(2), \用户名不合法!\

userNameTextNew.setText(\

}

else if(pwd.length()<=3) {

userNameTextNew.grabFocus();

JOptionPane.showMessageDialog(getPanel(2), \密码不合法,密码长度不应该低于3位);

pwdTextNew1.setText(\pwdTextNew1.grabFocus();

}else if(pwd1!=pwd2) {

JOptionPane.showMessageDialog(getPanel(2), \密码不一致); pwdTextNew2.setText(\pwdTextNew2.grabFocus();

else if(!emailTextNew.getText().trim().contains(\

JOptionPane.showMessageDialog(getPanel(2), \邮箱地址不合

法);

} else {

boolean

gender;

emailTextNew.setText(\emailTextNew.grabFocus();

if(rbBtnNew1.isSelected())

gender=true;

24

兰州交通大学博文学院毕业设计(论文)

else gender=false;

int id=UserServiceImp.add(username, pwd, realname, gender,

birthday, email, city, street, province, sign);

int option=JOptionPane.showConfirmDialog(getPanel(1), \您

的帐号是:/t\是否立即登录?\提示\

5.3 服务器端模块功能实现

图 6-3 服务器端界面

作为聊天室系统的服务器,包含了客户端接入以及处理其发出请求的一系列方法,是整个聊天室的核心,客户发送的信息就是通过服务器发送到其他用户的。 5.3.1 显示在线用户功能实现

对于用户的获取,增加,删除等操作,系统主要定义了一个用户信息链表,其主要代码如下:

public class UserInfoList {

25

private Node root = null;// 用户信息链表的根

private Node pointer = null;// 用于操作链表的游标

private int count = 0;// 链表元素个数记数器(用户数记数)

…… 此处隐藏:523字,全部文档内容请下载后查看。喜欢就下载吧 ……
聊天室的实现与设计(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/449201.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)