基于JSP即时聊天系统的研究设计与实现.docx
《基于JSP即时聊天系统的研究设计与实现.docx》由会员分享,可在线阅读,更多相关《基于JSP即时聊天系统的研究设计与实现.docx(63页珍藏版)》请在冰点文库上搜索。
基于JSP即时聊天系统的研究设计与实现
毕业设计(论文)
题目基于JSP即时聊天系统
的设计与实现
学生姓名吴覃秀学号2003112115
专业计算机科学与技术班级20031121
指导教师杨旺民
评阅教师
完成日期2007年5月26日
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
本人完全意识到本声明的法律后果由本人承担。
(宋体小4号)
作者签名:
2007年5月26日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保障、使用学位论文的规定,同意学校保留并向有关学位论文管理部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权省级优秀学士学位论文评选机构将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
本学位论文属于
1、保密□,在_________年解密后适用本授权书。
2、不保密□。
(请在以上相应方框内打“√”)
作者签名:
2007年5月26日
导师签名:
2007年5月26日
摘要………………………………………………………………………………1
Abstract……………………………………………………………………………1
前言………………………………………………………………………………2
1聊天系统需求分析及技术支持………………………………………………3
1.1项目开发背景……………………………………………………………3
1.1.1课题来源……………………………………………………………3
1.1.2研究目的和意义……………………………………………………3
1.2聊天系统概述……………………………………………………………3
1.2.1聊天系统功能需求概述………………………………………………3
1.2.2聊天系统现状研究……………………………………………………4
1.2.3聊天系统设计路线和研究方案………………………………………4
1.2.4聊天系统发展方向……………………………………………………5
1.3聊天系统开发技术介绍……………………………………………………5
1.3.1JSP技术介绍…………………………………………………………5
1.3.2JavaBean技术简介……………………………………………………8
1.3.3JDBC及数据库管理的连接……………………………………………8
1.3.4B/S模式与C/S模式…………………………………………………10
2聊天系统总体设计……………………………………………………………11
2.1开发和设计的总体构思与规划………………………………………………11
2.1.1聊天系统的基本原理…………………………………………………11
2.1.2拟定聊天系统应达到的技术指标……………………………………11
2.2聊天系统模块总体设计……………………………………………………12
2.2.1模块划分及用户角色…………………………………………………12
2.2.2模块任务概述…………………………………………………………13
2.3聊天系统程序设计流程……………………………………………………13
2.3.1整体设计过程………………………………………………………13
2.3.2总体设计框架图……………………………………………………14
2.4聊天系统数据结构设计……………………………………………………16
2.4.1chatuser表的设计……………………………………………………16
2.4.2roominfo表的设计……………………………………………………16
2.4.3chatmusic、chatsport、chatcomputer、chatchat表的设计…………16
3聊天系统详细设计……………………………………………………………17
3.1聊天系统详细功能描述……………………………………………………17
3.2聊天系统程序设计流程图……………………………………………………17
3.2.1系统功能详细设计……………………………………………………17
3.2.2用户登录程序设计流程图……………………………………………17
3.2.3管理员登录程序设计流程图…………………………………………17
3.3模块详细设计………………………………………………………………20
3.3.1普通用户登录模块详细设计…………………………………………20
3.3.2管理员登录模块详细设计……………………………………………21
3.3.3聊天模块详细设计……………………………………………………21
3.3.4管理模块详细设计……………………………………………………22
3.3.5退出模块详细设计……………………………………………………23
3.4聊天系统数据库详细设计…………………………………………………24
3.4.1数据库文件的设计…………………………………………………24
3.4.2建立ODBC数据源……………………………………………………25
3.4.3JDBC-ODBC连接………………………………………………………28
3.5聊天系统运行环境的安装与配置……………………………………………29
3.5.1JDK的安装和配置……………………………………………………29
3.5.2Tomcat的安装和配置…………………………………………………33
4聊天系统具体实现及效果……………………………………………………35
4.1系统首页实现及效果………………………………………………………35
4.2注册模块实现及效果………………………………………………………36
4.3普通用户登录模块实现及效果……………………………………………38
4.4聊天模块具体实现及效果…………………………………………………40
4.4.1聊天主截面…………………………………………………………40
4.4.2聊天信息显示窗口……………………………………………………41
4.4.3发言控制面板………………………………………………………42
4.4.4在线用户列表及辅助功能链接窗口…………………………………43
4.5用户的退出处理…………………………………………………………44
4.6管理模块实现……………………………………………………………44
4.7聊天系统的发布和部署……………………………………………………45
5项目设计总结…………………………………………………………………46
5.1系统概述……………………………………………………………………46
5.2关键问题的分析和解决……………………………………………………46
5.2.1中文乱码问题………………………………………………………46
5.2.2私聊功能的实现问题………………………………………………46
5.2.3尚存在的问题………………………………………………………47
5.3系统展望…………………………………………………………………47
5.4自身收获…………………………………………………………………47
致谢………………………………………………………………………………48
参考文献…………………………………………………………………………49
基于JSP即时聊天系统的设计与实现
学生:
吴覃秀
指导教师:
杨旺民
(三峡大学电气信息学院)
摘要:
随着Internet速度的提高和使用的普及,网络上各式各样的应用层出不穷,网上聊天就是这样一个众口皆碑的应用。
相信很多人接触网络都是从网上聊天开始的。
本文所介绍的网络即时聊天系统——“开心漫话屋”,采用最新的JSP开发技术辅以JavaBean组件和JDBC数据库连接技术整合实现,具有良好的程序结构和人机交互界面,通用性强,既可独立为一个小型聊天网站,也可应用于其它不同需求的网站。
文章将以JSP+Tomcat作为开发环境,从需求分析到系统实现,详细介绍本聊天系统的设计和实现过程。
关键词:
JSP;JavaBean;JDBC;即时聊天系统
Abstract:
WiththespeedlydevelopmentandwidlyuseoftheInternet,typesofusewiththenetworkemergesinendlesslyandchangesnowand,whichincludestheonlinechatthathighlyaperichatesbyalargenumberofpeople.ItisbeleavingthatlotsofpeoplestarttheirtouchwiththeInternetfromonlinechat.TheInternetreal-timechatsystemthispaperintroducesnamed“HappyFreeChatRoom”usestheup-to-dateWebtechnologycalled“JavaServerPages”,assistingbytheJavaBeancomponentandthedatabaseconnettingtechniqueJDBCforit’simplemention.Thechatsystemprovidesniceroutinestructureandperson-machinemutualinterfaceandhavinguniversalproperty,sothatitcanworksasnotonlyaminitypeindependentwebstationbutalsoapartofotherwebstationsthathavedefferentdemands.ThispaperwillintroducesthedesignationandimplementationprocedureusingJSPandTomcatasthedevelopedenvironmentindetails,fromrequirementanalysistocodeimplementation.
KeyWords:
JSP;JavaBean;JDBC;Real-timeChatSystem
前言
“但愿人长久,千里共婵娟。
”大词人苏东坡这句脍炙人口的表达对故人极度思恋的千古佳句流传至今,引起了多少游子的深切共鸣——时空距离的存在,阻隔了无数千里之遥的亲人朋友们的情感交流,虽有鸿雁帮忙传送书信,可漫长的等待却成为时间异步的真实写照。
然而随着当今社会计算机科学技术的迅猛发展和网络的出现,信息资源的实时共享成为现实,更重要的是它提供了一种极为直接的即时的交互方式,当然这种交互不单是指数据、信息之间的传递,也包括人与人之间的互相交流,各种聊天软件和在线聊天室正是承载这类交互的媒介,人们之间的交流几乎完全可以不受时空的约束,“但愿人长久,千里共婵娟”在现今可以蜕变成“只需网上游,千里共聊天”了。
由于Internet/Internat的广泛使用,客户与服务器端之间能否有效地进行交互成为我们要解决的问题。
JSP是一种在服务器端嵌入Java代码的脚本语言,是开发Web动态网站重要而快速、有效的工具,在保证最大可操作性的前提下,它提供了比一般脚本语言(如ASP、PHP)和CGI更快的执行速度。
由此可见,作为一种Web实现技术,它的效率是很高的,这一点正好符合了聊天系统所要求的实时性。
JSP自身的安全性,再加上实现模式的特点,完全能够达到聊天系统的即时性和保密性的要求,保证了人们在交流中需要维护的隐私权。
此外,作为Java平台的一部分,JSP拥有Java语言“一次编写,随处运行”的特点,它的平台无关性使其可以轻松移植到其它平台上运行。
种种优点使得JSP技术为目前各式各样的聊天系统的实现都打下了良好的基础。
还有值得注意的一点就是,虽然在市面上早已出现了“聊天室”的应用软件(例如:
MicrosoftChat),其使用界面及功能也已经十分完善,不过它总是一套独立于浏览器之外的套装软件,上手之前还要先熟悉操作方法才能登堂入室,对于没有时间学习的网友来说,这总是不方便,而且,诸多聊天软件采用的是C/S的结构模式,如果服务器出现故障,则这个聊天系统都将瘫痪。
所以越来越多的网站开发出根植于浏览器之上(即通常所说的B/S模式)的“聊天室”,以便造福更多的网友。
本毕业设计课题是“基于JSP即时聊天系统的设计与实现”,是由杨旺民老师提供的,其思路就是开发一个B/S模式的并且基于JSP技术的即时聊天系统,后台数据库使用的是Access2003。
其功能主要有用户注册及登陆、聊天室即时聊天(包括公聊和私聊)、聊天对象选择、颜色字体个性化设置、语言表情和动作选择等,管理员可以管理用户资料、发布系统公告等,并且系统可以自动刷新在线用户和聊天信息。
1聊天系统需求分析及技术支持
1.1项目开发背景
1.1.1课题来源
对于聊天网站,相信我们都不陌生,或者已经见过,或者曾经进去高谈阔论过。
通过这样一个网上聊天平台,不仅可以与自己的亲人和朋友随时随地的进行语言交流和沟通,也可以同不认识的人相互交流思想,而且还可以认识五湖四海的朋友,为我们的生活增添了不少乐趣,生活变得更加多姿多彩了。
上网聊天已经成为网络时代出现的一种标志性的时代产物。
本课题建立的就是这样一个顺应时代潮流的小型聊天网站。
管理员可以通过该系统对用户以及用户及用户聊天信息进行管理,普通用户在该系统注册成为会员后可以与其它会员进行即时聊天。
用户也可以以游客身份登录聊天系统。
登录系统后,用户还可以自由选择聊天对象、自定义聊天文本颜色、自己添加丰富的表情语言,增加聊天的情趣性和娱乐性。
衷心希望能够为大家搭建一个良好的语言交流平台。
1.1.2研究目的和意义
作为使用频率最高的网络软件,实时聊天已经突破了作为技术工具的极限,被认为是现代交流方式的象征,并构建起一种新的社会关系,它是迄今为止对人类社会生活改变最为深刻的一种网络新形态。
聊天系统的即时、方便、快捷、高效,正是本文研究的目的之所在。
在研究如何设计和实现这样一个聊天网站的同时,我们对于动态网站的构建会有一个较为深刻和全面的理解,尤其是对JSP技术以及相关的开发技术更要认真切实的掌握,这样才能开发出一个安全实用可靠的聊天网站系统来。
当然,在设计和实现的过程当中一定会遇到这样那样的问题,可能是暂时性的有望在设计完成时能够解决的问题,也可能是直到毕业设计完成之后仍然解决不了的问题,无论怎样,遇到问题应该庆幸才对,因为在想办法解决问题的过程中你会学到很多,甚至会有意想不到的收获。
有了构建一个聊天网站的切身经历和体验,一定能够为今后的动态网站设计打下良好的基础。
因此,本课题有其自身的研究意义和价值。
1.2聊天系统概述
1.2.1聊天系统功能需求概述
本聊天系统各项需求功能大致如下:
●第一次使用系统的用户通过填写个人信息来注册,并能验证用户名的有效性(是否重名);
●使已经注册的用户可以在验证他的登录信息(一般指用户名和密码)后登录系统;
●可以修改密码;
●登录后可以自由选择聊天室;
●能和所有人聊天,即要求实现公聊;
●能选择特定的聊天的对象,即要求实现私聊;
●能够随意选择聊天文本的颜色;
●能够选择聊天的语言动作和表情;
●能够自动显示聊天室中的成员;
●管理员能够管理用户及其聊天信息;
●管理员可以将表现不好的用户踢出聊天系统;
●管理员能够实现用户的升级;
●管理员能够发布系统公告,向所有用户或特定用户发送系统消息;
●每当一个新用户进入后会有系统提示;
●可以自动刷新在线用户和聊天信息;
●采用数据库记录用户详细信息及聊天信息。
1.2.2聊天系统现状研究
对于聊天网站,相信我们都不陌生,或者已经见过,或者曾经进去高谈阔论过。
通过这样一个网上聊天平台,不仅可以与自己的亲人和朋友随时随地的进行语言交流和沟通,也可以同不认识的人相互交流思想,而且还可以认识五湖四海的朋友,为我们的生活增添了不少乐趣,生活变得更加多姿多彩了。
上网聊天已经成为网络时代出现的一种标志性的时代产物。
本课题建立的就是这样一个顺应时代潮流的小型聊天网站。
1.2.3设计路线和研究方案
Web技术超越了传统的客户机/服务器两层结构,采用了三层体系结构:
用户界面层/事务层/数据库层。
因此Web结构有着更好的安全性。
服务器端程序的实现技术也很多,本人选用了当前比较流行的网络编程技术——JSP作为主要实现手段(配合JavaServlet、JavaBean、HTML等)。
JSP作为一种Web实现技术,它的效率是很高的。
这一点正好符合了聊天系统所要求的实时性。
JSP自身的安全性,再加上实现模式的特点,完全能够达到聊天系统的即时性和保密性的要求,保证了人们在交流中需要维护的隐私权。
除此之外,作为Java平台的一部分,JSP拥有Java语言“一次编写,随处运行”的特点。
再者,随着越来越多的服务器供应商将JSP支持添加到他们的产品中,这样一来用JSP做成的这套系统可以轻松移植到其它平台来运行。
所以本人认为JSP不失为实现本系统的最佳技术。
●主程序语言:
JSP+JavaBean+JDBC
●开发平台:
◆硬件平台:
CPUP41.8GHz
内存256MB
◆软件平台:
操作系统WindowsXPprofessional
数据库Access2003
开发工具包JDK1.5.0
JSP服务器Tomcat5.0.28
浏览器IE6.0
1.2.4聊天系统发展方向
聊天室是WWW世界中最常见的及时聊天系统服务,最早的起源来自于BBS站点,除了在线聊天之外,的确是漫漫长夜打发时间的最佳消遣。
“互通有无、排忧解难”也是聊天室的另一个功能;其次便是当成传递信息的渠道;如果更新的时间够快的话,聊天室还可以发展成为“在线会议”(类似NetMeeting的功能),其优点可见一斑。
目前,聊天软件的功能除了最基本的文本聊天,已经可以语音聊天,图像聊天,视频聊天,文件传输等三维聊天,还发展了短信发送,无线聊天,显示对方IP,在线游戏等功能,可以预见,在不久的将来,聊天软件将成为人们因特网上相互联系和娱乐的主要平台。
1.3聊天系统开发技术介绍
1.3.1JSP技术介绍
1.3.1.1JSP的基本概念
JSP是JavaServerPages的简称,是由SunMicrosystems公司倡导、许多公司参参与一起建立的一种动态网页技术标准,其网址为
在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。
JSP是由Sun公司为创建动态Web页面而定义的一种技术。
它们是与Java相关的一种HTML文档,Java提供动态内容。
JSP是在服务器端应用的一种脚本,它接受请求并生成响应。
此请求通常由一个Web客户端发送,而响应则是根据请求生成的一种HTML文档,该文档需要返回给Web客户端。
由于JSP是服务器端应用,所以它拥有对服务器端资源的访问权限,诸如Servlet、JavaBean、EJB和数据库。
1.3.1.2JSP的工作原理
JSP文件是在一个普通的静态HTML文件中添加了一些Java代码,JSP文件的扩展名为.jsp。
当第一次访问JSP页面的时候,这个文件首先会被JSP容器翻译为一个Java源文件,其实就是一个Servlet,并进行编译生成相对应的字节码文件.class,然后像其他Servlet一样,由Servlet容器来处理。
Servlet容器装载这个类,处理来自客户的请求,并把结果返回给客户。
这个过程如图1所示。
图1-1JSP页面的执行过程
如果以后再有客户访问这个页面时,只要该文件没有发生过更改,JSP容器就直接调用已经装载的Servlet。
如果已经做过修改,那就会再次执行以上过程,翻译、编译并装载。
因为首次访问的时候要执行一系列上面的过程,所以第一次访问某JSP页面时速度会较慢;但在以后运行时速度将非常快。
1.3.1.3JSP的特点
●一次编写,随处运行
由于JSP页面的内置脚本语言是基于Java编程语言,并且所有的JSP页面都要被编译成Servlet,因此JSP页面具有Java技术的所有优点,包括健壮的存储管理和安全性等。
当然其中最重要的一点就是它可以“一次编写,随处运行”。
●将内容的生成和显示进行分离
使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,同时使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的,例如当前用户的信息)。
生成内容的逻辑被封装在JSP标识和JavaBeans/EJB组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。
如果核心逻辑被封装在标识和JavaBeans/EJB中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成,在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBC(TM)技术访问数据库,或包含文件),并且将结果以HTML(或者XML)页面的形式送回浏览器。
这有既助于作者保护自己的代码,又能保证任何基于HTML的Web浏览器的完全可用性。
●强调可重用组件
绝大多数JSP页面依赖于可重用的、跨平台的组件(如JavaBeans组件或者EnterpriseJavaBeans)来执行应用程序所要求的更为复杂的处理。
开发人员能够共享和交换执行普通操作的组件,使得这些组件为更多的使用者或客户团体所使用。
基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发结果的努力中得到平衡。
●采用标识简化页面开发
Web开发人员并不一定都是熟悉脚本语言的编程人员。
JSP技术封装了很多功能,提供了一些系列的JSP标记。
使用它们,能够完成访问JavaBean组件、设置或查询组建的属性及下载Applet等功能。
并且通过开发定制化的标记库扩展JSP功能。
今后,第三方开发人员和其他人员也可以为常用功能创建自己的标记库。
这些标记库有助于简化开发难度,减少开发时间。
1.3.1.4JSP技术的优势总瞰
几年前,要开发一个商业性的动态站点,我们只能用CGI,SSI来实现,而且,开发效率和