Java聊天室的设计与实现方案(WORD版完整可编辑,需更多资料请联系)摘要本次毕业设计主要实现了基于Java的聊天系统的功能。
此系统在模仿QQ软件的基础增加了通信的安全性。
在现在已有的聊天软件中,经常用户的帐号会被盗取,导致用户建立起来的与各个朋友的联系方式被盗取。
因此对所有通过网络来传输的数据都需要进行加密来保证其安全性。
通过分析聊天系统的功能以及性能等的需求,运用了 java技术,设计并实现了基于java的聊天系统,并在Eclipse上搭建了项目及运行。
该系统总体划分为两大功能模块:客户端功能模块和服务器端功能模块。
客户端又分为用户注册、已注册用户登录、用户的好友显示、用户之间的聊天、添加好友、查看用户好友信息六大服务功能模块。
实现了聊天系统所需要的各项功能。
此外,使用SQL Server20005数据库来实现数据存储,设计并编写java类来实现对SQL Server2005数据库中的数据的操作。
关键字 Java聊天系统; Eclipse;SQL Server2005数据库Design and implementation of Java chat roomAbstractThe main achievement of the graduate design features Java-based chat system. This system is the basis of imitation QQ software to increase the security of communications. In the chat software now has regular user's account will be stolen, causing the user to build up contacts with various friends was stolen. Therefore, all data transmitted over the network needs to be encrypted to ensure security.By analyzing the demand chat system functionality and performance, the use of java technology, design and implementation of java-based chat system, and built on the Eclipse project and run.The overall system is divided into two modules: the client and server-side functional modules function modules. Client is divided into user registration, registered user login, the user's friends show chat between users, add friends, view the user's friends information six service modules. Chat system implements the functions required. In addition, the use of SQL Server20005 database to store data, design and write java class to implement the data SQL Server2005 database operations.Keywords: Java chat system; Eclipse; SQL Server2005 database目录摘要 (I)ABSTRACT (II)目录 (III)1. 引言 (1)1.1 系统的背景介绍 (1)1.2目标系统的概述 (1)1.3系统的前景 (1)2. 系统的需求分析 (3)2.1聊天软件的功能简介 (3)2.1.1 聊天软件客户端功能 (3)2.1.2 服务器功能 (4)3. 系统的设计 (5)3.1系统的整体结构设计 (5)3.2系统的详细设计 (5)3.2.1 服务器模块设计 (5)3.2.2 客户端模块设计 (7)4. 系统的实现 (11)4.1使用技术的介绍 (11)4.2编程工具的选择 (13)4.3数据库系统的实现 (13)4.4数据库的连接设计 (14)5. 系统设计的独特思想 (16)5.1对腾讯QQ的基本功能的调查 (16)5.2本系统设计 (16)6 .系统功能举例 (18)7.系统测试 (22)结束语 (24)参考文献 (25)附录 (26)部分模块代码 (26)外文原文 (33)中文翻译 (41)1. 引言1.1系统的背景介绍近些年来,由于随着信息技术和网络的飞速发展,聊天软件成为了新的人与人交流的工具,于是各种聊天软件便随之诞生。
此系统在模仿QQ软件的基础增加了通信的安全性。
在现在已有的聊天软件中,经常用户的帐号会被盗取,导致用户建立起来的与各个朋友的联系方式被盗取。
因此对所有通过网络来传输的数据都需要进行加密来保证其安全性。
这是本软件相对于其他大部分软件的优势所在。
本系统采用Java语言作为开发语言,而Java语言又以其优秀的安全性和可移植性,越来越多的被人们所青睐以及使用。
基于局域网的即时通信工具,实际上是互联网即时通信工具的一个小规模版本,广域网上的即时通信工具,如今一般采用UDP或者 TCP协议体系来实现,开发技术已经比较成熟,比如较早的ICQ、MSN Messenger、YAHOO通等国外开发的产品,还有国产的有名的QQ、新浪UC、LAVA-LAVA等,这些工具统统都实现了广域网上的即时通信,尽管都是即时通信,实现了即时聊天,以及文件传输的主要功能,但是也各有各的特色,比如ICQ的巨大客户群,MSN的个性化表情,YAHOO通的易操作性等,而QQ 也具有一个相当方便的屏幕截图功能,另外就是,所有上述软件都实现了网络即时的视频,语音聊天功能。
这些软件,在使用方面各有特色,在实现方面也各有所长,但由于这些产品正在商业运营阶段,其实现方式属于商业机密,具体细节不可能得知,但是它在大的方面无非就是各种利用各种平台上的网络通信接口,建构基于下层TCP/IP,或者UDP/IP协议的软件产品。
在局域网内,这些功能的实现跟广域网相比更加简单,因为局域网的网络结构本身比广域网要简单,但是可以借此理解网络协议,以及网络通信工具的实现原理,所以仍然极具研究价值。
1.2 目标系统的概述我完成的题目——java聊天室的设计与实现该题目是我在了解当前聊天软件的现状,并通过对Java的学习后下决心完成的。
通过学习Java使我了解它的优势,并通过与当前网络聊天软件的缺点对比,我发现Java语言能很好编写此聊天系统。
“Java支持统一的数据库接口标准JDBC(Java Database Connectivity),Java可以通过JDBC驱动程序直接访问数据库。
”等优秀的特性。
我通过查阅网络上一些优秀聊天系统的设计思想和代码,并从中吸取了许多别人设计的系统的优点。
我想有前人优秀的设计基础,以及我在大学中所学的专业知识,我对完成此次设计充满信心。
1.3 系统的前景本聊天系统未来将作为未接入internet局域网的聊天软件,用户之间可以进行方便的信息交流和文件传输。
网络技术和数据库管理技术的不断发展,C/S体系结构在软件的开发中越来越流行。
因为这种结构的局域网即时通讯软件可以充分发挥网络的作用和数据库系统的优势,以满足企业各种应用的需求。
局域网内部文件传输及聊天工具平台,是在企业局域网内部使用的,员工之间用来交流和文件共享的一个工具,一般都会具有文本聊天、文件传输等功能,随着近来信息技术的发展,视频会议、远程协助、系统集成、分级管理、通知公告、群组讨论、企业文件柜等适合与企业内部使用,操作方便的功能点逐渐融入到局域网语音聊天工具之中,以其消耗少、使用简答、沟通安全等特点成为现今企事业单位内部沟通应用最广泛的软件之一。
局域网聊天软件利用的是互联网线路,通过文字、语音、视频、文件的信息交流与互动,有效节省了沟通双方的时间与经济成本;局域网聊天软件不但成为人们的沟通工具,还成为了人们利用其进行电子商务、工作、学习等交流的平台,将日常办公的传统沟通方式替换,有效的减少办公费用的同时,较之更有效率百分之一。
2. 系统的需求分析2.1 聊天软件的功能简介本软件系统主要有两大模块,分为服务器端功能部分和客户端功能部分。
在服务器端主要是用来处理客户端传来的各种消息的,其消息包括用户登录连接请求,用户请求发送给哪位用户的消息区分并将此消息再传递给接收的用户,用户的退出等等。
客户端主要是用来实现各种需求的,如注册、登录、登录之后显示登陆成功的主面板,生成需要聊天的聊天窗口,添加好友,查看好友信息等等。
其中客户端用例图如下:图2.1 客户端用例图2.1.1 聊天软件客户端功能(1) 用户注册新用户录入(用户登录名,密码与确认密码),如果用户登录名与系统中已注册的用户登录名不相同,命名符合指定的规则,且密码与确认密码一致,则系统报告“注册成功”,否则系统将提示你“登录名已存在”,或者提示“不符合命名规则”,等相关信息,这时便需要重新注册。
为了及时告诉注册用户其注册名是否符合规则,在此使用了响应时间的机制,在用户填写完毕,将光标聚焦到其他的输入框就开始判断,符合规则,不给予提示,否则会报告错误。
(2) 用户登录注册用户输入登录名与密码,如果与系统中已注册的用户登录名及密码匹配,则用户登录成功,否则提示错误。
(3) 主面板用户登录成功后,系统会自动提取该登录用户的好友,按照好友所在的分组依次显示在各个分组之下,这些信息都显示在主面板之上。
此外在主面板上还有添加好友功能,显示选中的好友的相关信息。
(4) 聊天用户通过点击好友列表需要聊天的好友,会弹出与其聊天好友的面板,在此面板可以向好友发送信息和显示来自好友的信息。
(5) 添加好友用户通过点击此按钮,会弹出添加好友的对话框,在此对话框中添加需要添加的的好友的用户名,再添加完毕之后,同样是通过事先响应机制来查看是否此好友存在,如果不存在,会给与提示。
如果存在,分组下拉列表会显示当前用户所拥有的分组,然后用户就可以选择需要添加的好友的所在的分组。
(6) 查看好友信息在好友列表中选中想查看的好友,然后点击“查看好友信息”按钮,会弹出一个一个对话框,显示可以查看的此好友的信息。