1、 沈阳大学毕业设计(论文) No 1 基于 B/S方式的即时通信软件的设计与实现 专业:计算机科学与技术( 信息安全 ) 班级: 2004 级 1 班 姓名: 郭聪 沈阳大学毕业设计(论文) No 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.1 Ubuntu Linux 简介 8 2.1.2 Tomcat 简介 8 2.2 开发
2、工具介绍 9 2.2.1 Java 简介 9 2.2.2 Applet 简介 10 2.2.3 JSP 简介 10 2.2.4 JDBC 简介 11 2.2.5 MySQL 简介 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.1 MYSQL 系统的安装 16 4.2 MYSQL 数据库的基本设置 19 4.2.1 修改默认字符集 19 4.2.2 开放远程服务 22 4.3 数据库表的设计 23
3、4.3.1 users 表 23 4.3.2 records 表 23 4.3.3 online 表 24 4.4 MYSQL 与 JSP、 JAVA 的连接 24 5 系统详细设计 28 沈阳大学毕业设计(论文) No 2 5.1 登录模块的 设计 28 5.1.1 login.jsp 的设计 28 5.1.2 ver.jsp 的设计 29 5.2 注册模块的 设计 31 5.2.1 reg.jsp 的设计 31 5.2.2 adduser.jsp 的设计 32 5.3 用户页面的设计 34 5.3.1 chatGui 的设计 34 5.3.2 ClientThread 的设计 40 5.4
4、 服务器端的设计 41 5.4.1 Server 的设计 41 5.4.2 ServerThread 的设计 43 结 论 45 致 谢 46 参考文献 47 附录 源程序清单 48 摘 要 本文概述了基于 B/S 方式的 即时通信软件 的 设计与实现过程 。重点介绍了 MySQL 数据库 系统 的 安装,数据表结构的 设计 , 各 模块的 功能 以及实现的方法。 在本软件中, 主要采用 Java 语言 作为开发 语言 , 选用 MySQL 为网络数据提供数据库服务,使用 JDBC 作为执行 SQL 语句的 API 用以连接、查询数据库。 软件 的运行环境 采用 开源免费的 Ubuntu8.0
5、4 操作 系统,采用 Tomcat作为 JSP 运行容器 。 本 即时通讯软件 系统 共由四个模块组成:登录模块,注册模块,客户端模块和服务器端模块。登录模块实现系统通过验证用户名和密码进行登录,注册模块实现新用户的注册添加功能。客户端模块采用 Java Applet 小程序技术,嵌入在 html 文档中在浏览器中运行,实 现用户个人信息的管理,即时消息的发送与接受。服务器端模块采用 Java 编写,实现即时消息的转发与离线信息保存。 系统最终满足用户在不同的操作系统下进行即时通信的需求,实现 B/S方式的即时通信软件。 关键词: B/S 方式;即时通信; Linux;兼容性; Java Ab
6、stract This paper has summarized the process of instant messaging systems designing and implementation which is based on B/S model. It focuses on the MySQL database system installation, the design of datasheets.Each models function and method realization. In this system, Java language was used as ma
7、inly development tools, MySQL was selected as the database to provide network data services, chosen JDBC as the implementation of the API to connect, query the database. The system run on Ubuntu8.04 which is an open-source operating and free, Tomcat was uses as JSP container operation. This instant
8、messaging system is made up of four modules: login module, registration module, client module and server module. Login module authenticated legal user by contrasting user name and password, the module achieve the registration of new users. Client module used Java Applet technology; it was embedded i
9、n html document. It offers management of personal information, instant messages sending and receiving. Server module used Java to compile; it prepared and achieved instant messages forwarded to the deposited. This system finally satisfy requirement of users on different operating systems by using th
10、e immediate communication, and implement instant messaging system of B / S model. Key words: B / S model.; Instant Messaging; Linux;Compatiple;Java 引 言 随着网络的普及,人类生活越来越依赖网络,人与人之间的交流也更多的是在网络上进行,由于交流的实时 性,即时通讯系统也被越来越多的人所使用。 它 在时间上要比电子邮件更加具有实时性,而费用相对电话交流也要经济的多。在这种环境下,即时通信软件得到了很好的发展。 与此同时, 随着计算机知识 的 普及以及
11、我国知识产权意识的增强, Linux 操作系统以其低廉的价格,多重的选择以及日趋完善的用户体验 逐渐 成为更多计算机用户选择。 以 iphone 为代表的苹果公司产品近些年来也开始进入国内普通用户的视线, Mac OS 以其强大的 2D、 3D 和多媒体图形性能 得到人们的青睐。 然而在众多的即时通信软件中很少有服务提供商同时对 Windows、 Linux或者 Mac 操作系统提供支持。抛开市场因素,绝大多数的即时通信软件都是基于 C/S(客户 /服务器) 方式 的,这种的 方式 不利于软件跨平台移植 ,很容易出现兼容性的问题,而且在 C/S 方式下臃肿的客户端也越来越成为众矢之的。与其不同
12、的是, B/S 方式 统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。 客户机上只要 有 一个浏览器( Browser),如 Netscape, IE, Firefox 或 Opera,而不需要考虑用户使用了哪一种操作系统。 因此使用 B/S 方式开发即时通信软件是解决不同操作系统用户之间进行即时通信障碍的有效途径之一。 开发基于 B/S 方式的即时通信软件具有相当重要的现实意义,它可以实现不同操作系统用户之间无障碍的交流,免除了下载安装客户端的步骤, 给用户一个更加轻便的方式进行沟通。另外,基于 B/S 方式的即时通信软件也可以作为企业客户服务部门的一个重
13、要组成部分,使用它可以缩短客户与企业间的交流成本,提高企业的反应速度更好地为客户服务。 了解了每个项目所必需要做的事,才能把项目继续下去,为此要对所做的课题进行一个基本的了解,也就是要了解本课题真正要 “做什么 ”。 基于以上考虑,本系统需要提 供一套完整的用户管理系统,实现用户的注册、登录以及个人信息的管理;一个简单易用友好的即便是入门级的用户也可以轻易掌握客户端界面;一个强大快捷提供数据包转发与转存的服务器端。 要实现基于 B/S 方式的即时通信软件就需要选择一套与互联网联系密切的开发环境。同时出于对兼容性的考虑可以选择 Linux 作为开发环境,同时选择 Tomcat 做 Web 服务器
14、实现对用户的管理。这样的选择有不仅能有效的发挥软件强大的网络功能,还可以极大的节约开发成本。 同样的,基于 B/S 方式的即时通讯系统需要做到多平台兼容,就必须要选择一个能在任意 系统上都可以运行的开发软件,而 Java 号称“一次编译,处处运行”自然是开发工具中的首选。 但并不是所有问题都有简单明显的解决方法,事实上,许多问题不可能在预定的系统规模之内解决。如果问题没有可行的解,那么花费在这项开发工程上的任何时间、资源、人力和经费都是无谓的浪费。由于开发软件所需资源缺乏和交付时间限制的困扰,使得计算机软件的开发变得比较困难。 由于采用了基于 B/S 方式的结构,必定会对客户端有一定的限制(只
15、能在浏览器内运行)。考虑到这一点,可以选择使用 Java Applet 和 socket 技术进行设计。 Java Applet 可以为本即时通信软件提供一个易用的客户端界面;通过 socket 编程技术可以简单的实现网络信息的传递。选用以上两种技术手段可以确保程序在浏览器中的运行效果,而又不用担心系统功能会被削弱。 在开发软件的过程中,人们使用了许多保证软件质量的方法分析、设计和实现软件,但难免还会在工作中犯错误。这样,在软件产品中就会隐藏许多错误和缺陷,尤其是对规模大、复杂性高的软件更是如此。所以,必须进行认真、计划、彻底的软件测试。 1.系统分析 1.1 需求分析 随着非 Windows
16、 操作系统用户越来越多,现有的基 于 C/S 模式的即时通信软件已无法满足不同操作系统用户间即时通讯的需求。 B/S 方式是 对 C/S模式应用的扩展 , 在这种结构下,用户工作界面是通过浏览器来实现的 ,可以忽略操作系统的差异,因此开发一套基于 B/S 方式的即时通信软件是很有价值的。 1.2 可行性分析 1.2.1 技术可行性 本系统基于 B/S 方式,因此需要选择不受用户操作系统影响的完全依靠服务器端的编程技术。 Java Applet 小程序不依赖操作系统,只要浏览器支持就可以运行,而 JSP 完全在服务器端生成页面,与用户的系统无关。所以在技术层面上是可以实现的。 1.2.2 经济可
17、行性 整套即时通信软件在 Ubuntu Linux 系统下开发,使用 Tomcat 作为 Jsp 服务器,采用 MySQL 数据库,客户端和服务器端使用 Java 作为开发语言。以上提及的软件均遵循 GPL 通用公共许,可以在互联网上免费获得,因此在开发软件上成本为零,只需要考虑开发人员的开销。所以在费用方面是可行的。 1.2.3 操作可行性 对于即时通信软件,由于其操作并不复杂且采用 B/S 方式进行管理,同时数据库也不是很复杂。而且本系统的开发工具便于和 MySQL 数据库相连,为今后向网络发展提供了更加便利的环境。 1.3 软硬件平台 1.3.1 硬件平台 CPU: AMD3000+ 内存: 1024M 硬盘: 80G 1.3.1 软件平台 Ubuntu Linux 8.04 Tomcat 6.0 MySQL 5.1 JDK 6.0