毕业设计(论文)基于JAVA的ICQ系统

上传人:1666****666 文档编号:38554567 上传时间:2021-11-08 格式:DOC 页数:44 大小:7.88MB
收藏 版权申诉 举报 下载
毕业设计(论文)基于JAVA的ICQ系统_第1页
第1页 / 共44页
毕业设计(论文)基于JAVA的ICQ系统_第2页
第2页 / 共44页
毕业设计(论文)基于JAVA的ICQ系统_第3页
第3页 / 共44页
资源描述:

《毕业设计(论文)基于JAVA的ICQ系统》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于JAVA的ICQ系统(44页珍藏版)》请在装配图网上搜索。

1、本科毕业论文(设计)论文题目:论文题目: 基于 JAVA 的 ICQ 系统 学生姓名: 专 业: 计算机科学与技术 班 级: 计本 0404 班 学 号: 指导教师: 完成日期: 20082008 年年 5 5 月月 2020 日日I基于 JAVA 的 ICQ 系统内 容 摘 要在网络技术逐渐渗入社会生活各个层面的今天,传统的通信方式也面临着改革。借助于遍布全球的 Internet,世界各地的人们通过它可以方便的交流和更好的工作学习。采用网络通信将是未来通信发展的趋势。因此我们开发了网络通信工具 ICQ。本软件(ICQ 系统)是用 Eclipse3.2SQL 2000 的组合来开发,其目的是在

2、网络上实现信息交流。通过对整个系统的分析后,将设计分为:开发计划、需求分析、系统设计与分析、编码、测试、安装几个部分来完成,每个环节都有各自的意义与用途,其中系统设计与分析尤为重要。界面设计也很通俗,只要对 Windows 操作系统熟悉的人都能很容易地使用本软件。完成编码通过多次的软件测试与确认后,确定此系统的可用性和适用性。关键词: ICQ 网络 信息交流II System of ICQ Based on JAVA AbstractSeep into today that society live each level gradually in the network technique,

3、the traditional correspondence method also faces the reformation.Ask for help from to spread all over the global Internet, people of the world-wide locations pass it can then the convenient exchanges studies with the better work.The adoption network correspondence will be a trend that future corresp

4、ond by letter the development. Therefore we developped the network correspondence tool ICQ. This software( the system of ICQ) is a combination to use the Eclipse3.2+ SQL 2000 to develop, its purpose realizes on the network information exchanges.Pass to the analysis of whole system behind, will desig

5、n to is divided into:Development plan, need analysis, system design and analysis, code, test, install several the part comes to completes, each link has each from of meaning and use, among them system design and analysis particularly for importance.The interface design is too very popular, as long a

6、s can use this software very easily to the person that the operate system of Windows is familiar with.Completing the coding passes the many software the test and after confirming, make sure this system can use the sex with the applicability.Keywords: ICQ Network Information exchanges 1目 录 序 言.1一、绪论.

7、2(一)系统概述.21.ICQ 的构成.22.ICQ 的主要指标和分析.2(二)系统的研究意义.3(三)系统基本内容及技术方案.31基本内容.32主要功能.33技术方案.3(四)开发环境.4(五)论文各章节基本内容.4二、系统规划 .5(一)系统调查分析.5(二)系统可行性分析.51.经济可行性分析.52.技术可行性分析.53.操作可行性分析.74.计划可行性分析.7(三)系统需求分析.7三、 系统设计 .82(一)系统总体结构设计.8(二)数据模块的流程图.9(三)业务流图.9(四)数据库的设计.111.数据库的需要分析.112.数据库概念结构设计.133.数据库逻辑结构设计.14(五)系统

8、开发与环境确定.141.开发环境的确定.142.系统的运行环境.153.系统实现的若干关键技术.15四、ICQ 的主要模块.19(一)服务器程序.19(二)客户程序.19(三)数据库.20(四)主要的功能实现.20五、用户使用手册 .28(一)系统功能及运行环境简介.28(二)系统运行与操作指南.28六、系统评价 .29(一)系统主要特色/优点介绍.291.使用方便.2932.功能齐全.293.技术先进.294.实用性好.295.可扩展性好.29(二)系统存在不足与改进方案.29(三)毕业设计心得与收获.30七、结 论 .31致 谢 .32参考文献 .33附 录 .341序 言随着世界互连网和

9、电脑用户持续增长的今天,传统的通信方式也面临着改革。以前我们与家人,朋友联系时会写信或者邮寄明信片等等,这样速度慢而且也不太安全。现在互联网技术逐渐渗入社会生活各个层面,网络通信工具(ICQ)也应运而生。ICQ 是一次革命,一个对用户友好的因特网工具,它随时通知您谁在线并使您能够按照自己的意愿联络它们。 您将不用再徒劳地在网上查找朋友或伙伴。 ICQ 为您查找,并在他们进入系统的同一时间通知您。 每次您想和某个具体的人交流都要查寻索引簿的行为不再必要了。有了 ICQ,您可以闲谈、发送信息、文件和 URL、玩游戏,或者在网上冲浪时与您的网友共度时光。 因此,开发这样一套 ICQ 系统成为很有必要

10、的事情,在下面的各章中我们将详细讲解一套基于 JAVA 的 ICQ 系统的开发过程和所涉及到的问题及解决方法。2一、绪论Java1-3是 Sun Microsystem 公司的 James Gosling 开发的编程语言。它以 C+为基础,但是却是一个全新的软件开发语言。Java 是一个简单,面象对象,分布式,解释性,强壮,安全,与系统无关,可移植,高性能,多线程和动态的语言-这是 Sun 给 Java 的定义。Sun 公司的口号就是网络就是计算机,Java 能使所有东西从桌面计算平稳的转变为基于网络的计算,它是专门为此而建立的,并显然是为了完成这个任务而来的。使用 Java,我们可以相对轻松

11、的一天编写一个有条理的网络程序。今天,Java 的网络功能正在飞跃发展,不断有新的特性增加到这个有价值的基础上,JavaSoft 实验室正在不断努力使 Java 更加完善。(一)系统概述ICQ 是英文I seek you 的简称,中文意思是我找你。ICQ 最大的功能就是即时信息交流,只要记得对方的号码,上网时可以呼他,无论他在哪里,只要他上网打开 ICQ,人们就可以随时交流。ICQ 源于以色列特拉维夫的 Mirabils 公司。该公司成立于 1996 年 7 月,也就是在这个时候,互联网上最出名,下载使用人数最多的免费软件 ICQ 诞生了。可能是其不断增加的用户和广阔的前景以及广泛的应用前景和

12、巨大的市场潜力,Mirabils 的 ICQ 最终被美国在线 AOL 收购。由于 ICQ 的成功,推动了 ICQ 的本土化,就中文的 ICQ 而言,现在已经越来越多,比如著名的深圳腾迅公司推出的 OICQ(现在由于版权问题,已改名为 QQ2001),还有由 TOM.COM 推出的 Tomq 等,这些软件技术都很好,而且简单易用,成为中国网民最喜欢的通信软件。1ICQ 的构成ICQ 由服务器程序、客户程序等部分组成。(1)服务器程序 服务器与客户间通过套接口 Socket(TCP)连接。(2)客户程序客户通过 Socket(InetAddress,port)6建立与服务器的连接。2ICQ 的主要

13、指标和分析ICQ 的主要指标有响应时间、精确度、安全性等。这些指标决定了 ICQ 的技术指标。ICQ 的技术指标决定了 icq 的开发是否成功。一个成功的 ICQ 应该具有较快的响应时间、较高的安全性和较高的精确度等。(1)响应时间:一方发送一条信息,另一方收到该信息的时间差3(2)精确度:一次搜索结果中符合用户要求的数目与该次搜索结果总数之比(3)安全性:通话信息是否易被泄露(二)系统的研究意义千百年来,书信是人们相互联系、沟通信息和联络感情最主要的方式。历代文人墨客曾用锦书、尺素、羽书、飞鸿等许多充满诗意的词语来描述书信。书信也是保存历史、唤起记忆的一个重要方式。以往留存下来的许多信件,现

14、在都已成为珍贵的历史文物和研究资料。进入 20 世纪 90 年代,随着固定电话、移动电话、传呼以及互联网等更为先进快捷的通讯工具的广泛使用,信件开始逐渐失去往日的辉煌。沟通方式的多样化得益于信息业在近 10 年来的迅速发展。目前,信息产业已经成为国民经济的一个支柱产业。此外,通信方式的日益现代化从侧面也反映出中国人生活节奏前所未有地加快,工作效率开始得到提高。在网络技术逐渐渗入社会生活各个层面的今天,传统的通信方式也面临着改革,因此我们开发了网络通信工具 ICQ。ICQ 最大的功能就是即时信息交流,只要记得对方的号码,上网时可以呼他,无论他在哪里,只要他上网打开 ICQ,人们就可以随时交流。借

15、助于遍布全球的 Internet,世界各地的人们通过它可以方便的交流和更好的工作学习。采用网络通信将是未来通信发展的趋势。(三)系统基本内容及技术方案1基本内容本系统是基于 JAVA 的 ICQ 系统,主要是能够实现用户聊天,用户注册,添加好友,删除好友,发送和接受信息等等基本功能程序设计的基本要求是做到界面大方、友好,操作灵活、简单,功能强大,内容详实,运行速度快,安全性高,稳定性好。2主要功能 本次毕业设计主要完成如下功能:(1)用户注册(2)用户登录(3)添加好友(4)删除好友(5)发送接受消息3技术方案开发一套系统早就不是一件新鲜的事了,现在有各种系统,有用 JAVA 开发的,有用 V

16、B的,还有 PHP 开发的,本系统决定采用 JAVA 技术,并结合 Eclipse 和 SQL Server 数据库进行开发。4(四)开发环境本系统采用 Windows xp Professional + Eclipse3.2 +JDK1.5+ SQL Server2000 为设计环境进行开发.操作系统是 Windows xp Professional,开发技术是 JAVA,编程工具是 Eclipse3.2,数据库是 SQL Server2000。(五)论文各章节基本内容 最开始是系统的序言,主要是说明本系统的意义、目的、主要研究内容第一章是绪论,在本章内对主要是阐述本系统的研究意义,基本内容

17、,技术方案,开发环境等等。第二章是系统规划。主要是对系统的调查分析,从经济,技术,操作,计划方面来说明本系统的可行性。第三章是系统设计。主要内容是系统的总体结构设计,数据表等等,本章还包括数据模型的设计以及系统的开发和具体运行环境的确定。第四章是 ICQ 的主要模块。本章详细介绍了本系统所包含的三个模块,服务器程序模块,客户程序模块和数据库模块,介绍模块的时候同时配有图片和文字说明。第五章是用户使用手册。主要内容有系统功能简介、运行环境简介,操作指南是对用户如何使用本系统进行了详细的指导。第六章是系统评介。主要内容是对本系统的特色和优点进行相关的介绍,同还还分析了本系统存在的不足和进一步的改进

18、方案,最后还对本次设计工作进行了一次总结。论文的最后是结论,致谢以及参考资料等。5二、系统规划(一一)系统调查分析在系统的开发前期对系统进行可行性分析是十分必要的一个环节,这对于保证资源的合理使用,避免浪费是十分必要的,也是项目一旦开始以后能顺利进行的必要保证。信息系统的建设是一项投资大,时间长的复杂工程,可行性研究更为必要,也更复杂,更困难。 “可行性”是指在当前情况下,研制这个信息系统是否有必要,是否具备必要的条件。可行性的含义不仅包括可能性,还包括必要性和合理性。要问到网络时代发展最快的领域,无疑的,答案是通讯。通讯工具的实时交互、资费低廉等优点深受用户的喜爱,已经成为网络生活中不可或缺

19、的一部分,比如大家都很熟悉的腾讯 QQ,MSN 等。网民们通过即时通信进行沟通交流、结识新朋友、娱乐消遣时间、实现异地文字、语音、视频的实时互通交流。同时,人们也认识到通讯工具能够带来极高的生产力,诸多企事业单位借助它的使用,来提高业务协同性及反馈的敏感度和快捷度。作为使用频率最高的网络软件,通讯软件已经突破了作为技术工具的极限,被认为是现代交流方式的象征。在开发的前期进行各项调查的目的是明确系统的开发目标,是为了开发出一套适合大多数人能够使用的软件。经过调查以后发现它具有以下特点:(1)通过注册可以得到唯一的 JICQ 号码。(2)登录成功时,显示你所有的好友;如果好友在线时,显示在线。(3

20、)强大的新人搜索功能 ,可以查看他们的资料,并可以加为好友;如果知道对方的JICQ 号码可以直接加为好友。(4)当你上线或离开时 ICQ 会提醒你的朋友们。 (二)系统可行性分析1.经济可行性分析开发一个全新的软件是一项艰巨复杂的工作,它的投资主要是人力以及物力的投资。对于本系统来说,研究和开发本系统的主要目的是对我们所学知识一个综合性的考察,主要的投资也就是在硬件配置和软件平台上,因此新系统的实施不需要什么大的资金投入。网络通信软件 ICQ 的开发,使得我们可以更方便的与亲朋好友交流,这必将提高我们学习和工作的效率,让我们在工作和学习中有更出色的表现,因此在经济方面该系统可以进行开发。62.

21、技术可行性分析 (1)JAVASun 公司的口号就是网络就是计算机,Java4能使所有东西从桌面计算平稳的转变为基于网络的计算,它是专门为此而建立的,并显然是为了完成这个任务而来的。使用Java,我们可以相对轻松的一天编写一个有条理的网络程序。今天,Java 的网络功能正在飞跃发展,不断有新的特性增加到这个有价值的基础上,JavaSoft 实验室正在不断努力使Java 更加完善。(2)Eclipse3.2 Eclipse是一个开放源代码的,基于Java的整合型可扩展开发平台。Eclipse最初是替代由IBM公司开发的价值4千万美金的商业软件Visual Age for Java的下一代IDE开

22、发环境。2001年11月交给非营利软件供应商联盟Eclipse基金会(Eclipse Foudation)管理。2003年,Eclipse3.0选择OSGI服务平台规范为运行时架构。Eclipse采用的技术是IBM公司开发的(SWT),这是一种基于Java的窗口组件,类似于Java本身提供的AWT和Swing窗口组件;不过IBM声称SWT比其他Java窗口组件更有效率。就其本身而言,它只是一个框架和一组服务,用于插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(Java Development Toolsm,JDT) 。虽然大多数用户和乐于将Eclip

23、se当作JavaIDE来使用,但Eclipse的目标不仅限于此。Eclipse还包括插件开发环境(Plug-in Development Environment,PDE) ,这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。由于Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。本系统采用的是Eclipse3.2中文版。(3)SQL2000完全支持 Web.通过 Web 可以查询、分析和处理数据。在 SQL Server 20008-9 中使用可扩展标记语言 (XML) 可以在松散耦

24、合系统之间交换数据。从浏览器通过防火墙可方便而安全地访问数据,并可对有格式文档执行快速全文检索。分析和链接联机分析处理 (OLAP) 多维数据集,即使在 Web 上也是如此。执行点击流分析,以了解 Web 用户的情况。高度可扩展性和可靠性.使用增强的可扩展性和可靠性功能,可无限制地扩容。分散数据库工作负荷以获得应用程序的扩展。充分利用对称多处理 (SMP) 硬件,并与 Microsoft Windows 2000 Datacenter 一起使用。服务器操作系统最多可支持 32 个 CPU 和 64 GB 的 RAM。对市场的快速反应能力.快速构建、部署和管理电子商务、各种业务和数据仓库解决方案

25、。对用户数据和财务数据进行深入的数据挖掘。使用集成的 T-SQL 调试程序可缩短开发时间,并可开发在不同应用程序中可重复使用的自己的功能。SQL Server 2000 提供了 7Web 应用程序开发的捷径。而且,在最后发布之前.SQL Server 2000 发布了面向世界的标准测试程序,使其竞争对手在多平台方面的表现大为逊色。3.操作可行性分析一个好的界面设计往往会给人很舒服的感觉,像我们熟悉的腾讯 qq,该软件设计的简洁大方,上面小企鹅更是经典之作,所以我在设计的时候参考了腾讯 qq 的界面,争取作到实用性和简洁性并重。我设计的这个网络通信软件界面简洁,给人的第一感觉就很清爽,而且具体的

26、操作实施也很人性化,使用简单方便,能大大提高用户工作效率,为其节约不少不必要的开支。因此,该系统的开发具有操作可行性。4.计划可行性分析本次系统的开发预备在 1 月之内完成全部的工作。由于系统所用语言及开发工具我之前接触过,所以对与我来说难度并不是很大,如果碰到技术上的难题,可以上网查找或者求助于指导老师,尽最大努力做出让自己和老师都满意的系统。(三)系统需求分析进行数据库设计5首先必须准确了解与分析用户需求(包括数据与处理) 。需求分析是整个设计过程的基础,是最困难,最耗费时间的一步。作为地基的需求分析是否做得充分与准确,决定了在其上构建数据库大厦的速度与质量。需求做得不好,是指会导致整个数

27、据库设计返工重做。确定对所开发系统的综合要求,并提出这些需求的实现条件,以及需求应该达到的标准。这些需求包括:功能需求,性能需求,环境需求,可靠性需求,安全保密需求,用户界面需求,资源使用需求,软件成本消耗与开发进度需求,预先估计以后系统可能达到的目标。通过分析我们得出:本系统主要包括用户注册,用户登录, 用户添加好友, 用户删除好友,用户发送和接收消息等。用户的基本情况记录在 SQL SERVER 2000 数据库里,方便用户的登录和查询。用户注册:当服务器收到用户的注册请求,便开始接受客户传递的信息,诸如客户的呢称啦,性别,籍贯,头像,个人资料等;用户登录:在客户端,用户输入其jicq 号

28、码和密码,然后建立与服务器的连接;用户添加好友:客户登录后,按查找按钮后,开始向服务器发出查找请求;用户删除好友:用户在其好友列表中选择要删除的好友并按删除;发送和接收消息:用户通过在好友列表里的好友的 ip 地址,通过 UDP 与其他用户进行信息交流。83、系统设计(一)系统总体结构设计本系统由三个子模块组成: 数据库设计、服务器程序、客户程序. 要求该系统能够实现ICQ 的实时聊天. 完成系统的 ICQ 功能,包括各种界面的编写;服务器和数据库的连接,客户机与服务器的 TCP 连接,客户机之间的 UDP 连接;服务器通过 JDBC 和后台数据库连接等。 JDBC-ODBC Socket(T

29、cp) Socket(Tcp) Socket(Tcp). . UDP UDP UDP .图 3l 整个系统的结构框架采用客户/服务器摸式后台数据库Sql Server2000服务器客户客户客户9(二)数据模块的流程图 登陆请求数据 回现信息 通过验证 发信息图 3-2 数据模块的流程图 (三)业务流图 服务器 客户 建立连接 发出注册请求 发送昵称性别 个人资料等 执行数据库添加 返回用户的号码, 并在数据库注册用 得到 jicq 号码 户的 ip 地址等消息 信息处理用户登陆收 消 息收消息息 其他用户用户收发信息 后台数据库ServerSocket socketAcceptOut newI

30、n New out informationIn information数据库发送完毕停止接受Jicqno结束Out jicqno打开主程序并创建 UDP结束10图 3-3 业务流图(四)数据库的设计1.数据库的需要分析数据字典15也常称为数据目录或系统目录,它通常是一系列表,它存储着数据库中有关信息的当前描述,包括数据库三级模式、数据类型、用户名表、用户权限、程序与其用户联系等有关数据库系统的信息,起着系统状态目录表的作用,它能帮助用户、数据库管理员和数据库管理系统本身使用和管理数据库。通过数据库的需求分些后,设计如下面所示的数据项:数据项的编号:A01-01数据项的名称:Icqno数据项的别

31、名:无数据项的简述:用户的号码数据项的类型:int数据项的长度:20 个字节数据项的编号:A01-02数据项的名称:Nickname数据项的别名:无数据项的简述:用户的呢称数据项的类型:Char数据项的长度:20 个字节数据项的编号:A01-03数据项的名称:Password数据项的别名:无数据项的简述:用户的密码数据项的类型:Char数据项的长度:20 个字节数据项的编号:A01-04数据项的名称:Status 数据项的别名:无数据项的简述:用户在线否数据项的类型:Bit数据项的长度:4 字节11数据项的编号:A01-05数据项的名称:Ip数据项的别名:无数据项的简述:用户的 IP 地址数据

32、项的类型:Char数据项的长度:20 个字节数据项的编号:A01-06数据项的名称:Info数据项的别名:无数据项的简述:用户的资料数据项的类型:Varchar数据项的长度:100 个字节数据项的编号:A01-07数据项的名称:Pic数据项的别名:无数据项的简述:用户的头像号数据项的类型:Int数据项的长度:20 个字节数据项的编号:A01-08数据项的名称:Sex数据项的别名:无数据项的简述:用户性别数据项的类型:Char数据项的长度:4 个字节数据项的编号:A01-09数据项的名称:Email数据项的别名:无数据项的简述:用户的 email数据项的类型:Char12数据项的长度:40 个字

33、节数据项的编号:A01-10数据项的名称:Place数据项的别名:无数据项的简述:用户的籍贯数据项的类型:Char数据项的长度:40 个字节数据结构的编号:B01-01数据结构的名称:Icqno数据结构的简述:用户的号码数据项的类型:Int数据项的长度:20 个字节数据结构的编号:B01-02数据结构的名称:Friend数据结构的简述:好友的号码数据项的类型:Int数据项的长度:20 个字节2.数据库概念结构设计根据上述的数据项,我们设计出各种实体,以及它们之间的关系,这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。实体之间的关系图描述如下: 图 3-4 E-R 图用户朋友朋友好友

34、的号码昵称性别email籍贯用户信息133.数据库逻辑结构设计逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为关系数据库中的各种表。各个表格的设计结果如下:表3l 用户的基本信息表(表名icq)其中 Icqno 字段为自动增加。 (其他还可以添加诸如电话号码等字段作为更多选择)表 32 用户的好友表(表名 friend)序号字段名含义数据类型是否为空1Icqno用户的号码IntNo2Friend好友的号码IntNo(五)系统开发与环境确定1. .开发环境的确定本系统采用 Windows xp Professional + Eclipse3.2 +JDK1.5+ SQL Ser

35、ver2000 为设计环境进行开发. Windows xp 其实是 Windows NT 的最新版本,其实 Windows 操作系统按照内核划分为Win 9x 系列和 Win NT 系列,我们常用的 Windows XP 就属于 Win NT 系列。一般说来,Windows 95 和 Windows NT 已经被淘汰,现在主要是用的是 Windows XP、2000、2003。微软最初发行了两个版本:专业版(Windows XP Professional)和家庭版(Windows XP Home Edition) 。前者主要面向专业用户,后者面向家庭。本系统采用的 Windows XP Pro

36、fessional。Windows xp 是专为各种桌面计算机和便携机开发的新一代操作系统。它继承了 Windows NT 的先进技术,提供了高层次的安全性、稳定性和系统性能。同时,它帮助序号字段名含义数据类型是否为空1Icqno用户的号码IntNo2Nickname用户的呢称CharNo3Password用户的密码CharNo4Status用户在线否BitNo5Ip用户的 IP 地址CharYes6Info用户的资料VarcharYes7Pic用户的头像号IntYes8Sex用户性别CharYes9Email用户的 emailCharYes10Place用户的籍贯CharYes14用户更加容

37、易地使用计算机、安装和配置系统、脱机工作和使用 Internet 等。对于电脑和网络系统的管理员而言,Windows xp 是一套更具有可管理性的桌面系统,无论是部署、管理还是为它提供技术支持都更加容易这意味着更低的总体拥有成本。JDK 是个开发环境,刚开始接触 Java 的时候觉得 Java 虚拟机很麻烦,不明白 JRE 和JDK 的区别,现在明白了 JDK 是运行环境,JRE 是开发环境。因此写 Java 程序的时候需要JDK,而运行 Java 程序的时候需要 JRE。而 JDK 里面已经包含了 JRE,因此对 JAVA_HOME 设置为 JDK 的路径时也可以正常运行 Java 程序。

38、Eclipse3.2 速度快,效率高。组件功能更强大,并带有非常强大图形编辑功能,支持可视化的 Applet,Swing,AWT 等图形组件的开发。支持 EJB3.O,支持 UML2.0,并带有 UML2.0模型编辑器。不像 3.0 一定需要 JDK5.0 的 JRE,它只需要 JDK1.4.1 以上就可以了。Eclipse 是一款免费的 IDE,它支持 JAVA 和 C/C+开发,非常方便与便捷,有强大而灵活扩展的插件功能,目前 Borland 也加入该社团的开发,因此我们相信 Eclipse 将成为 IDE 的佼佼者。完全支持 Web.通过 Web 可以查询、分析和处理数据。在 SQL S

39、erver 2000 中使用可扩展标记语言 (XML) 可以在松散耦合系统之间交换数据。从浏览器通过防火墙可方便而安全地访问数据,并可对有格式文档执行快速全文检索。分析和链接联机分析处理 (OLAP) 多维数据集,即使在 Web 上也是如此。执行点击流分析,以了解 Web 用户的情况。2. .系统的运行环境硬件环境:服务器端:CPU 为 P3 800M,内存为 128M,硬盘为 20G客户端: Intel Pentium III 以上的微机软件环境:(1)服务器端:a.使用语言:javab.数据库:SQL Server 2000c.操作系统为:Windows xp(2)客户端 操作系统:基本支

40、持目前所有的操作平台,推荐使用 Windows 平台。3.系统实现的若干关键技术JAVAICQ主要设计到了java的网络编程和图形界面的设计以及于数据库的交互等等java知识。(1)java的网络编程的介绍 网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯。网络编程中有两个主要的问题,一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机15后如何可靠高效的进行数据传输。在TCP/IP6协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机。而TCP层则提供面向应用的可靠的或非可靠的数据传输机制,这是网络编程的主要对象,一

41、般不需要关心IP层是如何处理数据的。 目前较为流行的网络编程模型是客户机/服务器(C/S)结构。即通信双方一方作为服务器等待客户提出请求并予以响应。客户则在需要服务时向服务器提出申请。服务器一般作为守护进程始终运行,监听网络端口,一旦有客户请求,就会启动一个服务进程来响应该客户,同时自己继续监听服务端口,使后来的客户也能及时得到服务。(2)基于Socket12-14的低层次Java网络编程本系统采用的基于Socket课题的低层次网络编程。网络上的两个程序通过一个双向的通讯连接实现数据的交换,这个双向链路的一端称为一个Socket。Socket通常用来实现客户方和服务方的连接。Socket是TC

42、P/IP协议的一个十分流行的编程界面,一个Socket由一个IP地址和一个端口号唯一确定。在传统的UNIX环境下可以操作TCP/IP协议的接口不止Socket一个,Socket所支持的协议种类也不光TCP/IP一种,因此两者之间是没有必然联系的。在Java环境下,Socket编程主要是指基于TCP/IP协议的网络编程。Socket通讯的一般过程使用Socket进行Client/Server程序设计的一般连接过程是这样的:Server端Listen(监听)某个端口是否有连接请求,Client端向Server端发出Connect(连接)请求,Server端向Client端发回Accept(接受)消

43、息。一个连接就建立起来了。Server端和Client端都可以通过Send,Write等方法与对方通信。对于一个功能齐全的Socket,都要包含以下基本结构,其工作过程包含以下四个基本的步骤:(1) 创建Socket;(2) 打开连接到Socket的输入/出流;(3) 按照一定的协议对Socket进行读/写操作;(4) 关闭Socket。这是整个系统的难点,socket的编程不是特别容易,尤其是涉及了多线程之间的通信。(3)图形界面的设计 Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人

44、员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。Java的基础类(JFC)是开发图形用户界面的API集。Java的基础类包括以下API:Swing组件。16可访问性API。抽象窗口工具包(Abstract Window Toolkit,AWT)是Java开发用户界面最初的工具包。AWT是建立JFC的主要基础, Java 2图形设计,卷:AWT对AWT有详细的介绍。Swing是建立在AWT之上的(参见1.2节“轻量组件与重量组件的比较”中对轻量组件与重量组件比较的讨论)、包括大多数轻量组件的组件集。除提供了AWT所缺少的、大量的附加组件外,Swing还提供了

45、替代AWT重量组件的轻量组件。Swing还包括了一个使人印象深刻的、用于实现包含插入式界面样式等特性的图形用户界面的下层构件。因此,在不同的平台上,Swing组件都能保持组件的界面样式特性,如双缓冲、调试图形和文本编辑包等。这一部分界面的设计并不是很难,关键是美观度,界面的大小不好调整。(4)数据库的交互主要是使用JDBC技术。JDBC是Java的开发者Sun的Javasoft公司制定的Java数据库连接(Java Data Base Connectivity)技术的简称,是为各种常用数据库提供无缝联接的技术。JDBC在Web和Internet应用程序中的作用和ODBC在Windows系列平台

46、应用程序中的作用类似。ODBC(OpenData Base Connectivity),称为开放式数据库互联技术,是由Microsoft公司倡导并得到业界普遍响应的一门数据库连接技术,如果读者有使用ODBC编程的经验,就会发现JDBC与ODBC很类似。JDBC现在可以连接的数据库包括:xbase、Oracle、Sybase、Aceess以及Paradox等。 本软件主要是登录的时候,从数据库读取数据,检查登录的用户名和密码时不时正确;注册的时候,在数据库中插入一条数据;添加好友的时候,从fried表中插入一条数据;删除好友的时候,从fried表中删除好友的jicq号码,就是删除了一条数据,这都

47、是与数据库的操作,这些都是从java程序中读取数据库中的数据,怎么实现这一功能,就是靠的JDBC技术,可见这是完成本系统的关键环节。本系统采用的是JDBC-odbc桥连接数据库。主要是要从管理工具中配置相应数据库的数据源。(5)SQL Server 2000知识的运用SQL Server7 是一个关系数据库管理系统。是Microsoft 公司推出的SQL Server 数据库管理系统的新版本。该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能,具有使用方便、可伸缩性好、与相关软件集成程度高等优点。可跨越从运行Microsoft Windows 98 的膝上型

48、电脑,到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。SQL Server 2000 的常见版本企业版(Enterprise Edition)支持所有的SQL Server 2000 特性,可作为大型Web站点、企业OLTP(联机事务处理)以及数据仓库系统等的产品数据库服务器。17标准版(Standard Edition)用于小型的工作组或部门个人版(Personal Edition)用于单机系统或客户机开发者版(Developer Edition)用于程序员开发应用程序,这些程序需要SQL Server 2000 作为数据存储设备。此外,SQL Se

49、rver 2000 还有桌面引擎(Desktop Engine) 和Windows CE 版。用户可以根据实际情况选择所要安装的SQL Server 2000 版本。本系统采用的SQL Server 2000 个人版。因为上学期学过数据库原理,所以在使用SQL Server来建库,建表来说,并不是很难。本软件主要是登录的时候,从数据库读取数据,检查登录的用户名和密码时不时正确;注册的时候,在数据库中插入一条数据;添加好友的时候,从fried表中插入一条数据;删除好友的时候,从fried表中删除好友的jicq号码,就是删除了一条数据,这都是与数据库的操作,当然会用到JDBC技术,但是基本的sql

50、语句,如增删改查都要会;例如从数据库中查找数据,SELECT 字段名 FROM 表名 WHERE 条件;等等都是最简单的sql语句。本系统还会用到数据库的备份等等或者是分离数据库,附加数据库等。这些内容都是必须要掌握的,这样才能更好的运行本系统。18四、ICQ 的主要模块(一)服务器程序服务器与客户间通过套接口 Socket(TCP)连接。在 java 中使用套接口相当简单,Java API 为处理套接口的通信提供了一个类 .Socket.,使得编写网络应用程序相对容易服务器采用多线程以满足多用户的请求,通 JDBCC 与后台数据库连接,并通过创建一个ServerSocket 对象来监听来自客

51、户的连接请求,默认端口为 5678,然后无限循环调用accept()方法接受客户程序的连接如果申请 icq 号码,服务器就会处理客户的新建请求,准备接受用户的呢称,密码,email,个人资料,籍贯,头像等信息。然后数据库添加客户其注册的号码,新建用户结束。如果是登录,连接数据库,准备从数据库中选择呢称和密码。数据库查寻输入的 jicq号码,输入的密码执行数据库查寻比较输入的号码与密码是否相同。如果相同就告诉客户ok,并且更新数据库用户为在线以及注册用户的 ip 地址,否者告诉客户失败登录结束。用户查找好友,连接数据库,并且返回其他用户的呢称,性别,籍贯,个人资料等信息以及返回用户的 jicq

52、号码,头像号,及是否在线,查找好友结束。用户登录时读取其好友资料,连接好友表,返回用户的好友名单。告诉客户其好友的呢称,号码,ip 地址,状态,头像,个人资料等信息。用户添加好友,连接数据库,根据接受的用户号码及好友号码向好友表添加记录用户添加好友。其他用户如果加我,我就加他。连接数据库,根据接受的用户号码及好友号码向好友表添加记录。如果成功,就向用户传递好友的基本信息,比如呢称等。 用户删除好友,连接数据库,根据接受的用户号码及好友号码向好友表删除记录用户退出程序,连接数据库,根据接受的用户号码,将其状态字段设为 0,及 ip 地址设为空那些人加了我为好友,以便上线通知他们,连接数据库,根据

53、我的号码,从好友表中选择谁加了我,然后告诉这些好友的 ip 地址,然后发给用户以便告诉其他客户我上线了。(二)客户程序 客户通过 Socket(InetAddress,port)建立与服务器的连接。服务器与客户都通过构造BufferedReader,PrintWriter 来建立输入输出流,然后双方通过该输入输出流来相互传递信息,一旦收到客户方的连接请求,服务器 accept()方法返回一个新建的 Socket 对象。客户端然后向服务器发送消息,比如注册,登录,查找好友等,服务器收到来自客户的请求后,19针对不同的消息处理请求, 虽然 UDP 不可靠但是对于 icq 可靠性并不太重要,而且 U

54、DP 快速,所以客户间发送信息通过 UDP。用户登录时通过类 DatagramPacket 和 DatagramSocket 创建UDP 包括其本地接受端口以及发送端口,默认端口为 5000 和 5001,通过取得的好友的 IP 地址来向好友发送消息(send(DatagramPacket)和接受消息(receive(DatagramPacket)。当用户通过 UDP 收到消息后,可以通过 DatagramPacket 的方法 InetAddress getAddress()得到对方的 ip 地址,通过对好友列表比较以判断是谁并提示用户收到某某的消息,然后用户选择该用户查看消息,如果好友列表没

55、有该人就显示收到陌生人的消息。用户可以按陌生人按钮查看消息。1.用户注册。当服务器收到用户的注册请求,便开始接受客户传第的信息,如客户的呢称啦,性别,籍贯,头像,个人资料等,接受完毕后,便通 JDBCcOdbc 与后台数据库连接,然后向数据库添加记录,如果成功,便向客户返回其 Jicq 号码,并在数据库中注册用户的 IP 地址,然后更新其 Status 为 1 即用户在线。客户收到服务器返回的信息后,便打开主程序窗口,并同时开始创建 UDP 以便在用户之间建立联系。 2.用户登录。在客户端,用户输入其 jicq 号码和密码,然后建立与服务器的连接,告诉服务器我要登录,服务器收到后,开始通 JD

56、BCcOdbc 读取数据库,然后与用户输入的信息比较,如果相同就向客户返回成功消息并将其 Status 字段设为表示上线了以及注册其 IP地址,否则返回错误,如果客户收到成功信息就打开主窗口,否则提示出错。如果成功,便打开主程序窗口,并同时开始创建 UDP 以便在用户之间建立联系。然后客户向服务器请求读取好友名单,服务器收到该请求,开始读取数据库中的 friend 表,得到好友的号码后,再在 icq 表中读取好友资料,然后向客户端发送这些信息,客户收到后就在主窗口显示好友,比如头像,呢称。并且建立几个矢量(Vector)用以存储好友的呢称,jicq 号码,头像编号,ip 地址等信息。 (三)数

57、据库系统可以采用任何一种流行的,Java 支持的数据库,本系统采用了 Microsoft 公司的SQL Server2000 作为后台数据库。通过对现在流行的一些 Icq 的参考,建立数据库,名为javaicq,数据库共建立两个表,一个是用户的基本信息,包括呢称,Jicq 号码等。一个是用户的好友表,包括用户自己的号码和好友的号码。(四)主要的功能实现20图 4l SQL Server2000 的 friend 表图 42 配置 odbc 数据源 javaicq用 jdbc-odbc11连接数据库的代码如下:Class.forName(sun.jdbc.odbc.JdbcOdbcDriver)

58、;/用 odbc 桥连接数据库Connection c=DriverManager.getConnection(jdbc:odbc:javaicq,sa,);/加载驱动,其中 javaicq 是要连接的数据库,后面的是用户名和密码String sql=select nickname,password from icq where icqno=?; /sql 语句 PreparedStatement prepare=c.prepareStatement(sql);/设定数据库查寻条件String icqno=in.readLine();int g=Integer.parseInt(icqno);

59、/取得输入的 jicq 号码System.out.println(icqno);21String passwd=in.readLine().trim();/取得输入的密码System.out.println(passwd);prepare.clearParameters(); prepare.setInt(1,g);/设定参数 ResultSet r=prepare.executeQuery();/执行数据库查寻 图 43 服务器启动图 44 注册的界面相关部分代码如下:Socket12 socket=new Socket(InetAddress.getByName(sername),serv

60、erport);/连接服务器BufferedReader in13-14=new BufferedReader(new InputStreamReader(socket.getInputStream();/创建输入流22PrintWriter out=new PrintWriter(new BufferedWriter( new OutputStreamWriter(socket.getOutputStream(),true);/创建输出流out.println(new);/发送新建用户请求out.println(nickname.getText().trim();/发送呢称等信息out.pr

61、intln(password.getPassword();/发送密码out.println(email.getText().trim();/发送 emailout.println(info.getText().trim();/发送用户的资料out.println(place.getSelectedItem();/发送用户的籍贯out.println(headpic.getSelectedIndex();/用户的头像int no;/从 server 端传过来的新注册用户的 jicq 号码no=Integer.parseInt(in.readLine();System.out.print(no);

62、String str= ; /do str=in.readLine().trim();/从服务器读取信息 /如果出错 if(str.equals(false) JOptionPane.showMessageDialog(this,对不起,出错了:-(,ok,JOptionPane.INFORMATION_MESSAGE); else/如果成功就告诉用户其号码 JOptionPane.showMessageDialog(this,your javaicq#is+no,ok,JOptionPane.INFORMATION_MESSAGE); this.dispose();/并打开主窗口 MainW

63、in f2=new MainWin(no,sername,serverport); f2.setVisible(true); /System.out.println(n); /while(!str.equals(ok); / socket.close(); catch(IOException e1)23 图 45 登录的界面 图 46 登陆后的主页面图相关部分代码如下: dofriendname=in.readLine(); if(friendname.equals(over) break; friendnames.add(friendname); System.out.println(_+f

64、riendname);/朋友的名字 friendjicqno=in.readLine(); friendjicq.add(new Integer(friendjicqno);24 System.out.println(_+friendjicqno);/朋友的 jicq 号码 friendip=in.readLine(); friendips.add(friendip); System.out.println(friendips de size():+friendips.size(); friendstatus=in.readLine(); status.add(friendstatus); p

65、icinfo=in.readLine(); picno.add(new Integer(picinfo); email=in.readLine(); friendemail.add(email); infos=in.readLine(); friendinfo.add(infos); while(!friendname.equals(over); 图 47 聊天的界面25 图 48 聊天时受到对方信息的界面26五、用户使用手册(一)系统功能及运行环境简介本系统通过用户在客户端输入查询请求,然后经由在数据库信息中进行查询,由服务器端返回用户所需信息在客户端上,就此就完成了一次查询的流程。本系统的

66、运行环境:服务器端:硬件配置:CPU 为 P3 766M,内存为 128M,硬盘容量为 20GB 软件配置:Windows XP+ Eclipse3.2 + SQL Sserver2000客户端: 要求能与服务器连接(二)系统运行与操作指南 本系统的运行环境在上面已有所介绍,由于 JAVA 程序运行不需要客户端装有其它的软件,所以客户端只要求具有 java 环境 jdk,就可以很顺利的进行本系统的运行,而且由于本系统的界面设计简洁美观,很容易上手,所以操作起来没有什么太大的困难。1.用户添加好友。客户登录后,按查找按钮后,开始向服务器发出查找请求,服务器读取数据库表 icq 并向客户返回其结果,客户收到后在查找窗口中显示,如果用户选择了一个好友,就向服务器发送添加好友请求,服务器收到后就向数据库表 friend 中添加自己的号码以及好友的号码,并从 icq 表中读取其基本信息返回给客户端,然后客户收到并在主窗口显示该好友。并且通过 UDP 通知该客户,对方收到该消息后,可以选择添加该用户为好友或者不。 2.用户删除好友。用户在其好友列表中选择要删除的好友并按删除,然后向服务器发送删除请

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!