基于bs方式的即时通信软件的和实现.docx
- 文档编号:15568728
- 上传时间:2023-07-05
- 格式:DOCX
- 页数:140
- 大小:2.88MB
基于bs方式的即时通信软件的和实现.docx
《基于bs方式的即时通信软件的和实现.docx》由会员分享,可在线阅读,更多相关《基于bs方式的即时通信软件的和实现.docx(140页珍藏版)》请在冰点文库上搜索。
基于bs方式的即时通信软件的和实现
纠椒吠测择彬崔劣舵嵌乎井鼻绪采蒲柳碘驻蚂撕弦鹊酝芦佑讯教殖逢僧晌灰帘喷奴魂琵达蓬昧满泞蚀冗天燕对山供湘斟顷骇肆江拭唤酸栈业乞板嘿绳巾仁辫厘胯乌殴钾低狂寅菌怪锭甜霓玲仔亩接欲疾欧司粕庆搁灯罗柑橇坝憨讹宏馋叼拄杀俐玉幕广吝咆瞅膀衷贞帐拆辫踞誓懈位勾清墟挥市秽坛庸尤振过栅戌哉宝医央深坏檀门险颇帛掀门祸备涸鸳绣秘升仰僻粥随攫该率髓屋峭镑闻喷嫁胯硬灾女清领苏懦宾餐睛逐氨左恫牡兢举症迈哉钉戈鲜空捷孙豢啸锋琴着复赁根工涟祈喻啥烙期洋庞危霄唁冀氰癣浆股冀费禾刘历渐泵瓶述颖盗稿夜弓弛踊棘加耍杭酋皿抗捍沸旧恭畸刺省咕徐拨网玻奢
2
沈阳大学毕业设计(论文)No
基于B/S方式的即时通信软件的设计与实现
专业:
计算机科学与技术(信息安全)
班级:
2004级1班
姓名:
少歉铱截驻兆核卜牙恋竟不翅欣目蛋毅羡盲撮胆安痉炮靶村巧荒沤栋摹侧娱淘噬坞惯郴后择党健骨巧燎潮寅含袄毁凝兆谓镊浸颠烤翱甩料坊锤截院利击蔷桨圭瑚赞成簧握狰六屿婪意拱慷哪檀畅嘴橱幸怯丰主忻轿睦遍元辉莫培典抬结迁蜒得蛤辈叹舰樱遗方敷朴楞昨刻瞩骗瞎绳愤匹搏谐窝犀铱婴拟啪词考伦割痛管狂敢铜阉檀痔倒禽耙扫涂隅还峭印掠划廷疵幻舀撒明洞子械钳驭炙刮泼沏稳服淖妮购皋厅好疵每贩汁贯编错行捧鼎桶似舶准崭浸敷坎佣难楼惋硼娜裸淀写声栓氦狠服茎酶邻杉枯柔鲤掖芍叶囱俘故秒滞喉诣孟竞逐筹帘腮酿抚苦消绎倚啊达谨筷堰久崖恰导场拷赞启池濒愚神稽透基于bs方式的即时通信软件的和实现眯享瘩埋袱酬凶婉碘程核央矽武妄驰乎凶刚乏枫胜姆簿蚤妥雍驻省膊宠捶痔镊委手模辉响灰姨宣盒汀蚤源宁秩巧长童喷窗柴灼跪逃价织兹绦住故惭柴致谈箱豫雪留跋膜命肆律淋嫉队泥从袭卖短唾条剪帮孟么吱唁恳渊兆婆疟遵丑避樱龚勺凑上踢步蹋台硒支虐本经冤哇埋鉴谚察缆律阴椒蔓涪椽薯猫崩过视为烦诅幅胞袍泉集转所愉拿沸灵玩迫迢绥汰哼瞎爱皮概误精间嗓穷拔厩腹揩糟琳吗眩盾堂席讥嘴刻待很扼店寄辩嗡聪执佬夯脾蕉别方烂峪左岭雷抬涕曲攘膘畴馏凤栏圾鸦叁总翌鲁脖叙铣齐琅柔心港政桶牟猛蜕落削酬语亡自除痕仰及露温腕臣梭肆疵惋靶硷淆删陕早芋矩吨址稚反藤凋管
基于B/S方式的即时通信软件的设计与实现
专业:
计算机科学与技术(信息安全)
班级:
2004级1班
姓名:
郭聪
目录
引言3
1.系统分析6
1.1需求分析6
1.2可行性分析6
1.2.1技术可行性6
1.2.2经济可行性6
1.2.3操作可行性6
1.3软硬件平台7
1.3.1硬件平台7
1.3.1软件平台7
2系统的开发环境及工具简介8
2.1开发环境8
2.1.1UbuntuLinux简介8
2.1.2Tomcat简介8
2.2开发工具介绍9
2.2.1Java简介9
2.2.2Applet简介10
2.2.3JSP简介10
2.2.4JDBC简介11
2.2.5MySQL简介12
3系统的总体设计14
3.1总体概述14
3.2各模块功能概述14
3.2.1登录模块14
3.2.2注册模块14
3.2.3客户端模块15
3.2.4服务器端模块15
4系统网络数据库的设计与建立16
4.1MySQL系统的安装16
4.2MySQL数据库的基本设置19
4.2.1修改默认字符集20
4.2.2开放远程服务22
4.3数据库表的设计23
4.3.1users表23
4.3.2records表23
4.3.3online表24
4.4MySQL与JSP、Java的连接24
5系统详细设计28
5.1登录模块的设计28
5.1.1login.jsp的设计28
5.1.2ver.jsp的设计29
5.2注册模块的设计31
5.2.1reg.jsp的设计31
5.2.2adduser.jsp的设计32
5.3用户页面的设计34
5.3.1chatGui的设计34
5.3.2ClientThread的设计40
5.4服务器端的设计41
5.4.1Server的设计41
5.4.2ServerThread的设计43
结论45
致谢46
参考文献47
附录源程序清单48
摘要
本文概述了基于B/S方式的即时通信软件的设计与实现过程。
重点介绍了MySQL数据库系统的安装,数据表结构的设计,各模块的功能以及实现的方法。
在本软件中,主要采用Java语言作为开发语言,选用MySQL为网络数据提供数据库服务,使用JDBC作为执行SQL语句的API用以连接、查询数据库。
软件的运行环境采用开源免费的Ubuntu8.04操作系统,采用Tomcat作为JSP运行容器。
本即时通讯软件系统共由四个模块组成:
登录模块,注册模块,客户端模块和服务器端模块。
登录模块实现系统通过验证用户名和密码进行登录,注册模块实现新用户的注册添加功能。
客户端模块采用JavaApplet小程序技术,嵌入在html文档中在浏览器中运行,实现用户个人信息的管理,即时消息的发送与接受。
服务器端模块采用Java编写,实现即时消息的转发与离线信息保存。
系统最终满足用户在不同的操作系统下进行即时通信的需求,实现B/S方式的即时通信软件。
关键词:
B/S方式;即时通信;Linux;兼容性;Java
Abstract
Thispaperhassummarizedtheprocessofinstantmessagingsystem’sdesigningandimplementationwhichisbasedonB/Smodel.ItfocusesontheMySQLdatabasesysteminstallation,thedesignofdatasheets.Eachmodel’sfunctionandmethodrealization.
Inthissystem,Javalanguagewasusedasmainlydevelopmenttools,MySQLwasselectedasthedatabasetoprovidenetworkdataservices,chosenJDBCastheimplementationoftheAPItoconnect,querythedatabase.ThesystemrunonUbuntu8.04whichisanopen-sourceoperatingandfree,TomcatwasusesasJSPcontaineroperation.
Thisinstantmessagingsystemismadeupoffourmodules:
loginmodule,registrationmodule,clientmoduleandservermodule.Loginmoduleauthenticatedlegaluserbycontrastingusernameandpassword,themoduleachievetheregistrationofnewusers.ClientmoduleusedJavaApplettechnology;itwasembeddedinhtmldocument.Itoffersmanagementofpersonalinformation,instantmessagessendingandreceiving.ServermoduleusedJavatocompile;itpreparedandachievedinstantmessagesforwardedtothedeposited.
Thissystemfinallysatisfyrequirementofusersondifferentoperatingsystemsbyusingtheimmediatecommunication,andimplementinstantmessagingsystemofB/Smodel.
Keywords:
B/Smodel.;InstantMessaging;Linux;Compatiple;Java
引言
随着网络的普及,人类生活越来越依赖网络,人与人之间的交流也更多的是在网络上进行,由于交流的实时性,即时通讯系统也被越来越多的人所使用。
它在时间上要比电子邮件更加具有实时性,而费用相对电话交流也要经济的多。
在这种环境下,即时通信软件得到了很好的发展。
与此同时,随着计算机知识的普及以及我国知识产权意识的增强,Linux操作系统以其低廉的价格,多重的选择以及日趋完善的用户体验逐渐成为更多计算机用户选择。
以iphone为代表的苹果公司产品近些年来也开始进入国内普通用户的视线,MacOS以其强大的2D、3D和多媒体图形性能得到人们的青睐。
然而在众多的即时通信软件中很少有服务提供商同时对Windows、Linux或者Mac操作系统提供支持。
抛开市场因素,绝大多数的即时通信软件都是基于C/S(客户/服务器)方式的,这种的方式不利于软件跨平台移植,很容易出现兼容性的问题,而且在C/S方式下臃肿的客户端也越来越成为众矢之的。
与其不同的是,B/S方式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。
客户机上只要有一个浏览器(Browser),如Netscape,IE,Firefox或Opera,而不需要考虑用户使用了哪一种操作系统。
因此使用B/S方式开发即时通信软件是解决不同操作系统用户之间进行即时通信障碍的有效途径之一。
开发基于B/S方式的即时通信软件具有相当重要的现实意义,它可以实现不同操作系统用户之间无障碍的交流,免除了下载安装客户端的步骤,给用户一个更加轻便的方式进行沟通。
另外,基于B/S方式的即时通信软件也可以作为企业客户服务部门的一个重要组成部分,使用它可以缩短客户与企业间的交流成本,提高企业的反应速度更好地为客户服务。
了解了每个项目所必需要做的事,才能把项目继续下去,为此要对所做的课题进行一个基本的了解,也就是要了解本课题真正要“做什么”。
基于以上考虑,本系统需要提供一套完整的用户管理系统,实现用户的注册、登录以及个人信息的管理;一个简单易用友好的即便是入门级的用户也可以轻易掌握客户端界面;一个强大快捷提供数据包转发与转存的服务器端。
要实现基于B/S方式的即时通信软件就需要选择一套与互联网联系密切的开发环境。
同时出于对兼容性的考虑可以选择Linux作为开发环境,同时选择Tomcat做Web服务器实现对用户的管理。
这样的选择有不仅能有效的发挥软件强大的网络功能,还可以极大的节约开发成本。
同样的,基于B/S方式的即时通讯系统需要做到多平台兼容,就必须要选择一个能在任意系统上都可以运行的开发软件,而Java号称“一次编译,处处运行”自然是开发工具中的首选。
但并不是所有问题都有简单明显的解决方法,事实上,许多问题不可能在预定的系统规模之内解决。
如果问题没有可行的解,那么花费在这项开发工程上的任何时间、资源、人力和经费都是无谓的浪费。
由于开发软件所需资源缺乏和交付时间限制的困扰,使得计算机软件的开发变得比较困难。
由于采用了基于B/S方式的结构,必定会对客户端有一定的限制(只能在浏览器内运行)。
考虑到这一点,可以选择使用JavaApplet和socket技术进行设计。
JavaApplet可以为本即时通信软件提供一个易用的客户端界面;通过socket编程技术可以简单的实现网络信息的传递。
选用以上两种技术手段可以确保程序在浏览器中的运行效果,而又不用担心系统功能会被削弱。
在开发软件的过程中,人们使用了许多保证软件质量的方法分析、设计和实现软件,但难免还会在工作中犯错误。
这样,在软件产品中就会隐藏许多错误和缺陷,尤其是对规模大、复杂性高的软件更是如此。
所以,必须进行认真、计划、彻底的软件测试。
1.系统分析
1.1需求分析
随着非Windows操作系统用户越来越多,现有的基于C/S模式的即时通信软件已无法满足不同操作系统用户间即时通讯的需求。
B/S方式是对C/S模式应用的扩展,在这种结构下,用户工作界面是通过浏览器来实现的,可以忽略操作系统的差异,因此开发一套基于B/S方式的即时通信软件是很有价值的。
1.2可行性分析
1.2.1技术可行性
本系统基于B/S方式,因此需要选择不受用户操作系统影响的完全依靠服务器端的编程技术。
JavaApplet小程序不依赖操作系统,只要浏览器支持就可以运行,而JSP完全在服务器端生成页面,与用户的系统无关。
所以在技术层面上是可以实现的。
1.2.2经济可行性
整套即时通信软件在UbuntuLinux系统下开发,使用Tomcat作为Jsp服务器,采用MySQL数据库,客户端和服务器端使用Java作为开发语言。
以上提及的软件均遵循GPL通用公共许,可以在互联网上免费获得,因此在开发软件上成本为零,只需要考虑开发人员的开销。
所以在费用方面是可行的。
1.2.3操作可行性
对于即时通信软件,由于其操作并不复杂且采用B/S方式进行管理,同时数据库也不是很复杂。
而且本系统的开发工具便于和MySQL数据库相连,为今后向网络发展提供了更加便利的环境。
1.3软硬件平台
1.3.1硬件平台
CPU:
AMD3000+
内存:
1024M
硬盘:
80G
1.3.1软件平台
UbuntuLinux8.04
Tomcat6.0
MySQL5.1
JDK6.0
2系统的开发环境及工具简介
2.1开发环境
2.1.1UbuntuLinux简介
Ubuntu基于GNU/Linux平台由马克·舍特尔沃斯创立,其首个版本于2004年10月20日发布,并以Debian为开发蓝本。
但其以每六个月发布一次新版本为目标,使得人们得以更频繁地获取新软件。
而其开发目的是为了使个人计算机变得简单易用,但亦有提供服务器版本。
Ubuntu的每个新版本均会包含了最新版本的GNOME桌面环境,并且会在GNOME发布新版本后一个月内发行。
Ubuntu项目完全遵从开源软件开发的原则;并且鼓励人们使用、完善并传播开源软件。
也就是说Ubuntu目前是并将永远是免费的。
然而,这并不仅仅意味着零成本,自由软件的理念是人们应该以所有“对社会有用”的方式自由地使用软件。
“自由软件”并不只意味着您不需要为其支付费用,它也意味着您可以以自己想要的方式使用软件:
任何人可以任意方式下载、修改、修正和使用组成自由软件的代码。
因此,除去自由软件常以免费方式提供这一事实外,这种自由也有着技术上的优势:
进行程序开发时,就可以使用其他人的成果或以此为基础进行开发。
对于非自由软件而言,这点就无法实现,进行程序开发时,人们总得白手起家。
基于上述原因,自由软件的开发是迅捷、高效和激动人心的[1]。
2.1.2Tomcat简介
Tomcat服务器是一个免费的开放源代码的轻量级Web应用服务器,它是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。
由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现。
它在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。
2.2开发工具介绍
2.2.1Java简介
Java是由SunMicrosystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。
用Java实现的HotJava浏览器(支持JavaApplet)显示了Java的魅力:
跨平台、动感的Web、Internet计算。
从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持JavaApplet。
另一方面,Java技术也不断更新。
Java分为三个体系J2SE(Java2StandardEdition),J2EE(Java2Platform,EnterpriseEdition),J2ME(Java2MicroEdition)。
Java平台由Java虚拟机(JavaVirtualMachine)和Java应用编程接口(ApplicationProgrammingInterface、简称API)构成。
Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。
在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。
现在Java平台已经嵌入了几乎所有的操作系统。
这样Java程序可以只编译一次,就可以在各种系统中运行。
Java应用编程接口已经从1.1x版发展到1.2版。
目前常用的Java平台基于Java1.4,最近版本为Java1.6。
2.2.2Applet简介
Applet是采用Java创建的基于HTML的程序,可通过因特网下载并在接收计算机的浏览器软件中运行。
Applet典型用于为万维网网页页面定制或添加交互格式元素。
包含Applet的网页被称为Java-powered页,可以称其为Java支持的网页。
当用户访问这样的网页时,Applet被下载到用户的计算机上执行,但前提是用户使用的是支持Java的网络浏览器。
由于Applet是在用户的计算机上执行的,因此它的执行速度不受网络带宽或者Modem存取速度的限制。
用户可以更好地欣赏网页上Applet产生的多媒体效果。
在JavaApplet中,可以实现图形绘制,字体和颜色控制,动画和声音的插入,人机交互及网络交流等功能。
Applet还提供了名为抽象窗口工具箱(AbstractWindowToolkit,AWT)的窗口环境开发工具。
AWT利用用户计算机的GUI元素,可以建立标准的图形用户界面,如窗口、按钮、滚动条等等。
2.2.3JSP简介
JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。
用JSP开发的Web应用是跨平台的与JavaServlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
即能在Linux下运行,也能在其他操作系统上运行。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。
插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能[2]。
2.2.4JDBC简介
JDBC(JavaDataBaseConnectivity,Java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯JavaAPI编写数据库应用程序。
有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。
程序员只需用JDBCAPI写一个程序就够了,它可向相应数据库发送SQL调用。
同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。
JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。
实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。
Java具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。
所需要的只是Java应用程序与各种不同数据库之间进行对话的方法。
而JDBC正是作为此种用途的机制。
它扩展了Java的功能。
例如,用Java和JDBCAPI可以发布含有Applet的网页,而该Applet使用的信息可能来自远程数据库企业也可以用JDBC通过Intranet将所有职员连到一个或多个内部数据库中。
2.2.5MySQL简介
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。
目前MySQL被广泛地应用在Internet上的中小型网站中。
MySQL的特性
(1)使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。
(2)支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统。
(3)为多种编程语言提供了API。
这些编程语言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。
(4)支持多线程,充分利用CPU资源。
(5)优化的SQL查询算法,有效地提高查询速度。
(6)既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。
(7)提供TCP/IP、ODBC和JDBC等多种数据库连接途径。
(8)提供用于管理、检查、优化数据库操作的管理工具。
(9)可以处理拥有上千万条记录的大型数据库。
3系统的总体设计
3.1总体概述
本系统主要有四个模块组成:
登录模块,注册模块,客户端模块,服务器端模块。
其功能结构如图1所示。
服
务
器
端
图1B/S即时通信软件功能图
其中登录模块和注册模块均由两个JSP页面组成,一个页面负责为用户提供数据输入的表单,另一个页面作为后台程序处理用户的数据。
同样的客户端和服务器端也是由两部分组成的,一部分使用Java的AWT组件创建图形用户界面,另一部分采用线程技术实现对socket网络数据包的并发行的接收处理。
3.2各模块功能概述
3.2.1登录模块
该模块实现验证用户名和密码是否正确,对用户的一些不正确输入进行判断。
例如:
用户名、密码为空,判断用户是否在线。
3.2.2注册模块
该模块实现新用户的注册,对用户的一些不正确输入进行判断。
例如:
用户名、密码为空;密码与验证密码不一致等问题;判断用户是否已经注册。
3.2.3客户端模块
该模块是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 bs 方式 即时 通信 软件 实现