首页 基于JavaEE的技术论坛系统的 设计与实现

基于JavaEE的技术论坛系统的 设计与实现

举报
开通vip

基于JavaEE的技术论坛系统的 设计与实现毕业设计说明书 基于JAVAEE技术的网上论坛系统的设计与实现 班    级:            学号:          软件学院 姓    名:                              软件工程 学    院:                              专    业:                              指导教师:                              2013年 6 月 基于JAVAEE技术的网上论坛系统的设计与实现 摘...

基于JavaEE的技术论坛系统的 设计与实现
毕业设计 说明书 房屋状态说明书下载罗氏说明书下载焊机说明书下载罗氏说明书下载GGD说明书下载 基于JAVAEE技术的网上论坛系统的设计与实现 班    级:            学号:          软件学院 姓    名:                              软件工程 学    院:                              专    业:                              指导教师:                              2013年 6 月 基于JAVAEE技术的网上论坛系统的设计与实现 摘要 随着网络在现代社会中的广泛应用及当今社会快节奏的发展,人们越来越需要一个平台来进行分享并交流相应的资讯信息。现在有各种的论坛网站等系统来实现人们的这一需要,获得有益信息并与他人进行交流,以方便个人扩展知识层面。 论文中主要阐述了论坛网站的开发过程。介绍了开发论坛网站的环境及技术,同时详细的叙述了设计的思想及流程,说明了数据库的建立思想以及与程序之间的关联等问题。说明了网站不同功能的实现方法及详细设计过程。 该课题主要的工作是对论坛网站的主要功能进行设计与实现,实现用户浏览帖子,发表及回复论坛帖子的功能以及系统管理员对后台的管理功能,如删除帖子和用户信息,对用户权限的设置。主要作用是通过发表新帖并回复他人帖子来实现信息交流。此文章中首先对整个系统功能进行详细的分析与设计;其次采用SQL Server数据库技术实现对系统中涉及的数据信息进行管理,最后利用SSH框架进一步具体实现论坛网站各项功能,运行调试确保网站的正常工作。 关键词:论坛网站,SSH框架,SQL数据库 Online forum system based on JAVAEE technology in design and implementation Abstract Today the internet maked full use and the fast-paced life,people need a flat to share and communicate the information. Now all kinds of systems like a forum website realize human’s requirements to get the usefull news and exchanging with others and convenienting they expend the knowledge. The thesis expounds how to design a forum website and the process in chief. It introduces the environment for realizing the website , describes the idea and procedures in detail and explains how to establish a data base and the problem of connecting with the program , at the same time , show the way to design and relize of the website. The main work is to design and relize the a forum website's important function , such as browse publish, reply cards in the forum and the function of a system administrator to manage the backstage , like deteling cards and information of users , seting up the right of a user. The principal function of the forum is exchanging important information with the others by publishing and replying the cards.  At first, thesis analyses the demand of users and designs the whole function of the system. Secondly , using the data base technology as SQL relize the manage of the data. At last, making use of the SSH technology relize the function of the forum in detail and take advantage of the tomcat as the server to movethe system .  Moving and debugging to make the system work. Keyword:Forum website,SSH technology,SQL Database 目录 1 引言    1 1.1 总体设计    1 1.2 开发背景    1 1.3 课题研究的目的与意义    3 1.4 研究内容    3 2 系统分析    5 2.1 技术可行性分析    5 2.1.1 开发语言综述    5 2.1.2 SQL SERVER 数据库的选用    6 2.1.3 S.S.H框架的优点    7 2.1.4 B/S结构    7 2.2 系统开发    8 2.2.1 开发工具与运行环境    8 2.2.2 系统功能概述    9 3 系统需求分析    10 3.1 系统功能概述    10 3.1.1 系统功能需求    10 3.1.2 用例分析    10 3.1.3 系统活动分析    12 3.2 系统性能要求    14 3.2.1 系统灵活性    14 3.2.2 输入输出要求    14 3.2.3 数据管理能力要求    14 3.3  可行性分析    15 3.3.1  社会可行性    15 3.3.2  技术可行性    15 3.3.3 操作可行性    16 4 总体设计    17 4.1系统机构设计    17 4.2功能设计    17 4.3数据库设计    18 4.4 系统界面设计    21 5 系统的设计与实现    23 5.1前台管理模块实现    23 5.1.1 用户注册登录    23 5.1.2 用户发帖回帖    27 5.1.3 用户上传下载资料    30 5.2 后台管理模块实现    33 5.2.1 后台登录功能    33 5.2.2论坛分类管理    35 5.2.3 用户权限管理    37 5.2.4论坛帖子管理    39 5.2.5密码修改    40 6 系统测试    42 6.1 测试概述    42 6.1.1 软件测试的目的    42 6.1.2 软件测试的任务    42 6.1.3 测试环境    42 6.2 单元测试    43 6.2.1 黑盒测试    43 6.2.2 白盒测试    43 6.2.3 模块接口测试    43 6.3 系统测试综述    44 7 结论    45 参考文献    46 致  谢    47 1 引言 1.1 总体设计 进入二十一世纪,计算机技术迅速向着网络化、集成化方向发展。传统的单机版应用软件正在逐渐退出舞台,取而代之的是支持网络、支持多种数据信息(多媒体)的新一代网络版应用软件,而目前网络版软件中似乎存在着两种不同的趋势,一种是称为客户端——服务器的C/S结构,这类软件具有结构严谨,运行效率高,服务器端压力小,安全性好等优点,被广泛运用于局域网中【1】。而另一种,也是本毕业设计所采用的,是称为浏览器——服务器的B/S结构,它的特点是在客户端直接采用了功能强大的浏览器软件作为界面,其优点在于软件开发效率高,客户端不受操作平台的限制、也不受地域的限制,网络传输量少,即适用于局域网,更适用于Internet,而且投资小、见效快,用户可以不必进行服务器方面的投资,而是去租用,甚至是免费使用ISP的服务器资源,因而受到越来越多中小型单位的青睐【2】。 随着Internet技术的不断发展,以及用户群爆炸性地增长,网络不再仅仅是信息的被动获取来源,更成为人们探讨间题、交换观点的场所,其中,网上论坛扮演了极其重要的角色,随着时间的推移,论坛站点中积存了丰富的信息资源,不但有各类技术资料和新闻文档,还包含着用户的判断和评论,论坛站点己成为Web信息库的重要组成部分,自网上论坛诞生20多年以来,随着Web技术的发展,己经由原来简单的电子公告板系统发展为功能丰富的网上论坛和虚拟社区模式【3】。各种论坛随着网络迅速发展,几乎充实着生活工作的每一个方面,无论是商界、政界,还是娱乐界,都有各种论坛。互联网正在融入我们的生活,网络提供给我们的不只是一个获取信息的来源,而且还是一个可以相互交流的空间,网上论坛正是一种供人们进行交流的网络空间, 影响和改变着我们的生活。 1.2 开发背景 1978年在美国芝加哥开发出一套基于8080芯片的CBBS/Chicago (Computerized Bulletin Board System/Chicago),此乃最早的一套BBS系统。之后随着苹果机的问世,开发出基于苹果机的Bulletin Board System和大众信息系统(Peoples Message System)2种BBS系统。1981年IBM个人计算机诞生时,并没有自己的BBS系统。直到1982年,Buss Lane 才用Basic语言为IBM个人计算机编写了一个原型程序。其后经过几番增修,终于在1983年通过Capital PC User Group(CPCUG)的Communication Special Interest Group会员的努力,改写出了个人计算机系统的BBS。经Thomas Mach整理后,终于完成了个人计算机的第1版BBS系统——RBBS-PC。这套BBS系统的最大特色是其源程序全部公开,有利于日后的修改和维护,因此后来在开发其他的BBS系统时都以此为框架,所以RBBS-PC赢得了BBS鼻祖的美称。 大约是从1991年开始,国内开始了第一个BBS站。经过长时间的发展,直到1995年,随着计算机及其外设的大幅降价,BBS才逐渐被人们所认识。1996年更是以惊人的速度发展起来。国内的BBS站,按其性质划分,可以分为2种:一种是商业BBS站,如新华龙讯网;另一种是业余BBS站,如天堂资讯站。由于使用商业BBS站要交纳一笔费用,而商业站所能提供的服务与业余站相比,并没有什么优势,所以其用户数量不多。多数业余BBS站的站长,基于个人关系,每天都互相交换电子邮件,渐渐地形成了一个全国性的电子邮件网络China FidoNet(中国惠多网)。于是,各地的用户都可以通过本地的业余BBS站与远在异地的网友互通信息。这种跨地域电子邮件交流正是商业站无法与业余站相抗衡的根本因素。由于业余BBS站拥有这种优势,所以使用者都更乐意加入【4】。这里“业余”2字,并不是代表这种类型的BBS站的服务和技术水平是业余的,而是指这类BBS站的性质。一般BBS站都是由志愿者开发的。他们付出的不仅是金钱,更多的是精力。其目的是为了推动中国计算机网络的健康发展,提高广大计算机用户的应用水平国内的BBS站,大多数还是大型综合性BBS站。随着计算机的普及,特别是宽带的普及,BBS的活动将会进一步高涨。但是,随之而来对专注于领域方面的BBS将会慢慢增加需求。尽管BBS站台的数量在不断增长,但BBS的发展过程,也出现了一些问题。由于国内使用的BBS架站软件,都是从国外引进的,因此没有必要的中文说明。虽然一些热心的站长翻译了一些资料,但是仅靠这些是远远不够的。另外,有些站台的设立是相互抄袭,所以在结构上难免有雷同之处【5】。 而国内自己开发的BBS基本上都是处于最原始的JSP MODEL1模式, 这种模式是控制层与表示层合二为一,虽然开发简单,但是拥有很差的扩展性,可维护性,这样极大的限制了BBS站点的扩展,于是在这种情况下,本文提出了目前比较流行的,基于MVC模式的SSH框架(Sturts+Spring+hibernate)的BBS论坛,本套论坛的优点在于它具有强大的可扩展性和可维护性,非常适合网民创建自己的中小型BBS论坛。 1.3 课题研究的目的与意义 随着计算机技术的不断发展与提高,人们深刻的认识到了其强大的功能及在现代社会中的各个领域发挥着无可替代的重要的作用。其中计算机网络技术更是得到了充分的应用,然而在网站设计中Web数据库技术已然成为最为广泛应用的网站架构的基础技术,网络提供了用户与用户之间通信交流的有效手段。 由于网络具有传播信息容量大,形态多样,迅速方便且自由交互的特点,其已发展成为新的传播媒体及交互平台。目前就有很多不同形式的论坛提供人们共享资讯。构建一个交流平台通过互联网使用户和用户之间可以进行交流,分享各种信息;同时也可以通过网络提出所遇到的各种问题等待他人的解答,并彼此认识,交流扩大知识【6】。 设计实现网上论坛系统的主要意义在于:本文提出了目前比较流行的,基于MVC模式的SSH框架(Sturts+Spring+hibernate)的BBS论坛,本套论坛的优点在于它具有强大的可扩展性和可维护性,非常适合网民创建自己的中小型BBS论坛。 通过数据库与Web服务器连接来对网站数据进行管理,掌握不同环境的关联与应用,随着网络的发展及人们对知识信息的需求不断提升,网络已成为不可忽视的资讯来源,而论坛网站便能满足这个要求【7】。 1.4 研究内容 要求达到的目标是能够普通用户的注册登录,并在论坛网站中自由发表新帖及浏览回复他人发表的帖子;管理员对论坛帖子信息、主题信息、用户信息及权限的管理。课题主要研究并实现的内容有如下几方面: 1、数据存储与数据库描述 由于论坛需要储存用户及其所发帖子的相关信息,而在论坛运行过程中这类相关数据量会逐渐增大,因此要依据数据库来实现对这些数据的存储和管理。 通常,用户要存有其注册时的ID,用户名,密码等个人信息,以方便网站的管理。同时,论坛中的主题及帖子同样需要相应的信息数据,以方便其分类与管理。 根据上述分析,系统数据库中的主要表及其关系如下: 会员信息表(用户ID,用户名,密码,姓名,性别,年龄…) 帖子主题表(用户ID,标题,内容,上传的附件,…) 帖子回复表(用户ID,内容,…) 管理员表(管理员ID,用户名,密码,…) 主表中用户的ID属性为主键 2、用户在网站中进行的活动 这是课题的重点工作,涉及到如下内容: ①普通用户操作 用户可在网站中感兴趣的主题发表新帖来表达自己的观点,并通过回帖与他人进行交流,也可浏览新闻区的帖子。 在此主要涉及的问题是用户与用户之间发帖进行信息交互,准确显示出用户所表示的帖子内容。 ②管理员操作 对于一个论坛网站系统来说,用户之间通过发帖及回帖该进行交流,必然要有管理员对帖子进行管理,对不 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 的帖子进行删除,某些用户信息的注销及权限的设置。 ③后台操作 管理员对于网站本身所要进行的各种后台操作,包括对于主题的添加,删除。 2 系统分析 2.1 技术可行性分析 2.1.1 开发语言综述 本系统是基于面向对象思想的JAVA语言中J2EE平台进行编写,J2EE平台具有以下优点 1.简化结构:J2EE平台支持简化的、基于组件开发模型,由于J2EE基于Java编程语言和J2SE平台,它提供了编写一次,随处运行的可移植性,遵循J2EE 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 的所有服务器都支持该模型。EJB组件使编写应用程序更为简单。尽管EJB体系结构复杂,但应用程序开发人员一般都必再编写访问系统服务的代码,EJB容器会实现系统级的服务,例如,事务、安全性等。另外,J2EE还支持异构环境。基于J2EE的应用程序不依赖任何特定操作系统、中间件或硬件,因此,设计合理的基于J2EE的程序只需开发一次就可以部署到各种平台,这在典型的异构企业算环境中是十分关键的。J2EE标准还允许客户订购与J2EE兼容的第三方的现成组件,把其部署到异构环境中,节省了由自己制订整个 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 所需的费用【8】。 2. 提高开发效率:由于组件技术的使用,可以按照开发人员的技能对应用程序开发进行分工,并行开发,提供整体开发效率。例如:图形设计师创建JSP模板,商业逻辑由该领域的专家完成,JSP页面和EJB由Java工程师完成,应用程序的装配和部署由团队中其他的成员完成,其中许多工作可以同时进行,有助于加速应用程序的开发。 3.可移植性强:除了Java语言固有的可移植性外,EJB体系结构在Bean和支持该Bean的容器之间提供了一套标准化的应用程序编程接口,这使开发人员能够将Bean从一种操作环境移植到另一种操作环境,而无需重新编写其源代码。 4.重用性好:由于在EJB模型中,各个软件组件都是严格分离的,因此,可以从现有的软件组件装配出服务器端应用程序,这与从现有的JavaBean可以装配出客户端应用程序一样,使软件能够重用。 5.易于维护:基于组件的设计简化了应用程序的维护。由于组件可以被独立地更新和替代,通过更新应用程序中特定的组件,新的功能可以被很容易地增加。 6.可伸缩性:企业必须要选择一种服务器端平台,以便满足那些在它们系统上进行商业动作大批新客户。基于J2EE平台的应用程序可被部署到各种操作系统上,例如,可被部署到高端UNIX或其他的大型机系统上。J2EE领域的供应商提供了更为广泛的负载平衡策略,能消除系统中的瓶颈,允许多台服务器集成部署,实现可高度伸缩的系统,满足未来商业应用的需要。 7.被广泛接受:主要的IT供应用商都采纳EJB体系结构,不同供应商的产品只要符合EJB体系结构,就都是可互操作的【9】。 2.1.2 SQL SERVER 数据库的选用 数据库是数据库应用程序的重要组成部分,设计结构合理,功能齐全的数据库对于提高数据库应用的开发效率和程序的性能都是非常重要的。因为数据库的影响深远,不但对系统设计者有着极大的影响,而且也可能会在今后的应用过程中造成不可挽回的损失,数据的正确关系到整个系统正常运作,也是系统能够正常工作的前提条件。所以在设计过程中不但要把所必需的数据字段加到数据库中,而且要加入一些可以方便控制数据库的字段,来增加数据库的完整性和安全性。数据库的设计通常是以一个已经存在的数据库管理系统为基础的,常用的数据库管理系同Access, SQL Server, Oracle等。根据用户需求和业务流程,本系统采用了SQL Sever 2005数据库【10】。 对拟开发系统选用SQL Server 2005作为后台数据库。数据库是信息管理系统的后台,存储着所有的信息,在信息管理系统中有着很重要的地位。数据库设计的好坏,直接影响到这个系统的运行效率。良好的数据库设计,可以提高数据信息的存储效率保证数据信息的完整性和一致性。 SQL Server 2005是一个中、小型数据库管理系统,使用方便、功能强大,与其它数据库有良好的接口。通过SQL Server 2005功能强大的工具,用户可以方便的使用和管理数据库,如创建和编辑数据表、设计和使用各种查询工具进行查询操作、设计和使用窗体、制作和打印报表、设计和使用宏、设计和使用Web页等。还可使用VBA(Visual Basic for Application)开发高级应用程序。SQL Sever 2005具有完整的数据库应用开发工具,用户可以方便的设计、修改、浏览一个记录数据的基本表;可以在表数据中进行各种筛选和查询操作;可以设计和使用各种窗体以实现数据显示和操作;可以根据表数据设计打印各种报表;可以设计和使用宏,对表进行一系列特定的操作。SQL Server 2005内有强大的操作向导,为用户提供了丰富的数据库基本表模板。用户只需简单的操作就可建立数据库中所使用的各种基本表、窗体和报表。在SQL Server 2005中,可以设定、修改基本表之间的关联,从而实现在多个相关表之间的关系查询。SQL Server 2005中的宏可以实现操作的自动化,使操作更加简单、快捷。SQL Server 2005增强了网络功能,用户可以轻松自如地完成网页发布等。SQL Server 2005不仅可以处理自身的数据库文件,还可以处理其它一些数据库系统管理软件所建立的数据库文件,能识别DBase、FoxBase、FoxPro、Paradox、Btrieve等数据库格式文件,并且支持开放式数据库互连性标准(ODBC)的SQL。SQL Server 2005能与工作站、数据库服务器或主机上的各种数据库互相连接,并可用于建立客户/服务器应用程序中的工作站部分【11】。 与其它的关系型数据库管理系统相比,SQL Server 2005具有以下优点: (1)存储文件单一。 (2)支持长文件名,并可以在文件名内加空格,使文件便于理解、查找。具有强大的网络功能,可通过网络传送数据。 (3)使用简便,用户无需了解编程语言,便可轻松地设计开发数据库程序。 (4)可以处理多种数据信息,如文本文件和其它数据库文件。 2.1.3 S.S.H框架的优点 SSH框架是J2EE应用中struts+spring+hibernate三大免费开源框架的结合使用, 它可以看成工具,也是中间件。他是用来提高我们的开发效率,提高我们软件产品的可维护性、可扩展性乃至敏捷性的。他们里面有很多优秀的设计理念及模式应用。比如,struts属于MVC框架,关键是要了解MVC的概念及大致原理;而hibernate属于ORM系统,属于持久层的解决方案,同样需要对ORM的概念及原理有一个总体的了解。而spring属于应用程序框架,其核心是IOC容器以及AOP, spring中还集成了很多适用东西,比如对JDBC的封装、自己的MVC、对动态语言的简洁访问等。 2.1.4 B/S结构 B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server 同数据库进行数据交互。其大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)【13】。 B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展性非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。 2.2 系统开发 2.2.1 开发工具与运行环境 1、开发工具 根据整个系统的开发 计划 项目进度计划表范例计划下载计划下载计划下载课程教学计划下载 ,采用的开发工具是MyEclipse ,并采用Java语言进行动态网站开发。 MyEclipse是一个开放的源代码,基于Java可扩张的开发平台,多数人都是将MyEclipse作为Java集成开发环境使用,虽然MyEclipse使用Java开发,但MyEclipse不仅仅局限于Java开发,还可用于其它语言开发,如C/C++;MyEclipse是一个框架和一组服务,它通过各种插件来构建开发的环境,因此只要提供支持C/C++插件便能进行相应的语言开发。 MyEclipse是一个IDE(Integrated Developing Environment),而这个IDE可以允许安装第三方开发的插件来使自身的功能得到扩展和增强,而MyEclipse就是其中一种有名的插件集之一,MyEclipse将开发者常用到的一些有用的插件都集合起来,但它是收费的。 MyEclipse最早是由IBM开发的,后来IBM将MyEclipse作为一个开发的源代码项目,献给了开源组织MyEclipse.org,但仍由IBM的子公司OTI(主要从事MyEclipse开发的人员继续MyEclipse的开发。 MyEclipse为MyEclipse提供一个大量私有和开源Java工具的集合,这解决了各种开源工具不一致的缺点。NitroX是一个繁杂而强大,加速Java Web应用开发的工具,还包含了一个强大且能够编译所有的JSP和Struts Web应用的具AppXray。这些工具解析Java和XML配置文件【14】。 MyEclipse实际价值来来自包含的发布包中的大量工具。如CCS/JS/HTML的编辑器,帮助创建EJB和Struts项目的向导并产生了项目的所有主要的组件如action/seesion bean/form等。还包含编辑Hibernate配置的文件和执行SQL语句的工具。 2、运行环境 ①软件环境 本系统运行在Windows系列的操作系统上。 ②硬件环境 对硬件环境无具体要求。 2.2.2 系统功能概述 本系统是一套网上交流的BBS软件,根据用户的需要和实际的管理条件,应由前台功能实现和后台管理等几个模块所构成,用户可以注册的,可以对帖子进行特定的操作,而管理员可以对用户和帖子进行相关的管理。 3 系统需求分析 需求分析是指理解用户需求,就软件功能与客户达成一致,需求分析的任务就是解决“做什么”的问题,就是要全面地理解用户的各项要求,并准确地表达所接受的用户需求,具有决策性、方向性、策略性的作用。 3.1 系统功能概述 本系统最基本的功能是发布帖子,其次是其他人员根据帖子发表自己的看法。此外,为了记录主题的发表者和回复者信息,系统还需要提供用户注册和登陆的功能。只有注册的用户登陆后才能够发表和回复主题,浏览者即游客只能浏览主题信息。根据用户的需求和上面的分析,论坛需要具备以下功能:显示各论坛类别及版面、查看版面下所有根帖、查看自己发表的帖子、查看根帖内容、用户注册、用户登录、发表帖子、回复帖子、进入后台、论坛类别管理、版面管理和用户管理。 3.1.1 系统功能需求 1、用户注册登陆功能,是针对服务器判定为游客身份的用户可以使用的功能。 2、基本帖子操作功能,基本帖子操作功能包括浏览帖子、发表帖子、和回复帖子。 3、论坛管理功能,这个功能主要是针对论坛的管理人员,如管理员,这个功能所包含的内容有修改版面信息、修改类别信息、删除主题、删除回帖和删除用户。 3.1.2 用例分析 UML提供了用例图用于了解用户需求,用例图强调系统的整体性,强调系统外在的功能,强调系统对使用者有什么帮助和好处,强调系统与外部的交互,本文中采用用例技术进行需求分析的获取和分析。为了能够正确的找出系统的用例,需要确定系统的边界,找出系统的执行者。用例图图符如下表3.1所示: 表3.1 用例图图符 可视化图符 名称 描述 系统 系统边界,用例放其中 用例 用例图中的用例   执行者 描述与系统功能有关的外部实体,可以是用户,也可以是外部系统 关联 连接执行者和用例 1、系统边界:通过以上功能需求分析可知,系统边界为计算机系统和数据库服务器之间。 2、系统执行者:注册用户、管理员、后台管理员 3、用例:浏览帖子、用户注册、用户登录、发表帖子、回复帖子、进入后台、论坛类别管理、版面管理和用户管理等等,本系统的主要用例图如图3.1-3.3所示。 图3.1 普通用户用例图        图3.2 管理员用例图 图3.3 后台管理员用例图 3.1.3 系统活动分析 活动图是阐明了业务用例实现的工作流程。业务用例工作流程说明了业务为向所服务的业务主角提供其所需的价值而必须完成的工作。业务用例由一系列活动组成,它们共同为业务主角生成某些工件。工作流程通常包括一个基本工作流程和一个或多个备选工作流程。网上论坛系统工作流程的结构如图3.4、3.5所示。 图3.4 前台活动图 图3.5 后台活动图 3.2 系统性能要求 对系统性能的要求包括对系统时间规定,灵活性,输入输出,数据管理能力,故障处理要求和运行环境规定等的要求。 3.2.1 系统灵活性 说明对该网站的灵活性的要求,即当需求发生某些变化时,该软件对这些变化的适应能力如: 1、操作方式通俗易懂、容易上手,界面美观、大方,将Web程序转为控制台应用程序,符合用户操作习惯。 2、本网站可以运行在IE8以上的所有版本; 3、一个模块的改变不会影响其他的模块。 3.2.2 输入输出要求 能够对不完整的数据进行校验,保证数据的完整性和一致性,对特殊字符的过滤功能,输出能满足用户的需求。 3.2.3 数据管理能力要求 本网站采用的是SQL Server 2005数据库。具有较强的数据处理能力,数据库引擎增强、分析服务增强等。记录的个数随用户多少不定,数据及其分量的存储量为10G,但能保证注册的用户都能登录进来,没有延时。 3.3  可行性分析 可行性分析是依据初步调查的结果做出系统开发可行与否的结论过程。任何一个工程的立项都需要进行项目的可行性分析。这是保证正确投资的必要工作,从项目的审批程序上看这也是必不可少的一步。信息系统开发项目是一项复杂的高科技系统工程,可行性分析也是必不可少的,可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决、是否值得去解决。根据调查分析,系统设计方案有以下三个可行性。 3.3.1  社会可行性 当前社会是一个网络化的社会,网络就在人们周围无处不在,人们从网络上获取并发布信息,而本系统正是应这一需求而产生,为企业,个人发布,获取有价值的信息提供场所。所以本系统具有社会可行性。 3.3.2  技术可行性 首先现在系统开发方法已经发展成熟,结构化、面向对象,都已经广泛使用,这使得系统开发的系统调查、系统分析、系统设计、系统实施更加规范,系统完成的更加科学。系统开发所需的硬件技术、软件开发技术、网络技术发展的非常成熟。 其次网络论坛系统有以下特点:一是数据量大,要求及时查询的内容较多;二是数据处理较集中,内部数据处理量大,输出量大。三是即时处理,要不断更新最新的数据信息。基于以上三个特点,现有技术都可以达到要求的目标。在单机环境下组建管理信息系统,该系统的开发工作可以采用JSP做前台,SQL Server 2005做后台来进行。前台可视化程度较高,人机交互能力较强,应用起来也较方便、直观,后台数据库功能强大,且更好的支持运行的系统【15】。 因此本系统采用三层结构,用SQL Server 2005数据库作为后台数据库,安装和使用简单易学,方便操作;前台页面采用JSP动态页面,JSP相比ASP、PHP都有很大的优势;控制层采用SSH框架。服务器采用Tomcat服务器,它是一个开源软件。开发人员在学习了这些语言或工具之后,有能力开发本系统。 3.3.3 操作可行性 本系统要求运行环境不高,可以在Windows 8操作系统平台上运行,数据库服务器为Microsoft SQL Server 2005,开发工具采用的MyEclipse。界面美观、易懂、容易操作、功能齐全,方便用户之间信息交流【16】。 综上所述,从经济、技术、操作可行性上来说,系统开发是完全可行的。 4 总体设计 4.1系统机构设计 本论坛网站实现用户的注册登录,浏览、发表、回复及删除帖子;网站管理员对帖子信息及用户信息和权限的管理,对主题板块的添加。论坛可提供用户与用户之间进行信息咨询的分享与交流,主要功能模块图如图4.1所示。 管理员管理 图4.1 论坛网站系统结构图 系统的总体设计思路是在网络中运行此论坛网站用户进行注册并登陆论坛,系统对用户进行权限的验证。根据用户需求,论坛主要提供用户一个信息的交流平台,通过在网站中发表回复帖子来实现用户间的资讯交流,并可对文件等资料进行传载来分享资源。 为了便于论坛更好的运行,管理员可对用户信息及帖子信息进行管理;同样为了更方便用户之间的交流,管理员也可对主题进行管理,对新闻进行录入。 4.2功能设计 系统主要分为前台和后台两个管理模块,而其中包括的主要的功能分别是:用户注册登陆、用户发帖回帖、用户传载资料、论坛分类管理、论坛帖子管理等功能。 (1)用户注册登陆:该功能主要实现普通用户的注册登陆的功能。注册时用户填入具体的地址邮箱及电话等信息,并将注册时所填信息录入数据库保存以便管理用户信息。注册成功后用户便可登录系统并在论坛中进行相应操作。 (2)用户发帖回帖:该功能用户可在论坛中通过发帖回帖与他人进行交流。注册账号并登陆,可以浏览论坛中新闻版块及其他用户发表的帖子,并可在个人感兴趣的主题中通过发帖来表达自己的观点想法或回复他人所发的帖子来交流经验并分享信息,以扩充知识并能结交朋友。 (3)用户传载资料:该功能可在用户发帖是实现,当用户有好的资料后信息想与大家分享时,便在论坛中发帖并应用此功能上传文件,将其分享给论坛中的其他用户。其他用户也可通过回帖来发表个人对于所分享资料的感想,以此是用户间更好的共享有益资源并进行相应的交流。 (4)论坛分类管理:此功能在论坛后台管理中实现,主要为论坛主题界面的分类进行管理。论坛中为了方便管理及用户之间可以更好的交流,不同种类的帖子应有相应的主题板块来进行管理。这样方便用户快速的找到自己想要了解的相关信息。 4.3数据库设计 为了论坛网站更好的进行和管理,需要记录注册用户以及其所发帖子等数据信息。所以需要建立数据库来储存相关的信息,所建数据库中各表信息如下: 用于储存用户的数据信息的表t_user,其中要对用户注册时所用的ID设为主键,由此属性项将表4.1中的用户与表4.2中存储的所发的帖子的数据信息进行关联。其中还记录了用户名,密码以便用户登陆网站,以及姓名,性别,年龄等个人信息。 每个所发表的新帖同样需要记录相关信息,如标题,内容用所发的用户等数据,由于论坛支持文件的传载,则在存储主题信息的表4.3中要此属性项以便实现此功能。且每个主题模块会有不同的帖子,而所发新帖子是存在于哪个主题模块中也是要记录的信息,这样有助于对网站进行管理。 表4.4中储存论坛管理员的相关信息,如用户名,密码等。此模块中的帖子信息由管理员登陆并进入后台后录入所存信息如表4.5中所示。系统E-R如图4.2所示。 表4.1 会员信息表t_user 字段名 类型 长度 主键 NULL ID INT Yes No LOGINNAME VARCHAR 50 No Yes LOGINPW VARCHAR 50 No Yes NAME VARCHAR 50 No Yes SEX VARCHAR 2 No Yes AGE VARCHAR 2 No Yes ADDRESS VARCHAR 50 No Yes TEL VARCHAR 50 No Yes EMAIL VARCHAR 50 No Yes QQ VARCHAR 50 No Yes 表4.2  帖子回复表t_huifu 字段名 类型 长度 主键 NULL ID INT Yes No TITLE VARCHAR 20 No No CONTETN VARCHAR 50 No No SHIJIAN VARCHAR 50 No No USER_ID INT No No ZHUTI_ID INT No No 表4.3  帖子主题表t_zhuti 字段名 类型 长度 主键 NULL ID INT Yes No TITLE VARCHAR 50 No No CONTENT VARCHAR 50 No No FUJIAN VARCHAR 50 No No YUANSHIMING VARCHAR 50 No No SHIJIAN VARCHAR 50 No No USER_ID INT No No CATELOG_ID INT No No 表4.4  管理员表t_admin 字段名 类型 长度 主键 NULL USER_ID INT Yes No USER_NAME VARCHAR 50 No Yes USER_PW VARCHAR 50 No Yes 表4.5  论坛类别表t_catelog 字段名 类型 长度 主键 NULL ID INT Yes No NAME NAME 50 No Yes JIESHAO VARCHAR 500 No No 图4.2 E-R图 4.4 系统界面设计    图4.3 论坛登录界面 图4.4 论坛回复界面 图4.5 论坛后台登录界面 图4.6 论坛后台界面 5 系统的设计与实现 5.1前台管理模块实现 5.1.1 用户注册登录 1、功能描述 前台管理主要实现用户在论坛中所要进行的基本操作,其中主要包括用户注册登陆、用户发帖回帖及资料的传载等功能。而这里主要介绍用户注册登陆功能的实现。实现用户在网站注册新的账户,注册成功后用户可登陆到论坛网站中并在论坛中进行相应操作,界面如图5.1所示。 图5.1 论坛系统登录界面 2、程序实现 在程序userLogin.jsp中的代码段实现用户的登陆操作,用SQL语言对数据库中t_user表中存储的用户数据进行检索,验证所输入的用户名,密码是否在数据库中存在,若存在则验证其是否正确。实现代码如下: public String userReg()     {         TUser user=new TUser();                 user.setLoginname(loginname);         user.setLoginpw(loginpw);         user.setName(name);         user.setSex(sex);         user.setAge(age);         user.setAddress(address);         user.setTel(tel);         user.setEmail(email);         user.setQq(qq);         user.setType(1);         user.setDel("no");         userDAO.save(user);     Maprequest=(Map)ServletActionContext.getContext().get("request");         request.put("msg", "注册成功,请登录");         return "msg";     }         public String userLogout()     {         HttpServletRequest request=ServletActionContext.getRequest();         request.getSession().setAttribute("userType", null);         request.getSession().setAttribute("user", null);         this.setMessage("安全退出");         this.setPath("/qiantai/default.jsp");         return "succeed";     }         public String userMana()     {         String sql="from TUser where del='no' and type=1";         List userList=userDAO.getHibernateTemplate().find(sql);     Maprequest=(Map)ServletActionContext.getContext().get("request");         request.put("userList", userList);         return ActionSupport.SUCCESS;     }         public String userDel()     {         TUser user=userDAO.findById(id);         user.setDel("yes");         userDAO.attachDirty(user);         this.setMessage("操作成功");         this.setPath("userMana.action");         return "succeed";     }            3、流程图 结束 图5.2 注册流程图 结束 图5.3 登录程序流程图 5.1.2 用户发帖回帖 1、功能描述 该功能主要包括两个操作分别为:用户发表新的帖子,回复他人发表的帖子。通过这两个操作实现用户之间的交流及分享信息,界面如图5.4、5.5所示。 用户登录论坛后,可在相应的主题模块中发表帖子来与其他用户进行交流,也可对别人发表的帖子个人感兴趣的帖子进行回复来发表自己的观点。 图5.4 用户发表新帖界面 图5.5 论坛网站用户回帖界面 2、程序实现 在程序zhutiAdd.jsp实现发贴回帖等操作的一些前期准备,如参数的定义并将数据库中数据与程序中的参数相关联。 用myelcipse新建回复帖子的jsp页面huifuAdd.jsp,设置页面的编码格式为urf-8,编写表单form
,输入html控件text,一个是标题text。一个是内容text,然后是提交表单的submit控件 实现代码如下: public String zhutiAdd()     {         TZhuti zhuti=new TZhuti();         zhuti.setTitle(title);         zhuti.setContent(content);         zhuti.setFujian(fujian);         zhuti.setFujianYuanshiming(fujianYuanshiming);         zhuti.setShijian(new SimpleDateFormat("yyyy-MM-dd").format(new Date()) );         zhuti.setUserId(userId);         zhuti.setCatelogId(catelogId);         zhuti.setDel("no");         zhutiDAO.save(zhuti);         HttpServletRequest req=ServletActionContext.getRequest();         req.setAttribute("msg", "发帖成功");         return "msg";     }         public String zhutiDel()     {         TZhuti zhuti=zhutiDAO.findById(id);         zhuti.setDel("yes");         zhutiDAO.attachDirty(zhuti);         HttpServletRequest req=ServletActionContext.getRequest();         req.setAttribute("msg", "成功删除");         return "msg";     }         public String zhutiDetail()     {         TZhuti zhuti=zhutiDAO.findById(id);         zhuti.setUser(userDAO.findById(zhuti.getUserId()));         String sql="from THuifu where del='no' and zhutiId=?";         Object[] c={zhuti.getId()};         List huifuList=huifuDAO.getHibernateTemplate().find(sql,c);         for(int i=0;i,输入html控件text,一个是标题text。一个是内容text,然后是提交表单的submit控件。再在upload.jsp中由form构建表单框架,用java script语言嵌入到发表帖子的html中,实现发帖时可进行文件上传此功能。定义变量使其与数据库中的数据关联。 实现代码如下: public String upload()     {         StringnewFujianName=new Date().getTime()+fujianFileName.substring(fujianFileName.indexOf("."));         StringdstPath=ServletActionContext.getServletContext().getRealPath("upload")+ "\\" + newFujianName;         File dstFile = new File(dstPath);         copy(this.getFujian(),dstFile);         Map request=(Map)ServletActionContext.getContext().get("request");         request.put("newFujianName", newFujianName);         request.put("oldFujianName", fujianFileName);         request.put("fujianPath", "/upload"+ "/" + newFujianName);         return ActionSupport.SUCCESS;     }         private static void copy(File src, File dst)     {         InputStream in = null;         OutputStream out = null;         try         {             in = new BufferedInputStream(new FileInputStream(src), BUFFER_SIZE);             out = new BufferedOutputStream(new FileOutputStream(dst),BUFFER_SIZE);             byte[] buffer = new byte[BUFFER_SIZE];             int len = 0;             while ((len = in.read(buffer)) > 0)             {                 out.write(buffer, 0, len);             }         }         catch (Exception e)         {             e.printStackTrace();         }         finally         {             if (null != in)             {                 try                 {                     in.close();                 }                 catch (IOException e)                 {                     e.printStackTrace();                 }             }             if (null != out)             {                 try                 {                     out.close();                 }                 catch (IOException e)                 {                     e.printStackTrace();                 }             }         }     } 5.2 后台管理模块实现 5.2.1 后台登录功能 1、功能描述 后台管理主要实现管理员对论坛中用户用帖子信息的管理,其中主要包括论坛分类管理、论坛管理员管理等功能。即管理员用户登陆论坛后进入可后台进行用户信息、帖子信息及主题版块设置的管理,界面如图5.9所示。 图5.9 后台界面 2、程序实现 在程序login.jsp搭建管理员的框架并实现管理员对论坛的管理操作等功能的一些前期准备,如参数的定义并将数据库中数据与程序中的参数相关联。 实现页面login.jsp,用myelcipse新建管理员登陆的jsp页面login.jsp,设置页面的编码格式为urf-8,编写表单form ,输入html控件text,密码框控件password,然后是提交表单的submit控件 实现代码如下: public String login(String userName,String userPw,int userType)     {         System.out.println("userType"+userType);         try         {             Thread.sleep(700);         } catch (InterruptedException e)         {             e.printStackTrace();         }         String result="no";         if(userType==0)//系统管理员登陆         {             String sql="from TAdmin where userName=? and userPw=?";             Object[] con={userName.trim(),userPw.trim()};             List adminList=adminDAO.getHibernateTemplate().find(sql,con);             if(adminList.size()==0)             {                 result="no";             }             else             {                 WebContext ctx = WebContextFactory.get();                 HttpSession session=ctx.getSession();                 TAdmin admin=(TAdmin)adminList.get(0);                 session.setAttribute("userType", 0);                 session.setAttribute("admin", admin);                 result="yes";             }         }         } 5.2.2论坛分类管理 1、功能描述 此功能在论坛后台管理中实现,主要为论坛主题界面的分类进行管理。论坛中为了方便管理及用户之间可以更好的交流,不同种类的帖子应有相应的主题板块来进行管理,如:.NET编程、j2EE编程、JSP技术、数据库技术等模块,这样方便用户快速的找到自己想要了解的相关信息,界面如图5.10、5.11所示。 图 5.10 论坛类别界面 图 5.11 论坛类别添加 2、程序实现 在catelogMana.jsp中实现论坛类别的管理,此功能构建了论坛的版面,在catelogAdd类中定义所需要变量,利用getParameter与数据库表中的属性进行关联,构建论坛类别管理的主要框架。 实现代码如下: public String catelogAdd()     {         TCatelog catelog=new TCatelog();         catelog.setName(name);         catelog.setDel("no");         catelogDAO.save(catelog);         this.setMessage("操作成功");         this.setPath("catelogMana.action");         return "succeed";     }         public String catelogMana()     {         String sql="from TCatelog where del='no'";         List cateLogList=catelogDAO.getHibernateTemplate().find(sql);         Map request=(Map)ServletActionContext.getContext().get("request");         request.put("cateLogList", cateLogList);         return ActionSupport.SUCCESS;     }         public String catelogDel()     {                     TCatelog catelog=catelogDAO.findById(id);             catelog.setDel("yes");             catelogDAO.attachDirty(catelog);                         this.setMessage("操作成功");             this.setPath("catelogMana.action");             return "succeed";     } 5.2.3 用户权限管理 1、功能描述 点击左侧的论坛管理员菜单。实现对论坛管理员的管理,界面如图5.12所示。 图5.12 论坛管理员添加界面 2、程序实现 编写jsp页面lutanGuanliyuaAdd.jsp,输入表单form表单接受输入的数据。Submit提交按钮完成数据的传送 实现代码如下 public String lutanGuanliyuanAdd()     {         TUser user=new TUser();         user.setLoginname(loginname);         user.setLoginpw(loginpw);         user.setType(100);         user.setDel("no");         userDAO.save(user);         this.setMessage("操作成功");         this.setPath("lutanGuanliyuanMana.action");         return "succeed";     }         public String lutanGuanliyuanMana()     {         String sql="from TUser where del='no' and type=100";         List lutanGuanliyuanList=userDAO.getHibernateTemplate().find(sql);         Map request=(Map)ServletActionContext.getContext().get("request");         request.put("lutanGuanliyuanList", lutanGuanliyuanList);         return ActionSupport.SUCCESS;     }         public String lutanGuanliyuanDel()     {         TUser user=userDAO.findById(id);         user.setDel("yes");         userDAO.attachDirty(user);         this.setMessage("操作成功");         this.setPath("lutanGuanliyuanMana.action");         return "succeed";     } 5.2.4论坛帖子管理 1、功能描述 论坛管理员用超级管理员分配的账号和密码登陆系统。实现论坛帖子的管理,删除帖子等操作,界面如图5.13所示。 图5.13 帖子管理界面 2、程序实现 实现代码如下: public String zhutiDel()     {                 TZhuti zhuti=zhutiDAO.findById(id);         zhuti.setDel("yes");         zhutiDAO.attachDirty(zhuti);                 HttpServletRequest req=ServletActionContext.getRequest();         req.setAttribute("msg", "成功删除");         return "msg";     } 5.2.5密码修改 1、功能描述 实现管理员对密码的修改,管理员登陆系统后台进入密码修改模块,可使管理员进行密码修改。 2、程序实现 在userPw.jsp中adminPwEdit实现用户密码的修改,在这里用到了DWR框架中的API,即WebContext ctx = WebContextFactory.get(); 具体的说,这里用到了WebContext和WebContextFactory两个类,而这两个类的作用便是为程序提供访问标准HttpServlet对象的入口。 实现代码如下: public String adminPwEdit(String userPwNew)     {         try         {             Thread.sleep(700);         }         catch (InterruptedException e)         {             // TODO Auto-generated catch block             e.printStackTrace();         }         WebContext ctx = WebContextFactory.get();         HttpSession session=ctx.getSession();         TAdmin admin=(TAdmin)session.getAttribute("admin");         admin.setUserPw(userPwNew);         adminDAO.getHibernateTemplate().update(admin);         session.setAttribute("admin", admin);         return "yes"; } 6 系统测试 整个系统设计完成后,需要对系统进行测试,确保系统能够正确完整 的运行,并解决出现运行过程中出现的BUG。 6.1 测试概述 对软件测试,首先需要明确软件测试的目的,才能完成软件测试的任务,确保软件的质量。 6.1.1 软件测试的目的   软件测试的目的,第一是发现一些可以通过测试避免的开发风险,确保软件质量。第二是提供信息,比如实施测试来降低所发现的风险,测试过程中的信息可以用来进行风险评估。第三是保证软件软件开发过程中是高质量的,因为测试还包括软件开发的过程,在开发项目的过程中必须将测试看作是一个标准项目,软件在使用过程中出现问题说明软件开发过程可能是有缺陷的。 软件质量的衡量是以下及几个方面为基础的:一、必须满足某些行业标准,例如不同地区的不同用户的需求等等。二、在规定的时间内用最合适的方法将软件开发出来。三、软件设计的质量,其高质量就达到了最初的要求,其高质量页并非指代码的优化精细,以及所用的技巧。四、是否满足客户的需求也意味着质量的高低。软件测试最重要的一件事就是看是否符合了客户的需求。 6.1.2 软件测试的任务 1.寻找Bug 2.避免软件开发过程中的缺陷; 3.衡量软件的品质。 总的目标是:确保软件的质量 6.1.3 测试环境   MyEclipse自带MyEclipse Tomcat,使得用户可以在MyEclipse当中直接运行程序,浏览网页。因此对论坛的调试工作主要是利用MyEclipse Tomcat 的强大功能在本机下完成的。向MyEclipse Tomcat浏览器输入本地动态网页的URL,Web服务器在收到浏览器传送的URL之后找到网页文件,并在服务器端执行该文件后将此文件以HTML文件的形式返回该浏览器。 6.2 单元测试 单元测试主要分为黑盒测试和白盒测试,完成这两个测试后还需进行模块接口测试。 6.2.1 黑盒测试 在单元测试中分别对前台模块和后台模块进行分别测试。 首先对各个模块进行黑盒测试,在各种条件下运行模块是否能正常运行,比如在等录时,输入空白用户名等等。 6.2.2 白盒测试 白盒测试将系统看做一个透明的盒子,测试人员主要根据系统的逻辑结构,按照系统的结构进行测试,选取相应的测试用例,测试程序的所有逻辑路径。通过测试不同逻辑路径,得到实际运行结果,再与理论上的预期结果相比较,判断两者是否相当。因此白盒测试又称结构测试或逻辑驱动测试。软件测试人员必须对所有逻辑路径进行测试,同时对所有逻辑路径都要去“真”、“假” 两种情况测试。发帖测试用例如表6.1所示。 表6.1 发帖测试用例 模块 测试用例描述 操作过程及数据 预期结果 发帖 按要求输入帖子的相关信息 进入发帖界面,输入帖子内容,标题,内容,在提交。 发帖成功 没输入标题 进入发帖界面,没输入标题,在提交 发帖失败 输入为空 进入发帖界面,输入为空,再提交 无法发送 6.2.3 模块接口测试 在黑盒测试完成的情况下,进行模块接口测试.其他测试都是建立在数据正确流入、流出模块的基础上,这样其他测试才能可能正确。影响测试接口的几个因素如下: 1. 实际输入的参数与形式参数的个数、属性和量纲是否相同; 2. 涉及其他模块调用的参数的个数和属性是否与该被调用模块的形参个数和属性相同; 3. 调用模块所涉及的函数中,使用的参数各个量是否正确; 4. 是否引用了与该模块无关的参数; 5. 只读型参数是否正确; 6. 各个模块中全程变量是否保持不变; 7. 是否以参数形式传递了某些约束。 模块接口测试,本系统使用的是MyEclipse 的测试工具进行测试,在内置的MyEclipse Tomcat服务器中部署BBS系统,部署成功后,即可按照步骤,对系统进行模块接口测试。 6.3 系统测试综述 通过对程序进行黑盒测试,分别测试了前台模块和后台模块,使用白盒测试测试了不同用例,在此基础上进行模块接口测试,整个系统可以正确无误的运行,测试结束。 7 结论 随着计算机的发展及现代社会中对网络的使用越来越频繁,人们要通过不断学习新的知识来适应现在竞争越发激烈的社会,把自己融入到社会的发展中,因此研发一个论坛网站提供大家分享交流信息,接触更多的知识来充实自我,对于现代社会的人们有着重要的意义。 在明确了网站系统的功能后,设计了整个网站的操作流程,将整个系统分为几个小的模块来逐一完成,这样整个网站系统的设计思路便比较清晰。每一个子模块在设计实现中都遇到了许多不同程度的问题,通过查阅资料书籍及在互联网中询问他人对相关问题的解决方法,再结合自己遇到的情况并对程序进行多次的测试最后实现系统功能,深刻的体会到互联网的强大功能,了解通过网络并结合自己的实际情况来解决问题的方法和网络的方便快捷之处。在程序开发的过程中不仅提高了编程能力,同时也体会了一个论坛网站所能实现的真正用处和其必要性。在系统设计过程中,了解到在设计程序之前一定要对所设计的系统有较深刻地了解,并对用户的需求进行认真的分析,并将其分类,这样才能有条不紊的一步步进行详细设计。实现一个论坛网站系统还是有很多要学习的地方,不仅要掌握好相关知识,同时还要了解所要应用的各种工具,将之相结合来运行实现网站的工作。 由于之前对SSH技术及它所要应用的开发环境不是非常了解,因此在程序的开发过程中遇到了较多的困难,但通过对一些相关专业书籍的查阅及在网上搜索所遇问题的解决方法,最后实现了网站的正常运行。 而在开发网站之前,要在网上或书中查看多个相似的网站系统。体会真正的论坛网站的开发流程,并不仅仅是注重代码的实现,在开发之前的用户需求分析更加重要,要根据用户所需要的功能来设计系统,否则最后实现的系统可能并不实用。 参考文献 [1]孙卫琴. Tomcat与Java Web开发技术详解[M].北京:电子工业出版社, 2005.74-80. [2]孙卫琴. Java面向对象编程[M]. 北京:电子工业出版社, 2010.10-25. [3]汪孝宜. JSP数据库开发实例精粹[M].北京:电子工业出版社, 2005.1-15. [4]刘中兵.JSP应用开发详解[M].北京:电子工业出版社, 2002.135-155. [5]唐红梅. 基于JSP动态网站的建立[J].微机发展,2002, 5(03): 80. [6]周朝阳,肖德宝. STUDIES ON THE APPLICATION OF JAVA TECHNOLOGY IN THE FIELD OF INTERNET[J]. 华中师范大学学报, 1997:15(03):70. [7]杨学瑜.JSP入门与提高[M].北京:清华大学出版社, 2002.23-57. [8]翁卫兵,李耿,丁卫霞等. JSP网络编程技术[M].北京:新时代出版社, 2007.183-234. [9]吴其庆.JSP网站设计经典教程[M].北京:冶金工业出版社, 2001.312-234. [10]陈波. JSP数据库编程入门[M].吉林:吉林电子出版社, 2004.76-82. [11]Bruce Eckel.Thinking in java [M].北京:机械工业出版社, 2007.55-96. [12]Donny.JSP And web development programming of actual combat [M].北京:科学出版社, 2001.17-36. [13]Steven Holzner.Java.MATT TELLES [M].北京:机械工业出版社, 2002.120-150. [14]Phil Hanna .Technology daqo [M].北京:机械工业出版, 2002.25-60. [15]Karl Moss. Java Servlet Developers guide [M].北京:清华大学出版, 2002.35-60. [16] 李晶. 网络论坛的发展及影响[J]. 武汉大学学报, 2010. 94-95. 致  谢 非常感谢张老师和贾老师在我大学的最后学习阶段----毕业设计阶段给我的指导,从最初的定题,到毕业设计制作完成,他们给了我耐心的指导和无私的帮助。他们严肃的科学态度,严谨的治学精神,精艺求精的工作作风,深深地感染和激励着我。张老师和贾老师不仅在学业上给我以精心指导,同时还在思想上给我无微不至的关怀,在此谨向张老师和贾老师致以诚挚的谢意和崇高的敬意。 通过这一阶段的努力,我的毕业设计终于完成了,这意味着大学生活即将结束。在大学阶段,我在学习上和思想上都受益匪浅,这除了自身的努力外,与各位老师、同学和朋友的关心、支持和鼓励是分不开的。
本文档为【基于JavaEE的技术论坛系统的 设计与实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_083599
暂无简介~
格式:doc
大小:401KB
软件:Word
页数:0
分类:生活休闲
上传时间:2017-09-19
浏览量:25