基于jsp的电子聊天室的设计与实现.doc
《基于jsp的电子聊天室的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于jsp的电子聊天室的设计与实现.doc(37页珍藏版)》请在沃文网上搜索。
1、 摘 要随着即时通信技术的发展,在线聊天室为众多的网民朋友提供了一个交友与娱乐的平台。在这个平台上,人们可以通过文字与符号进行实时的交谈、聊天,是网民之间相互沟通、交流情感的最佳方式之一。该课题旨在设计一个以服务器为中介,实现多个终端用户同时在线聊天的聊天室。系统基于C/S模式,利用Socket套接字实现两台主机之间的彼此通信,并使用多线程技术实现了一个聊天服务器对应多个终端用户,让用户可以在局域网范围内在线聊天。该课题还对统一建模语言UML在系统的分析与设计中的应用进行了详细的阐述,对于使用面向对象的思想开发同类系统具有很大的指导意义。同时系统开发过程中融合了诸如JSP、JavaScript
2、、Java Servlet、Hibernate等多种网络开发技术,对于技术的使用有一定的借鉴价值。关键词:客户端/服务器模式;在线聊天室;UML建模;Java网络编程The Design and Implementation of Electronic Chatroom Based on JSPAbstractWith the development of instant communication technology, online chatrooms provide a platform for dating and entertainment for many net friends.
3、 In this platform, people can instantly conversate and chat through words and symbols, which is one of the best ways of affective communication.This paper designs a chatroom, which is a server for intermediary, implementing multiple users chatting online. The system, which is based on C/S model, rea
4、lizes communication between two computers by using socket, and achieves a chat server corresponding multiple terminal users through using multithreading technology, so that users can chat in LAN.The paper describes the application of UML in systemic design and analysis in detail, which is of great s
5、ignificance for developing the similar system by using object-oriented ideas. And various of technologies of network development are integrated in the system development process, such as JSP, JavaScript, Java Servlet, Hibernate etc, which are of certain reference value for the use of technology.Key
6、words: Client/Server Model;Online Chatroom;UML Modeling;Java Network Programming目 录第一章 绪论11.1系统研究的背景、范围和目的11.1.1系统研究的背景和范围11.1.2系统研究的目的11.2 系统的理论依据、实验基础和研究方法11.2.1 JSP技术简介11.2.2 UML简介21.2.3 Java网络编程简介21.2.4 系统的实验基础和研究方法31.3 系统结果及其地位、作用和意义41.3.1 系统结果41.3.2 系统研究的地位、作用和意义4第二章 电子聊天室系统的需求描述52.1聊天室客户端的用例描
7、述52.2 聊天室服务器端的用例描述7第三章 电子聊天室系统的分析与设计113.1 聊天室客户端的分析与设计113.1.1 获取客户端对象113.1.2 客户端对象的动态关系113.1.3 客户端界面与类的设计153.2 聊天室服务器端的分析与设计163.2.1 获取服务器端的对象163.2.2 服务器端对象的动态关系173.2.3 服务器端界面与类的设计193.3 客户端与服务器端通信类的设计203.4 数据库的分析与设计21第四章 电子聊天室系统的编程和实现234.1 聊天系统目录结构简介234.2 客户端主要代码244.3 服务器端主要代码264.4 调试运行27结 论32参考文献33谢
8、 辞34第一章 绪论1.1系统研究的背景、范围和目的1.1.1系统研究的背景和范围从世界上第一台计算机诞生至今只有半个多世纪,然而正因为它的方便、快捷、实用,已被应用到各个领域。随着网络的出现,信息资源的实时共享成为现实,更重要的是它提供了一种极为直接的交互方式,当然这种交互不单是指数据、信息之间的传递,也包括人与人之间的互相交流,各种聊天软件和在线聊天室正是承载这类交互的媒介。随着网络的发展,人们通过网络可以更方便快捷地进行信息交流和学习。聊天系统为大家提供一个很好的交流平台,在这个平台上,人们可以通过文字与符号进行实时的交谈、聊天,在聊天室里网民可选择自已的聊天对象,与其进行对话交流,是网
9、民之间相互沟通、交流情感的最佳方式之一。1.1.2系统研究的目的基于浏览器的在线聊天室是即时通信的典型代表,它可以方便地让不同地域的用户同时在线聊天。在现有聊天室的基础之上,本课题开发了一个简单实用的在线聊天室。现有聊天室的实现技术很多都已过时,导致系统的可扩展性和可维护性差。基于以上原因,本课题着力于进行技术上的改进,开发一个基于JSP技术的聊天室系统,有效地解决了系统界面友好性差、扩展维护性差等问题。系统借助于强大的可视化建模语言UML(Unified Modeling Language)去统筹整个开发流程,保证系统在后期的扩展和维护中更加快捷有效。1.2 系统的理论依据、实验基础和研究方
10、法1.2.1 JSP技术简介JSP(Java Server Pages)是由Sun Microsystem公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术是在传统的HTML文件中插入Java程序段和JSP标记,从而形成JSP文件1。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。1.2.2 UML简介UML(Unified Modeling Language)是一种构建软件系统和文档的通用可视化建模语言,UML由3种基本
11、构造块组成,它们分别是:事物(Entity)、关系(Relationship)和图(Diagram),简要介绍如下:(1)事物(Entity)UML中的事物分为3种:l 结构事物。包括类、接口、协作、用例、主动类、构件和节点。l 行为事物。包括交互和状态机。l 分组事物和注释事物。包括包和注解。(2)关系(Relationship)UML中的关系分为4种:依赖(Dependency)关系、关联(Association)关系、泛化(Generalization)和实现(Realization)关系。(3)图(Diagram)UML中的图有8种:类图、用例图、序列图、协作图、状态图、活动图、组件图
12、和部署图2。1.2.3 Java网络编程简介计算机网络就是将分散的多台计算机、终端和外部设备用通信线路互联起来,彼此之间实现互相通信,并且计算机的硬件、软件和数据资源大家都可以共同使用,实现资源共享。计算机网络最重要的3个功能是数据通信、资源共享和分布处理。为了满足上述的功能需求,计算机网络产生了两种重要应用模式:客户端/服务器(Client/Server)模式和浏览器/服务器(Browser/Server)模式2。“客户端/服务器”应用系统采用“请求/响应”的应答模式,当用户需要访问服务器时就由客户端发出“请求”,服务器接受“请求”并“响应”,然后执行相应的服务,把执行结果送回给客户端,由它
13、进一步处理后再提交给用户。客户端/服务器结构被设计成两层模式,客户端集中了显示逻辑和事务处理逻辑部分,而数据处理逻辑和数据库放在服务器端。在这种模式下,客户端功能较强而比较庞大,相反服务器端的任务相对较轻。用Java开发网络软件非常方便和强大,Java的这种力量来源于它独有的一套强大的用于网络的API,这些API是一系列的类和接口,很多位于和中。Network API是典型的用于基于TCP/IP网络Java程序与其他程序通信,Network API依靠Socket进行通信。Socket可以看成在两个程序进行通信连接中的一个端点,一个程序将一段信息写入Socket中,该Socket将这段信息发送
14、给另外一个Socket中,使这段信息能传送到其他程序中。如图1.1所示。AB网络接口卡网络管理软件TCP/IP网络套接字套接字图1.1 Socket通信原理这部分的工作包括了相关联的3个类:InetAddress、Socket和ServerSocket。InetAddress对象描绘了32位或128位IP地址,Socket对象代表了客户程序流套接字,ServerSocket代表了服务程序流套接字,所有这3个类均位于包中。1.2.4 系统的实验基础和研究方法由于本系统的实验目的是为了从技术上对现有的电子聊天系统进行改进,所以本系统在开发过程中立足于技术的使用。除了使用基本的JSP技术之外,在前台
15、的页面展示中,使用JavaScript技术进行信息校验,后台服务则由Java Servlet结合Java业务逻辑类实现。数据库的操纵则使用Hibernate技术。本系统是一款应用在网络上的聊天系统,所以如何实现多台终端和服务器的通信是开发本系统的核心。系统将基于C/S模式,利用Socket套接字实现两台主机之间的通信,并使用多线程技术,解决一个服务器对应多个用户终端的问题。为了保证系统后期的可维护和可扩展性,系统的设计过程将遵循面向对象的思想,借助于可视化建模语言UML进行分析与设计。1.3 系统结果及其地位、作用和意义1.3.1 系统结果本系统在开发完成后,在局域网范围内,能够实现多个用户同
16、时在线聊天。而且此聊天室与传统的聊天室相比,界面更加友好,动态交互性更强。由于使用Java技术和面向对象的思想进行设计和开发,系统在后期的扩展和维护过程中,更加易于操作。在功能方面能够实现多人在线聊天,私聊以及显示当前在线用户,发布系统公告,用户注册登录等,系统具有一定的实用价值和推广价值。1.3.2 系统研究的地位、作用和意义本系统实现了多个用户同时在线聊天,在开发技术和设计思想方面更加的规范,用户界面和操作更加的合理和人性化。本系统的特点如下:(1)在局域网范围内,能够实现多人在线聊天,私聊等。(2)在聊天时,可以选择聊天的对象,表情。(3)管理员可以对服务器信息和用户信息进行管理及发布系
17、统公告。(4)系统使用了多项技术:JSP,JavaScript,Socket,多线程,Hibernate等。(5)系统开发过程使用的是面向对象的设计过程,运用可视化建模语言UML进行系统的分析与设计工作。完成后,系统在功能和技术方面将会具有一定的代表性,为后期开发同类系统提供借鉴。第二章 电子聊天室系统的需求描述2.1聊天室客户端的用例描述电子聊天室服务客户端的功能是发送聊天信息和接收消息,以及在此过程中需要的连接到服务器的功能,故描述为4个部分。u 能连接到一个远端的聊天服务器。u 能向远端的聊天服务器发送聊天信息。u 能从远端服务器接收消息。u 能断开和当前聊天服务器的连接。从以上的功能描
18、述,可以得到四个用例。u 建立连接。u 发送聊天信息。u 接收消息。u 断开连接。其用例图描述,如图2.1所示。图2.1 聊天客户端的用例图具体每个用例的描述如下:(1)建立连接这个用例描述了用户使用TCP/IP协议跟远端的聊天服务器建立连接的过程。具体描述如下:用例名称:建立连接。用例说明:通过网络连接到聊天服务器。通信协议:使用TCP/IP协议。先决条件:(1)有正常的网络连接。(2)有可用的聊天服务器。(3)TCP/IP的相关设置正确。预期结果:连接到聊天服务器,并且可以发送聊天信息,接收服务器的消息。基本过程:(1)用户进行注册或登录,同时发出建立或连接聊天服务器的请求。(2)连接到指
19、定的聊天服务器。(3)进入在线聊天室。替代过程:(2)连接失败,将失败信息返回给用户。(4)提示用户重试。(2)发送聊天信息这个用例描述了聊友编辑聊天信息并发送到远程聊天服务器的过程。具体描述如下:用例名称:发送聊天信息。用例说明:聊友获取远端的聊天服务器提供的服务,将本地编辑的聊天信息发送到聊天服务器。通信协议:使用TCP/IP协议。先决条件:已经连接到聊天服务器。预期结果:本地编辑的聊天信息成功发送到聊天服务器。基本过程:(1)聊友选择聊天的对象、表情、方式,填入聊天内容。(2)聊友向远端的服务器请求发送聊天信息。替代过程:(2)发送聊天信息失败,提示用户失败信息。(3)接收消息这个用例描
20、述了客户端从远程服务器端接收消息的过程,本过程和发送聊天信息过程相互辅助完成客户端的整个功能。具体描述如下:用例名称:接收消息。用例说明:客户端从远程聊天服务器端接收消息,即时显示聊天信息、在线用户和系统公告信息。通信协议:使用TCP/IP协议。先决条件:(1)已经连接到远程聊天服务器端。(2)服务器端有新的消息更新。预期结果:聊天室客户端即时从远程服务器端接收消息,并更新客户端页面。基本过程:(1)客户端每隔3秒钟访问服务器。(2)服务器端不断收集聊天信息,并发送消息。(3)客户端显示聊天信息、在线用户和系统公告信息。(4) 断开连接本用例描述了用户断开与服务器连接的整个过程。具体描述如下:
21、用例名称:断开连接用例说明:离开当前已经连接的聊天服务器。通信协议:使用TCP/IP协议。先决条件:(1)有正常的网络连接。(2)已经和远端的聊天服务器建立连接。(3)TCP/IP的相关设置正确。预期结果:停止从聊天服务器接收消息,断开和当前服务器的连接。基本过程:(1)用户点击退出链接。(2)将断开连接请求发送到聊天服务器。(3)停止从服务器获取消息。(4)断开和聊天服务器的连接。替代过程:(4)断开连接失败。(5)提示用户失败信息。2.2 聊天室服务器端的用例描述聊天室服务器端的功能即是被动地满足远端用户的需求,它包括:u 获取远端用户的连接本地服务器的请求,并建立连接。u 能响应远端用户
22、的聊天请求,接收用户的聊天信息。u 能响应远端用户的即时获取消息的请求,将收集的用户信息发送到所有客户端。u 能获取远端用户断开连接的请求,停止服务器和该用户的连接。从功能描述可以得到四个用例如下:u 允许建立连接。u 允许接收聊天信息。u 允许发送用户信息。u 允许断开连接。用例图描述,如图2.2所示。图2.2 聊天服务器端的用例图服务器各个用例的描述如下。(1)允许建立连接“允许建立连接”用例描述了聊天服务器响应用户请求并和该用户建立连接的整个过程。本用例显然是和客户端的“建立连接”用例相对应,并且协同工作。具体描述如下:用例名称:允许建立连接。用例说明:允许用户连接到当前的聊天服务器。通
23、信协议:使用TCP/IP协议。先决条件:(1)有正常的网络连接。(2)聊天服务器已经开启服务。(3)TCP/IP的相关设置正确。(4)远端用户提交连接请求。预期结果:允许用户连接到当前的聊天服务器,并且为用户提供服务。基本过程:(1)等待远端用户发出建立连接的请求。(2)获取远端用户发送的连接请求。(3)允许该用户连接到当前的聊天服务器。替代过程(一):(2)若用户信息不符合设置,发送拒绝信息到远端用户。(3)拒绝连接。替代过程(二):(3)若建立连接失败,显示失败信息。(2)允许接收聊天信息这个用例描述了聊天服务器接收远端聊友发送的聊天信息的过程。本用例显然是和客户端的“发送聊天信息”用例相
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 jsp 电子 聊天室 设计 实现
