毕业设计(论文)-基于JAVA EE的留言板系统的设计与实现.doc_第1页
毕业设计(论文)-基于JAVA EE的留言板系统的设计与实现.doc_第2页
毕业设计(论文)-基于JAVA EE的留言板系统的设计与实现.doc_第3页
毕业设计(论文)-基于JAVA EE的留言板系统的设计与实现.doc_第4页
毕业设计(论文)-基于JAVA EE的留言板系统的设计与实现.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中北大学2013毕业设计说明书毕业设计说明书 基于JAVA EE的留言板系统的设计与实现 班 级: 学号: 软件学院楷体姓 名: 软件工程楷体学 院: 专 业: 指导教师: 2013年 6 月基于JAVA EE的留言板系统的设计与实现摘要 如何与别人更好地交流, 是当前人们普遍关心的问题。人们通过网站可以展示产品,发布最新动态,与用户进行交流和沟通,与合作伙伴建立联系,以及开展电子商务等。其中网上聊天系统是构成网站的一个重要组成部分,为人们之间进行交流和联系提供的一个平台。本系统在MyEclipse集成开发环境中使用J2EE技术开发,数据库采用了MySQL5.1,通过MySQL的JDBC驱动包进行数据库存取等操作,使Web聊天室与数据库紧密联系起来。实现了多用户同时在线聊天的功能,本系统可以大大方便不在同一地区的人们之间进行实时的交流。关键词:留言板,J2EE,MyEclipse,MySQL全套设计加扣 3012250582Design and Implementation of Message Board System Based on JAVA EEAbstractHow to communicate better with others is the current widespread concern. Through website people can display products and latest developments, exchange and communication with users, contacts with partners, as well as the development of electronic commerce. The online chat system is one of the most important parts of the website, as a platform for communication and contact between the people. The system uses J2EE technology development in the MyEclipse integrated development environment, database using MySQL5.1, through the MySQL JDBC driver package for database access and other operations, so that Web closely the chat room and the database. Realize the multi-user online chat function, this system can greatly facilitate the real-time communication between people is not in the same area.目录第1章 引 言1.1 项目开发背景随着Internet的普及,越来越多的人们建立了自己的WWW网站,人们通过网站可以展示产品,发布最新动态,与用户进行交流和沟通,与合作伙伴建立联系,以及开展电子商务等。其中留言管理系统是构成网站的一个重要组成部分,它为人们的交流提供了一个平台。网站留言管理方式是基于JSP和脚本语言,将动态网页和数据库结合,通过应用程序来处理留言,这是目前较为流行的做法。1.2 项目开发的目的 网上留言系统是为人们进行交流和联系提供的一个平台。利用现代的网络资源优势和技术优势,通过提供完善的网上留言系统的管理,以达到增进人们与人们之间的信息交流和沟通的目的,并以此加快人们的信息化建设。1.3 项目提出的意义 Internet是目前世界上最大的计算机网络,它遍布全球,将世界各地各种规模的网络连接作为一个整体。作为Internet上一种先进的信息检索方法,容易被人们所接受,万维网(WWW)的发展十分迅速,成为目前世界上最大的信息资源。据估计,互联网网站数以百万计,其内容超出范围的教育和科学研究,文化,金融,商业,新闻出版,娱乐,体育等领域,其用户群十分庞大,因此,建设一个好的网站是一个组织的发展具有重要意义。近年来计算机技术的快速发展,特别是计算机网络的发展,在人们生活的各个方面,越来越深刻的变化。使得人们能以更低廉的价格,开发出更方便,更实用的网络工具。各种在线服务系统,也对人们的联系和交流产生深远的影响,使人们可以在远隔千里之遥随时沟通。旧的联系方式,已经不能满足现代生活。留言板系统是一个实用的系统是消费者和人民之间的一个方便的链接将应运而生。留言板系统是通信和与人接触的平台。通过提供在线信息系统,完善的管理,可人们之间的交流与沟通,提高消费者和消费者。1.4 可行性分析本网站是基于MyEclipse 8.5作为开发工具,基于J2EE技术,在线留言板系统的数据库开发基于MySQL 5.1,对系统的建设具有界面友好,操作方便,方便用户访问在线信息。1. 经济可行性:一些资源的开发成本,使用MyEclipse 8.5 + MySQL服务器可以显著提高开发的效率,因为MySQL数据库是开源的,免费的,这样可以有效的节约成本。此外,由于系统是基于BS结构模型的发展,维护将变得非常容易,只需要在服务器端的一些维修,可以有效地降低维护成本。因此,它在经济上是可行的。 2.技术可行性:运行Windows XP系统的要求,采用MySQL社区Server 5.1为后台数据库,Web服务器可以使用Tomcat 6,网站使用JSP技术结合HTML,JavaScript开发,这在目前是很容易实现的。 第2章 开发工具与技术简介2.1 MyEclipse开发环境简介是对各种开源产品的支持非常好。企业级的工作平台(MyEclipse Enterprise Workbench,简称MyEclipse)是对EclipseIDE的扩展,使用它来开发,我们可以在数据库和应用服务器集成JavaEE和释放,大大提高工作效率。它是一个集成开发环境,功能丰富的JavaEE,包括完整的编码,调试,测试和发布等功能,完全支持继续。Struts,JSP,HTML,CSS,JavaScript,SQL,Hibernate。在结构上,MyEclipse可以分为7类: 1JavaEE模型2WEB开发工具3EJB开发工具4应用程序服务器的连接器5JavaEE项目部署服务6数据库服务7MyEclipse整合帮助 对于这些类型的功能类别,在Eclipse功能部件对应,并通过一系列插件的实现。的是模块化结构,可以让我们在不影响其他模块,分离的扩展和升级到任何模块。简单来说,是一个Eclipse插件MyEclipse,又是一个功能强大的集成开发环境的JavaEE,支持代码,配置,测试和调试,对用MyEclipse6.0以前的版本需要安装Eclipse。myeclipse6.0或以后安装而不需要安装Eclipse。2.2 J2EE概述J2EE 全称是JAVA 2企业级开发,它包括多种基于JAVA的开发技术。如:JSP/Servlet、JDBC、Struts、Hibernate、Spring、JMS、JMX、EJB等,本网站主要使用了JSP和JDBC技术,因此重点介绍这2项技术。2.2.1 JSP介绍JSP(Java Server Pages)是在服务器端编译执行的WEB设计语言,其脚本采用Java技术,完全继承了Java的所有优点。JSP技术为创建显示动态生成内容的WEB页面提供了一个简捷而快速的方法,它能使你将网页的动态部分和静态部分有效分开。2.3 MySQL概述 使用MySQL作为后台数据库,MySQL是中小企业应用软件,它是非常用户友好,使用起来非常方便。自己的企业管理和查询分析器的开发人员和数据库管理的使用提供了极大的方便。此外,与Access数据库,MySQL更安全。MySQL是一个真正的多用户,多线程的SQL数据库服务器,同时是一个分布式数据库管理系统的客户/服务器体系结构。它具有强大的功能,因此,使用简单,管理方便的优点,运行速度快,安全可靠,用户可以使用多种语言访问MySQL数据库的程序,用于小的应用系统,是理想的。除了ANSI SQL标准的声明,更重要的是,它还支持多个平台,在多线程运行模式的软件支持UNIX系统,从而能获得相当好的性能。MySQL性能很高,运行很快,也很容易使用,是一个非常好的数据库。它是目前在世界范围内得到了广泛的应用。2.4 B/S体系结构在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。B/S结构简化了客户机的工作,客户机上只需配置少量的客户端软件。服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生成等工作全部由Web Server完成。实际上B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由Web服务器单独组成一层来负担其任务,这样客户机的压力减轻了,把负荷分配给了Web服务器。这种三层体系结构如图3.1所示。 Browse浏览器Web服务器数据库图2.1 B/S三层架构示意图 这种结构不仅把客户机从沉重的负担和不断对其提高的性能的要求中解放出来,也把技术维护人员从繁重的维护升级工作中解脱出来。由于客户机把事务处理逻辑部分分给了功能服务器,使客户机一下子苗条了许多,不再负责处理复杂计算和数据访问等关键事务,只负责显示部分,所以维护人员不再为程序的维护工作奔波于每个客户机之间,而把主要精力放在功能服务器上程序的更新工作。这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。2.5 开发方案根据实际情况和需要,最终决定采用在Windows 7下使用JSP+MySQL开发,采用B/S结构,使用JDBC连接数据库。这样的好处是:1.使用JSP+MySQL灵活方便,可扩充性、可移植性较好。2.目前使用的JDBC驱动为MySQL官方开发,兼容性好,同时存取效率高,且较成熟,目前许多数据库应用系统都采用这种方式。JDBC是主要数据访问技术,JDBC主要让应用程序或WEB应用程序存取各种不同的数据源。JDBC封装了复杂的接口,以极为简单的API接口存储数据,简化了程序员数据存取的工作。综上所述,本系统的开发采用B/S架构实现。使用MyEclipse实现留言板全部页面的程序开发,提供一个好用的用户界面;用MySQL Community SERVER 5.1实现后台数据库的设计。本系统运行于Apache Tomcat 6.0上,由于MyEclipse 8.5集成开发环境本身就已经集成了Web开发的众多插件,因此使得开发阶段的测试变得十分容易。直接在MyEclipse中以MyEclipse Server Application方式即可运行本网站。 第3章 需求分析与功能设计3.1 需求分析该网上留言板系统的需求分析如下所示:l 用户无需注册即可登录留言板。l 留言板有多个分类,用户可以单击进入自己感兴趣的留言板。l 系统可以监视每个用户的进入和离开(包括异常离开),并且显示相关信息。l 用户可以对所有人或者指定的某一个人发送留言内容。l 用户可以实时查看留言板内的留言内容。l 用户可以离开留言板,或者切换留言板。l 留言文字可以选择不同的颜色。l 管理员可以将不遵守留言板规章的用户踢出留言板。3.2 系统功能层次模块3.2.1模块划分该Web留言板系统主要分为如下几个功能模块,如下所示:l 用户的登录模块:用户需要登录留言板才可以发言和查看留言板的内容;l 留言板分类,可以分为不同的几个留言板,并且显示在线人数;l 留言模块:留言模块提供留言界面供用户输入留言信息,留言文字信息可以选择显示的颜色,可以选择表情,可以指定留言内容发送的对象;l 留言信息显示模块:留言主窗口显示用户的留言内容;l 在线用户显示模块:留言主窗口的右侧显示本留言板当前在线的所有用户。3.3 系统功能结构根据上述分析,可以得出本系统的功能结构图如下图3-1所示:在线留言室系统登录注册模块留言室模块管理员模块数据库管理模块房间列表选择模块留言信息显示模块信息输入模块在线用户列表模块图3-1 系统模块图3.4 系统部署运行环境操作系统:Windows XP或更高版本Windows系统运行环境:Tomcat 6.0或以上版本数据库系统:MySQL 5.1 Community版JDK版本:JDK 1.6或以上版本第4章 数据库设计4.1 数据库需求分析基于Web的留言板网站对数据库的要求不是很高,留言板中一般需要保存的是用户的资料、留言记录和在线用户信息。因此,本系统只有用户、在线用户和留言记录三个实体。对应地,数据库表也只有3张表。4.2 实体关系图(E-R)用户具有用户名、密码、ID、最近登录时间和权限类型5个属性;在线用户有房间名称、用户名、ID号和进入时间;留言记录包括房间号、用户ID、用户名、留言对象名、留言时间、留言内容、是否为私聊、动作表情等属性。三个实体之间的E-R图如下图4-1所示:用户Id号用户名密码最近登录时间是否为管理员留言信息所在房间发表人用户名发表对象用户名发表时间动作和表情留言内容是否悄悄话Id发送在线用户Id用户名所在房间最近留言时间登录M111图4-1 留言用户E-R图4.3 数据库逻辑结构设计该留言板数据库在MySQL Workbench管理工具中创建,其数据库名为chatroom,数据库中有3张表,分别介绍如下:1. userinfo表,保存了用户信息,表结构描述如下表4-1所示:表4-1 留言板用户表字段名数据类型长度含义备注idint4Primary keyAuto_incrementUsernamevarchar45用户名NOT NULLuserpasswordvarchar45密 码NOT NULLlastlogintimeDatetime上次登录时间RoleInt4权限角色1-管理员 0-普通会员2. msginfo表,保存了用户留言内容信息,表结构描述如下表4-2所示:表4-2 留言记录表字段名数据类型长度含义备注idint4Primary keyAuto_incrementChatroomvarchar50用户名NOT NULLMsgfromvarchar50密 码NOT NULLMsgtoVarchar50留言对象chattimeDatetime4发言时间chatactionVarchar50动作和表情msgcontentVarchar200消息内容secretInt权限角色1 悄悄话0 公开默认为03. useronline表,保存了在线用户信息,表结构描述如下表4-3所示:表4-3 在线用户表字段名数据类型长度含义备注idint4Primary keyAuto_incrementchatroomvarchar50留言板房间名NOT NULLUsernamevarchar50用户名NOT NULLlastchattimeDatetime上次登录时间第5章 系统设计与实现5.1 系统模块分析该Web留言板系统从功能实现角度划分,可以分为4个模块: 1.数据库通用管理模块:完成数据库的连接,查询,更新功能封装在JavaBean中(DBConn.java) JSP页面或者其他JavaBean可以通过调用DBConn对象的方法连接操作数据库。2.用户登录注册模块:留言板注册简化,将注册和登录融合一起,第一次登录,如果用户信息表中没有该用户名,即时添加。下次登录可以继续用此用户,登录后用户就会带着自己的登录信息(session),遨游留言板模块。3.留言板模块 先有个房间列表供用户选择,用户选择自己喜欢的房间进入留言板。留言板有个框架里面分为3个部分:输入消息。显示消息。在线用户列表。4.管理员功能模块判断是否为管理员。有个友好的界面。通过点击页面,实现对数据库的删除修改查询。5.2 系统的具体实现5.2.1 注册登录模块本模块实现了用户登录和注册功能,系统自动判别用户名不存在的情况下默认新增该帐号,注册登录模块的前台由如下两个JSP页面构成:login.jsplogincheck.jsp后台业务逻辑层代码为:UserinfoMgr.java:封装了登录检测用户信息和添加用户信息方法的JavaBean方法有check() 、saveToDB()登录模块运行界面如下图5-1所示:5.2.2 留言板选择模块本留言板系统中分为4个留言房间,当用户登入系统时候首先进入该选择界面,用户可以选择某一个留言房间,单击进入留言板按钮即可参加到该留言板的讨论中。运行界面如下图5-2所示:留言板选择模块前台页面由如下2个JSP文件构成:roomlist.jsp 留言板选择页面 roomlistdeal.jsp留言板选择并处理页面5.2.3 留言主界面模块用户进入某个留言板之后,该页面标题显示出留言房间名称,在主界面上分为三个区域,分别是在线用户显示列表区,显示用户呢称。留言内容输入区,可以选择留言对象、动作表情、是否悄悄话、留言文字颜色,输入留言内容单击提交即可发言。同时,在留言区域内,还可以切换留言板。单击离开留言板可以退出讨论。左上方是留言内容显示区域,它使用了定时刷新机制来实现留言内容的实时显示。运行界面如下图5-3所示:留言板主界面是本系统的核心模块,它的具体实现如下:sessioncheck.jsp 检测session信息判断用户是否登录chatframe.jsp 框架 包含 显示 在线列表 输入 三个框架后台业务逻辑层JavaBean有:Msg.java 留言消息封装体UserOnline 在线用户封装体ChatRoomMgr.java 留言板管理l 信息显示模块showmsg.jsp留言信息显示页面getmsg.jsp留言信息加载页面showmsg的任务:1.加载真正得到消息,并实时刷新的页面,实现不闪烁效果。2.确定加载内容的位置getmsg的任务: 1.刷新,JS实现无声音 2.各种操作得到结果 3.在具体位置显示结果l 在线列表模块onlinelist.jsp 在线用户列表页面l 信息输入模块input.jsp信息输入页面sendmsg.jsp信息输入处理logout.jsp 离开房间处理changeroom.jsp 重新选择房间处理5.2.4 系统管理员模块系统管理员登录留言板之后,可以使用留言内容发送窗口中的高级功能。本质上,该功能是实现了对当前留言板用户的管理。管理员可以将某个用户请出留言板。其运行界面如下图5-4所示:管理员模块前台有如下2个JSP页面:maneger.jsp管理员高级页面kick.jsp 踢人功能管理员踢人实现方法如下:manager.jsp先判断是不是管理员,如果不是,提示并退出窗口本页面直接对数据库操作,显示所有在线玩家列表,和最近发言时间checkbox复选框传递用户名names,在kick.jsp中调用ChatRoomMgr 的logout()方法,依次传递namesi就实现批量踢人踢完之后提示,并刷新manager.jsp完成踢人操作 结束语本设计实现了在线留言系统的基本功能,虽然没有华丽的界面,超强的性能,就练手学习而言绰绰有余。通过在线留言板的设计,感觉动手能力增强了很多,JAVA编程能力有了比较大的提升。设计本系统,是对自己专业知识的一次检验,也是一次增强自身综合素质机会。软件工程这门课程将我们从局部的编写程序带入了整体开发软件的阶段,这是对我们知识与能力的一种挑战。本文是软件工程在线留言板系统的开发说明,重点描述运用软件工程知识对系统进行分析、设计和实现的思想,其中包括软件生命周期的三个主要方面:软件定义(问题定义、可行性研究、需求分析)、软件开发(总体设计、详细设计、编码、测试)和运行维护。通过对开发本系统的文档的书写,更进一步学习了软件开发的全过程,把软件工程知识与实际开发软件相结合,规范了实际开发软件程序的全过程,为将来的毕业设计做准备。总之,本次设计锻炼了实践能力,增长了我发现问题、解决问题的能力,大大丰富了自己的专业知识和技能。由于各种原因,系统的功能还没有得到进一步的完善,以后会继续努力,在今后的学习过程中,不断地提

温馨提示

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

评论

0/150

提交评论