姓 名 杨继连
学 院 大连东软信息技术职业学院
专 业 软件技术
指导教师 刘冰月 讲师 兰艳 助教
备 注
2009 年 6 月19日
基于web的网络聊天室的设计与实现
作者姓名: | 杨继连 |
指导教师: | 刘冰月 讲师 兰艳 助教 |
单位名称: | 计算机科学与技术系 |
专业名称: | 软件技术 |
2009年6月
Design and Implementation of Network Chat Rooms Based on Web
by Yang Jilian
Supervisor: | Lecturer Liu Bingyue Assistant Lan Yan |
June 2009
毕业设计(论文)任务书
毕业设计(论文)题目: |
基于web的网络聊天室的设计与实现 |
设计(论文)的基本内容: 网络聊天室是将一个实验室的成员信息,聊天的情况和信息的保存在数据库里。任何用户都可以通过这个平台进行交互。它主要实现两部分功能:①成员管理的功能;用户的注册,用户信息的管理等②平台后台管理功能。其主要功能包括,用户浏览功能:分普通用户和管理员。普通用户无需登陆就可以浏览新闻;管理员登陆以后可以对用户信息的查看,添加,修改和删除;管理员管理用户信息就行维护,对其就行增删改查操作以及对其他内容进行管理等。并对所实现的部分进行测试和评价。 |
毕业设计(论文)专题部分: 题目: 设计或论文专题的基本内容: |
学生接受毕业设计(论文)题目日期 第 1 周 指导教师签字: 2008年 12 月 8 日 |
摘 要
从世界上第一台计算机诞生至今只有半个多世纪,然而正因为它的方便、快捷、实用,已被应用到各个领域。随着网络的出现,信息资源的实时共享成为现实,更重要的是它提供了一种极为直接的交互方式,当然这种交互不单是指数据、信息之间的传递,也包括人与人之间的互相交流,各种聊天软件和在线聊天室正是承载这类交互的媒介。
随着互联网的发展,人们通过网络可以更方便快捷地进行信息交流和学习,聊天系统可以为大家提供一个更好的交流平台,在这个平台上,人们可以通过文字与符号进行实时的交谈、聊天,它是一个向整个因特网开放的地方,是提供给网民一个交友与娱乐的场所,在聊天室里网民可选择自已的聊天对象,与其进行对话交流,是网民之间相互沟通、交流情感的最佳方式之一。同时它已成为各网站提供的一个服务标准,是吸引网民,提高人气的一个重要方式。
本设计所设计的网络聊天室是使用的JSP(Java Server Pages)技术实现,其中介绍了本聊天室的各项功能,主要有学生用户注册、在线聊天。通过聊天室系统的设计,熟悉网站建设基本操作。包含网页制作、服务器的建立与管理、数据库建立与使用等。熟悉HTML语言、java程序设、计使用MyEclipse编辑器、Oracle数据库、tomcat应用程序服务器的使用以及一个网站的整体建设等。掌握网站的基本架构、服务器与数据库的连接等,强化自己的基本设计能力。
关键词:网络聊天室,JSP ,Java,Oracle,MyEclipse
Design and Implementation of Network Chat Rooms Based on Web
Abstract
From the world's first computer born today more than half a century, however, only because it is convenient, quick, practical, has been used in various fields. Along with the network information resources, the real-time share to become a reality, more important is, it provides a direct interaction, of course, is not only the interaction between the information transmission, and also include of person-to-person communication, various chat software and online chat is carrying this kind of interaction of the media.
With the development of the Internet, people through the network can more convenient and quick to learn, information exchange and chat system can provide a better communication platform, in this platform, people can pass words and symbols of conversation, real-time chat, it is a place of open to the Internet, is to provide users with a friend for recreation, in a chat room users can choose our own chat with object, communication, mutual communication, the Internet is one of the best way to communicate affection. At the same time it has become one of the website provides service standard, is to attract users, raise popularity is one of important ways.
The design of the network chat is designed using the JSP (Java Server) technology to mix, introduces the main functions of the chat room, a student user registration, chatting online. Through chatrooms with system design, website construction is the basic operation. Contains pages, the establishment and management, the server database establishment and use etc. Familiar with HTML, Java, MyEclipse use project procedures and Oracle database editors tomcat, application server and the use of a web site overall construction, etc. Grasp the basic framework, server site with database connections, strengthen their basic design ability.
Key words: network chat rooms , JSP ,Java,Oracle,MyEclipse
目 录
毕业设计(论文)任务书 I
摘 要 II
Abstract III
第1章 绪 论 1
1.1 论文研究主要内容 1
1.2 国内外现状 1
第2章 关键技术介绍 3
2.1 JSP 3
2.2 tomcat应用服务器技术 4
第3章 系统分析 6
3.1 构架概述 6
3.1.1 功能构架 6
3.1.2 模块需求描述 6
3.2 系统开发环境 7
3.3 系统任务的可行性分析 7
第4章 系统设计 8
4.1 设计指导思想和原则 8
4.1.1 指导思想 8
4.2 系统的功能结构设计 8
4.2.1系统功能模块划分 8
4.3 系统数据库设计 9
4.3.1 数据库结构 9
4.3.2 数据库表设计 9
4.3.3 数据库连接 10
第5章 系统实现 11
5.1网络聊天室首页 11
5.2用户注册页面 11
5.3用户功能实现 13
5.3.1用户登录到系统首页 13
5.3.2 用户修改个人信息 13
5.3.3 聊天室页面 14
5.4管理员功能实现 15
5.4.1 管理员查看用户信息页面 15
5.4.2 管理员查看用户聊天记录页面 16
第6章 系统测试 17
6.1 测试方案及测试用例 17
6.1.1 功能测试 17
第7章 结 论 18
参考文献 19
致 谢 20
第1章 绪 论
随着互联网的发展,人们通过网络可以更方便快捷地进行信息交流和学习网络聊天室已成为网络生活的一种时尚,它是网上交朋友,思想感情交流,宣传网站和业务,宣扬自我,好友之间聚会来聊天的好去处。聊天系统可以为大家提供一个更好的交流平台,在这个平台上,人们可以通过文字与符号进行实时的交谈、聊天,它是一个向整个因特网开放的地方,是提供给用户一个交友与娱乐的场所,在聊天室里可选择自已的聊天对象,与其进行对话交流,之间相互沟通、交流情感的最佳方式之一。现在各大网站都提供了功能完善的聊天室。
1.1 论文研究主要内容
网络聊天室是将一个实验室的成员信息,聊天的情况和信息的保存在数据库里。任何用户都可以通过这个平台进行交互。它主要实现两部分功能:①成员管理的功能;用户的注册,用户信息的管理等②平台后台管理功能。其主要功能包括,用户浏览功能:分普通用户和管理员。普通用户无需登陆就可以浏览新闻,看好友是否在线;管理员登陆以后可以对用户信息的查看,添加,修改和删除;管理员管理用户信息就行维护,对其就行增删改查操作以及对其他内容进行管理等。
1.2 国内外现状
网络聊天室利用计算机和同步交流软件,应用一点的技术形成的聊天空间,是当今高校广泛应用的一种网络服务, 它为广大学生提供了一种方便快捷的沟通方式, 在线聊天是上网的重要活动之一。作为操作简便也是出现 最早的网上聊天方式, 聊天室聊天又是其中最普及的一种。聊天室的主要发展趋势是大型化和专业化, 目前比较
有效的途径, 一是向实用性方向发展, 将聊天室互动的技术 特性充分发挥, 满足远程交流需要。提供受众需要的内容, 例 如进入在线学习领域、专家在线辅导、聊友之间进行讨论。聊天室是当今广泛应用的一种网络服务, 它为广大网民 提供了一种方便快捷的沟通方式, 在线聊天是上网的重要活 动之一。第十六次CNNIC 调查结果显示: 在网络用户经常使 用的网络服务/功能调查中, 网上聊天( 聊天室、QQ、ICQ 等) 占被调查人群的42.6%, 处于第四位, 作为操作简便也是出现 最早的网上聊天方式, 聊天室聊天又是其中最普及的一种。 而多数人认为聊天室是一种用来消遣而缺乏实际价值的 东西, 许多大型网站建立了聊天室, 但基本上是被定义为聚拢 人气而不是带来收益的一种服务项目。目前能够实现赢利的 聊天室很少, 它是否具有商业价值以及其商业价值如何兑现 的问题似乎并没有引起学界的关注。
第2章 关键技术介绍
2.1 JSP
JSP是Java Server Pages的简称,是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。在传统的网页HTML文件(*.htm,*.html)中加入JAVA程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。各地广为流行,Internet/Internat的广泛使用,客户与服务器端之间能否有效地进行交互成为我们要解决的问题。一个用户可以通过浏览器将一个HTTP请求发送到一个可执行应用程序而不是一个静态的HTML文件,服务器将会立即运行这个限定的程序,对用户的输入作出反应,将处理结果返回客户端,或者对数据的记录进行更新,CGI,ISAPI,ASP,PHP等技术的涌现正是为用户发布交互性和实时信息提供了可能,而新推出的JSP技术是其中的佼佼者,由于其具有很高的运行效率,开发周期短,同时扩展能力特别强,而且它的技术规范是公开的,任何人都可以按照规范开发出自己的产品,更重要是它是一种与平台无关的开发技术,JSP迅速成为万众瞩目的对象。JSP技术已在国外非常地流行,在国内还处于起步阶段,不过相信它也会很快为国人所掌握并发挥它的巨大潜能。JSP技术具有以下的特点:
将内容的生成和显示进行分离。使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的,例如请求账户信息或者特定的一瓶酒的价格)。生成内容的逻辑被封装在JSP标识和JavaBeans/EJB组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和JavaBeans/EJB中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成,在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBC(TM)技术访问数据库,或包含文件),并且将结果以HTML(或者XML)页面的形式送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。
绝大多数JSP页面依赖于可重用的、跨平台的组件(如JavaBeans组件或者Enterprise JavaBeans)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。
Web页面开发人员不会都是熟悉脚本语言的编程人员。JavaServer Page技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。通过开发定制标识库,JSP技术是可以发展的。今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样执行特定功能的构件来工作。
2.2 Tomcat应用服务器
本网站选用Apache Tomcat Server应用服务器为网站服务器,Tomcat是Apache Jakarta软件组织的一个子项目,Tomcat是一个JSP/Servlet容器,它是在SUN公司的JSWDK(Java Server Web Development Kit)基础上发展起来的一个JSP和Servlet规范的标准实现,使用Tomcat可以体验JSP和Servlet的最新规范。经过多年的发展,Tomcat不仅是JSP和Servlet规范的标准实现,而且具备了很多商业Java Servlet容器的特性,并被一些企业用于商业用途。
在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于Ftp,你可以在远程通过Web部署和撤销应用。当然本地也可以。
Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache。我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet。这种集成只需要修改一下Apache和Tomcat的配置文件即可。
另外,Tomcat提供Realm支持。Realm类似于Unix里面的group。在Unix中,一个group对应着系统的一定资源,某个group不能访问不属于它的资源。Tomcat用Realm来对不同的应用(类似系统资源)赋给不同的用户(类似group)。没有权限的用户则不能访问这个应用。Tomcat提供三种Realm,1:JDBCRealm,这个Realm将用户信息存在数据库里,通过JDBC获得用户信息来进行验证。2:JNDIRealm,用户信息存在基于LDAP的服务器里,通过JNDI获取用户信息。3:MemoryRealm,用户信息存在一个xml文件里面,上面讲的manager应用验证用户时即使用此种Realm。通过Realm我们可以方便地对访问某个应用的客户进行验证。
在Tomcat中,你还可以利用Servlet2.3提供的事件功能,来对你的应用或者Session实行监听。Tomcat也提供其它的一些特征,如与SSL集成到一块,实现安全传输。还有Tomcat也提供JNDI支持,这与那些J2EE应用服务器提供的是一致的。说到这里我们要介绍一下通常所说的应用服务器(如WebLogic)与Tomcat有何区别。应用服务器提供更多的J2EE特征,如EJB,JMS,JAAS等,同时也支持Jsp和Servlet。而Tomcat则功能没有那么强大,它不提供EJB等支持。但如果与JBoss(一个开源的应用服务器)集成到一块,则可以实现J2EE的全部功能。既然应用服务器具有Tomcat的功能,那么Tomcat有没有存在的必要呢?事实上,我们的很多中小应用不需要采用EJB等技术,Jsp和Servlet已经足够,这时如果用应用服务器就有些浪费了。而Tomcat短小精悍,配置方便,能满足我们的需求,这种情况下我们自然会选择Tomcat。
基于Tomcat的开发其实主要是Jsp和Servlet的开发,开发Jsp和Servlet非常简单,你可以用普通的文本编辑器或者IDE,然后将其打包成WAR即可。这里要提到另外一个工具Ant,Ant也是Jakarta中的一个子项目,它所实现的功能类似于Unix中的make。你需要写一个build.xml文件,然后运行Ant就可以完成xml文件中定义的工作,这个工具对于一个大的应用来说非常好,我们只需在xml中写很少的东西就可以将其编译并打包成WAR。事实上,在很多应用服务器的发布中都包含了Ant。另外,在Jsp1.2中,可以利用标签库实现Java代码与Html文件的分离,使Jsp的维护更方便。
第3章 系统分析
3.1 构架概述
3.1.1 功能构架
根据需求调研结果确定本系统主要包括以下功能模块,如图3.1所示。
图3.1 系统功能结构图
基于Web的网络聊天室系统的设计与实现,对系统进行了详细的分析,模块包括注册登陆模块,修改个人信息模块,查看个人信息模块,进入聊天室模块,留言模块,管理员查看用户信息模块,管理员删除用户信息模块,管理员查看聊天记录模块,管理员查看并删除留言模块。
3.1.2模块需求描述
整个网络聊天室系统主要分为注册登录、修改信息、聊天室、查看个人信息模块、用户留言、管理员登录、管理员查看个人信息、管理员删除用户、管理员查看聊天记录、管理员查看留言几个模块,设置业务模块功能如表3.1所示。
表3.1业务功能模块表
功能编号 | 功能名称 | 功能描述 |
1 | 注册登陆模块 | 提供用户注册和用户名密码登陆 |
2 | 修改信息模块 | 提供用户修改个人信息功能 |
3 | 聊天室模块 | 提供用户进行交流、讨能 |
4 | 查看个人信息模块 | 提供用户自己查看个人信息 |
5 | 用户留言模块 | 用户下线留言 |
6 | 管理员登录模块 | 提供管理员登录 |
7 | 管理员查看个人信息模块 | 管理员查看个人信息 |
8 | 管理员删除用户模块 | 管理员删除用户账号 |
9 | 管理员查看聊天纪录模块 | 管理员查看用户的聊天记录 |
10 | 管理员查看留言模块 | 管理员查看留言并删除留言 |
硬件环境:450*2MHZ/40G/1024MB/40G/
软件环境:MyEclipse /Oracle9I
3.3 系统任务的可行性分析
技术及开发方法可行性:由于本系统采用的是JAVA相关的技术具有“一处编译处处运行”的特性,所以系统能够跨平台使用,可运行于Linux/Unix和Windows系列等操作系统平台。
管理可行性:模块化的设计方法,有助于系统开发过程的管理,因为科学合理的将整个程序划分多个功能模块,各模块单独设计,用助于降低整个程序的设计难度及减少错误程序的影响范围,各模块易于实现,又使整个程序易于衔接和修改。
经济可行性:经过详细周密的调研,采用功能强大的软件,借鉴成功的实例,及科学的开发方法,可以降低开发成本,达到经济高效的目的。
第4章 系统设计
4.1 设计指导思想和原则
4.1.1 指导思想
网络聊天室是将一个实验室的成员信息,聊天的情况和信息的保存在数据库里。任何用户都可以通过这个平台进行交互。它主要实现两部分功能:①成员管理的功能;用户的注册,用户信息的管理等②平台后台管理功能。其主要功能包括,用户浏览功能:分普通用户和管理员。普通用户无需登陆就可以浏览新闻;管理员登陆以后可以对用户信息的查看,添加,修改和删除;管理员管理用户信息就行维护,对其就行增删改查操作以及对其他内容进行管理等。
4.2 系统的功能结构设计
4.2.1系统功能模块划分
(1) 用户登录、注册
用户注册是为了用户可以安全使用本网站,便于网站管理。用户登录后才可以进行聊天。
(2)用户查看个人信息
用户只有成功登录后,才可以看到自己注册的个人信息。
(3) 用户修改个人信息
用户登录聊天室系统可以修改自己的信息。
(4) 进入聊天室
用户登录系统进入聊天室就可以选择自己的好友进行聊天。
(5) 用户留言
用户登录后可以进行留言,留下对网站看法等等。
(6) 管理员登录
管理员是对整个网站后台数据库进行维护,是网站最重要的大门。只有管理员登录后才可以进行修改,别人无法访问。
(7)管理员查看所有用户信息
管理员登录系统后,可以查看所有注册本网站的用户信息并对其进行删除操作。
(8)查看聊天记录
管理员登录系统后,可以查看到用户的聊天记录看其是否违反规定。
(9) 管理员查看留言并进行删除
管理员登录系统后,可以查看用户的留言并对其恶意留言进行删除。
4.3 系统数据库设计
4.3.1数据库结构
作为网络的一个重要应用,数据库在网站建设与网络营销中发挥着重要的作用,与普通网站相对而言,具有数据库功能的网站网页我们通常称为动态页面,也就是说页面不是一层不变的,页面上内容(或部分内容)是动态生成的,它可以根据数据库中相应部分内容的调整而变化,使网站内容更灵活,维护更方便,更新更便捷。该系统选择Oracle数据库作为网站的后台支持,Oracle 是以高级结构化查询语言(SQL)为基础的大型关系数据库,通俗地讲它是用方便逻辑管理的语言操纵大量有规律数据的集合。是目前最流行的客户/服务器(CLIENT/SERVER)体系结构的数据库之一。
本系统采所需要的数据库结构如表4.1所示。
表4.1数据库结构表
序号 | 表名 | 说明 |
1 | 用户表(userList) | 描述用户的基本信息 |
2 | 管理员表(adminList) | 描述管理员的基本信息 |
3 | 聊天记录表(chatroomList) | 描述聊天记录的信息 |
4 | 留言表(liuyanList) | 描述留言信息 |
(1) 用户表(userList)的设计
用户信息表记录着用户的各种信息,包括用户名、密码、邮箱、性别、电话等用户的基本信息。它为系统提供用户的基本信息。具体设计如表4.2所示。
表4.2用户表userList
字段名称 | 数据类型 | 字段大小 | 是否为空 | 说明 |
username | Varchar | 20 | 否 | 用户名 |
password | Varchar | 20 | 否 | 密码 |
name | Varchar | 20 | 否 | 昵称 |
gender | Varchar | 20 | 否 | 性别 |
Varchar | 20 | 否 | 邮箱 | |
phone | Varchar | 20 | 否 | 电话 |
管理员信息表用来记录管理人员的登陆名和密码,通过管理员的身份进入系统后可以对用户进行修改。具体设计如表4.3所示。
表4.3管理员表 adminList
字段名称 | 数据类型 | 字段大小 | 是否为空 | 说明 |
username | Varchar | 20 | 否 | 用户名 |
name | Varchar | 20 | 否 | 昵称 |
聊天记录表用来记录用户进入聊天室后聊天记录。具体设计如表4.4所示。
表4.4 聊天记录表 chatroomList
字段名称 | 数据类型 | 字段大小 | 是否为空 | 说明 |
username | Varchar | 20 | 否 | 用户名 |
name | Varchar | 20 | 否 | 昵称 |
time | Varchar | 20 | 否 | 时间 |
jilu | Varchar | 20 | 否 | 聊天记录 |
留言记录表用来记录用户登录系统后,可以进行留言。具体设计如表4.5所示。
表4.5聊天记录表 liuyanList
字段名称 | 数据类型 | 字段大小 | 是否为空 | 说明 |
name | Varchar | 20 | 否 | 昵称 |
time | Varchar | 20 | 否 | 时间 |
liuyan | Varchar | 20 | 否 | 留言记录 |
(1) 载入JDBC驱动程序。
(2) 定义连接URL。
(3) 建立连接。
(4) 创建语句对象。
(5) 执行查询或更新。
(6) 处理结果。
(7) 关闭连接。
第5章 系统实现
5.1网络聊天室首页
首页可以选择登录模式,用户登录模式,如用户没登录点击进入注册用户。管理员用户登录模式。如图5.1所示。
图5.1 基于Web的网络聊天室首页
当用户登录时,输入用户名和密码后点击确认登录按钮,将用户信息递交到douserindex.jsp进行处理。将用户信息与后台数据库用户表中的信息进行比对,相同则登录到用户首页,不同则提示注册用户。
5.2用户注册页面
用户点击注册用户进入注册页面,如图5.2所示。
图5.2 用户注册首页
注册核心代码:
String username = request.getParameter("username");
String password = request.getParameter("password");
String name = request.getParameter("name");
String gender = request.getParameter("gender");
String email = request.getParameter("email");
String phone = request.getParameter("phone");
DBConnection db = new DBConnection();
String sql = "insert into userlist values(userid.nextval,'"+username+"','"+password+"','"+
name+"','"+gender+"','"+email+"','"+phone+"')";
int line = db.update(sql);
try {
if (line>0) {
System.out.println("用户数据已经插入到数据库中!");
request.getRequestDispatcher("studentindex.html").forward(
request, response); }
5.3用户功能实现
5.3.1用户登录到系统首页
用户登录到系统可以看到个人注册信息,如图5.3所示。
图5.3 用户登录到首页
5.3.2 用户修改个人信息
用户可以修改自己注册的个人信息,如图5.4所示。
图5.4 用户修改信息页面
5.3.3 聊天室页面
用户点击进入聊天室,可以在聊天室内选择好友聊天,如图5.5所示。
图5.5 聊天室页面
聊天室核心代码:
String username = (String) session.getAttribute("username");
String name="匿名用户";
String jilu = request.getParameter("text");
DBConnection db = new DBConnection();
String sql = "select name from userList where username='"+username+"'";
ResultSet rs = db.query(sql);
try {
if(rs.next()){
name = rs.getString(1);
}
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
String sql1 = "insert into chatroomlist values(chatroomlistid.nextval,'"+
username+"','"+name+"',sysdate,'"+jilu+"')";
int line = db.update(sql1);
String sql2= "select * from chatroomlist";
ResultSet rs1 = db.query(sql2);
List list = new ArrayList();
try {
ChatRoomBean sb;
while (rs1.next()) {
sb = new ChatRoomBean();
sb.setChatroomlistid(rs1.getInt(1));
sb.setUsername(rs1.getString(2));
sb.setName(rs1.getString(3));
sb.setTime(rs1.getString(4));
sb.setJilu(rs1.getString(5));
list.add(sb);
5.4管理员功能实现
5.4.1 管理员查看用户信息页面
管理员登录系统后,点击查看用户信息,可以看到所有用户的注册信息,并对其进行删除操作,如图5.6所示。
图5.6 管理员查看用户信息页面
管理员查看用户核心代码:
DBConnection db = new DBConnection();
String sql = "select * from userList";
ResultSet rs = db.query(sql);
try {
UserBean sb;
while (rs.next()) {
sb = new UserBean();
sb.setUserlistid(rs.getInt(1));
sb.setUsername(rs.getString(2));
sb.setPassword(rs.getString(3));
sb.setName(rs.getString(4));
sb.setGender(rs.getString(5));
sb.setEmail(rs.getString(6));
sb.setPhone(rs.getString(7));
list.add(sb);
System.out.println("用户数据已经存储到list中!");
5.4.2管理员查看用户聊天记录页面
管理员登录系统后,点击查看聊天记录,如图5.7所示。
图5.7 管理员查看聊天记录页面
第6章 系统测试
6.1 测试方案及测试用例
软件测试是软件开发过程的重要组成部分,是用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求。软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。
JSP程序需要将程序文件发布到Web服务器后才能浏览网页的内容,所以要将做好的JSP程序文件放在Tomcat目录下才能运行,我对所做的程序采取边做边运行测试的方法,做完一个功能模块就对其进行测试验证,看看能不能读或写数据库。
6.1.1 功能测试
(1)链接测试:链接测试可分为三个方面。首先,测试所有链接是否按指示的那样确实链接到了该链接的页面;其次,测试所链接的页面是否存在;最后,保证Web应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问。链接测试必须在集成测试阶段完成。
(2)表单测试:当用户提交注册信息时,就需要使用表单操作。在这种情况下,我们必须测试提交操作的完整性,以校验提交信息的正确性。如果表单只能接受指定的某些值,则也要进行测试。例如:只能接受某些字符,测试时可以跳过这些字符,看系统是否会报错。
(3)数据库测试:在Web应用技术中,数据库起着重要的作用,数据库为应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。最常用的数据库类型是关系型数据库,可以使用Oracle对信息进行处理。 一般情况下,可能发生两种错误,
分别是数据一致性错误和输出错误。数据一致性错误主要是由于用户提交的表单信息不正确而造成的,而输出错误主要是由于网络速度或程序设计问题等引起的,针对这两种情况,可分别进行测试。
第7章 结 论
现在社会是信息社会,在信息飞速传递的时代下,我们的生活方式发生了很大的变化,网络在社会生活中已经占有举足轻重的地位,互联网成为人们生活中必不可少的一部分到各,信息资源的实时共享成为现实,更重要的是它提供了一种极为直接的交互方式,当然这种交互不单是指数据、信息之间的传递,也包括人与人之间的互相交流,各种聊天软件和在线聊天室正是承载这类交互的媒介。随着互联网的发展,人们通过网络可以更方便快捷地进行信息交流和学习,聊天系统可以为大家提供一个更好的交流平台,在这个平台上,人们可以通过文字与符号进行实时的交谈、聊天,它是一个向整个因特网开放的地方,是提供给网民一个交友与娱乐的场所,在聊天室里网民可选择自已的聊天对象,与其进行对话交流,是网民之间相互沟通、交流情感的最佳方式之一。同时它已成为各网站提供的一个服务标准,是吸引网民,提高人气的一个重要方式。
通过这次的设计,我们基本明确了聊天室系统从设计到开发的大致流程和重点关注的方向。通过反复的修改,一个简单的聊天室网站已建立,其各部分功能也基本实现。在网站开发成功的同时,由于自身能力和时间的关系,我发现网站有些功能和性能还有待于进一步的完善,像有些功能不够齐全,代码处理上也有待加强。
本设计所设计的网络聊天室是使用的JSP(Java Server Pages)技术实现,其中介绍了本聊天室的各项功能,主要有学生用户注册、在线聊天。通过聊天室系统的设计,熟悉网站建设基本操作。包含网页制作、服务器的建立与管理、数据库建立与使用等。熟悉HTML语言、java程序设、计使用MyEclipse编辑器、Oracle数据库、tomcat应用程序服务器的使用以及一个网站的整体建设等。掌握网站的基本架构、服务器与数据库的连接等,强化自己的基本设计能力。
这次的毕业设计对自己既是一个机遇又是一个挑战。通过这次认真的钻研能是自己的能力得到更好的提高。现在提倡市场经济,工作岗位的竞争激烈,只有掌握好自己的专业技能,提高自己的个人素养,才能昂首面对社会的各种竞争,走出自己的小天地。尽管毕业设计的项目不是很大,但是已经足以让自己学到很多知识,以及为以后走向社会打下了坚实的基础,并让自己大学期间学习的相关专业理论知识和具体的开发工具相结合,理论联系实践,掌握网站的基本架构、服务器与数据库的链接等,强化自己的基本设计能力,做出有实际价值的软件,提高自己的专业素养,做一个对社会有用的人。
参考文献
[1] 杨学瑜,王志军.JSP入门与提高[M].北京:清华大学出版社,2000.7.
[2] 杨珏.JSP网络开发技术[M].北京:清华大学出版社,2001.3.
[3] 张青等. Oracle9i中文版基础教程[M].北京: 清华大学出版社,2003.1.
[4] Wendy Boggs,Michael Boggs.UML与Rational Rose. 2002从入门到精通[M].北京:电子工业出版社,2002.7.
[5] Sun Microsystems.Inc.JavaTM 2 SDK,Standard Edition Documentation Version 1.4.1 [EB/OL].Sun Microsystems.Inc,2002.1.
[6] 软件设计模式.www.itisedu.com/软件设计模式.htm[EB/OL].2004.3.
[7] 许育诚.软件测试与质量管理[D].上海:海事大学,2004.6.
[8] 何川,方兴,齐畅等.JSP编程实践[M].北京: 清华大学出版社,2002.3
[9] 黄理,洪亮等.JSP高级编程[M].北京: 北京希望电子出版社,2000.5
[10] 陈绍英,戴金龙.软件测试案例分析[J].测试员.2005.8.
[11] 计磊,李里,周伟.精通J2EE整合应用案例[M].北京:人民邮电出版社,2007,7.
[12] 孙卫琴.Tomcat与Java Web开发技术详解[M].北京:电子工业出版社,2004.3.
致 谢
毕业设计终于完成了。运行网站,基本上达到了预期的效果,但由于自身能力和时间以及经验匮乏的关系,还是有比较多考虑不周全的地方。本次论文的顺利完成要感谢兰艳老师在设计思路与研究方法以及修改论文过程中的悉心指导和耐心帮助,才使自己的毕业设计才能够顺利完成,如果没有老师的督促指导,不会这么顺利。除了敬佩老师的专业水平外,她的治学严谨和科学研究的精神也是我永远学习的榜样,同时老师她平易近人、和蔼可亲的生活作风也给我留下了深刻的印象,并将积极影响我今后的学习和工作。在此向她致以诚心的谢意和崇高的敬意。通过这次毕业设计,我进一步加深了对基础理论的理解,扩大了专业的知识面,对于搜集资料、查阅文献、方案设定等实践方面得到了锻炼,促进了对所学知识应用能力的提高,同时,发现了问题、分析归纳、及逻辑分析能力得到了很好的提高。同时真诚感谢三年来教授我的老师们,还有那些帮助过我的同学,是他们使我获得了良好的理论知识和实践技能,让我能在面对各种新技术的学习中有个良好的前提和扎实的基础,感谢他们对我的关心、关注和支持!