基于SSH框架的论坛的设计与实现.doc_第1页
基于SSH框架的论坛的设计与实现.doc_第2页
基于SSH框架的论坛的设计与实现.doc_第3页
基于SSH框架的论坛的设计与实现.doc_第4页
基于SSH框架的论坛的设计与实现.doc_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

本科毕业设计(论文)题目:基于SSH框架的论坛的设计与实现 学生姓名: 学号: 系(部): 数学与计算机科学系 专业:计算机科学技术入学时间: 201 年9 月导师姓名: 职称/学位: 导师所在单位: 基于SSH框架的论坛的设计与实现摘 要 为了方便信息的交流,在结合JAVA和S.S.H 技术之下开发了这个快捷、界面友好的交流系统,实现了一个功能相对齐全的论坛系统,网友可以自由地提出问题以及帮助他人解决问题,或者交流经验。论坛在StrutsHibernateSpring扩展Struts框架的基础上,用当今主流的网站开发技术jsp语言进行开发。论坛将采用B/S体系结构,人们通过浏览器就可以访问论坛网站的主页,保证的服务器的安全。数据库采用免费,小巧,易用的mysql数据库。本网站严格按照软件项目开发的流程进行开发,对于网站开发的可行性分析、需求分析、概要设计、详细设计都有详细的论述和实现过程。 Struts框架的引入是为了将系统显示层和业务层进行分离,从而可改变系统页面中穿插功能代码的缺陷性。Spring框架的引入除了可以很好的为中间层服务以外,还能实现与上下层之间的兼容,达到各层相互独立的目的,从而可大大降低各层之间耦合度。Hibernate框架用于完善Spring框架对JDBC的封装。该系统的投入使用,打破了校园门户网站的“平面化”,更富有亲和力和凝聚力,为高校思想政治教育工作者提供了参考,为教师学生间的教学交流开拓了新领域,为学生间互通生活信息提供了平台,为学生获得情感支持和共鸣开辟了人际传播的新领域。关键词:论坛 ;S.S.H;JAVA;MySQL;JSPDesign and Implementation of the Online Forum BBS System Based on the SSH FrameworkAbstractIn order to facilitate the teachers and students information the exchange,in unified JAVA and S.S.H under the server technology has developed this quick truncation, the contact surface friendly teachers and students alternating-current system.realized a function relatively complete forum system, the net friend has been possible freely to propose the question as well as helped other people to solve the problem, or exchange experience.This BBS prepares to expand the Struts frame in Struts + Hibernate + Spring in the foundation, carries on the development with now the mainstream website development technology-JSP language. This website will use the B/S system structure, the people may visit the BBS website through the browser the main page. This make sure that the guarantee server is secure. The database uses free, exquisite, easy-using, MYSQL database . This website strictly carries on the development according to the software project development flow,regarding the website development feasibility analysis, the demand analysis, the outline design, the detailed design as well as all has the detailed elaboration and the realization process to the website.Struts framework is introduced in order to display system and business layers were separated, so as to change the the system pages interspersed function code defects. Spring framework introduction of addition can be a good service for the intermediate layer, but also to achieve and on the compatibility between the underlayer reach the layers independently of each other the purpose, which can greatly reduce the degree of coupling between the layers. The Hibernate framework used to improve the Spring Framework JDBC package.The system is put into use to break the flattening of the campus portal, more affinity and cohesion, to provide a reference for the ideological and political education workers, and open up a new field of teaching exchange between teachers and students, for students between interoperability life information to provide a platform for students to get emotional support and resonate to open up new areas of interpersonal communication.Keywords : bbs ; S.S.H; java ; mysql ; jsp目 录第 1 章 绪 论11.1总体概述11.2发展与现状11.3开发目的和意义2第 2 章 系统分析32.1技术可行性分析32.1.1 开发语言综述32.1.2 MySQL数据库的选用32.1.3 S.S.H框架的优点42.1.4热点技术62.1.5系统层次设计62.16技术可行性综述72.2 系统需求分析72.2.1系统需要支持的环境72.2.2开发环境7第 3 章系统的功能模块和其流程分析83.1 BBS系统的用例描述和功能模块83.1.1主要功能的组成83.1.2系统的三大功能模块83.2各功能模块的流程103.2.1 BBS系统的用户模块流程103.2.2 BBS系统的帖子模块流程113.2.3后台管理功能模块流程12第 4 章BBS系统设计134.1 BBS数据库设计134.1.1数据库概要设计(E-R图)134.1.2数据库的详细设计174.2系统功能设计204.2.1功能模块设计204.2.2系统界面设计214.2.3 BBS组件设计22第 5 章系统的实现235.1类图设计235.2用户功能模块实现255.2.1会员登录与注销255.2.2新用户注册285.2.3账户设置295.3帖子功能模块实现305.3.1发表帖子305.3.2回复帖子325.3.3搜索帖子355.4后台管理功能模块实现365.4.1版面管理365.4.2会员管理385.4.3组管理395.4.4搜索管理40结论43主要参考文献44附录46致 谢51 基于SSH框架的论坛的设计与实现第 1 章 绪 论1.1总体概述进入二十一世纪,计算机技术迅速向着网络化、集成化方向发展。传统的单机版应用软件正在逐渐退出舞台,取而代之的是支持网络、支持多种数据信息(多媒体)的新一代网络版应用软件,而目前网络版软件中似乎存在着两种不同的趋势,一种是称为客户端服务器的C/S结构,这类软件具有结构严谨,运行效率高,服务器端压力小,安全性好等优点,被广泛运用于局域网中。而另一种,也是本毕业设计所采用的,是称为浏览器服务器的B/S结构,它的特点是在客户端直接采用了功能强大的浏览器软件作为界面,其优点在于软件开发效率高,客户端不受操作平台的限制、也不受地域的限制,网络传输量少,即适用于局域网,更适用于Internet,而且投资小、见效快,用户可以不必进行服务器方面的投资,而是去租用,甚至是免费使用ISP的服务器资源,因而受到越来越多中小型单位的青睐。随着Internet技术的不断发展,以及用户群爆炸性地增长,网络不再仅仅是信息的被动获取来源,更成为人们探讨间题、交换观点的场所,其中,网上论坛扮演了极其重要的角色,随着时间的推移,论坛站点中积存了丰富的信息资源,不但有各类技术资料和新闻文档,还包含着用户的判断和评论,论坛站点己成为Web信息库的重要组成部分,自网上论坛诞生20多年以来,随着Web技术的发展,己经由原来简单的电子公告板系统发展为功能丰富的网上论坛和虚拟社区模式。各种论坛随着网络迅速发展,几乎充实着生活工作的每一个方面,无论是商界、政界,还是娱乐界,都有各种论坛。互联网正在融入我们的生活,网络提供给我们的不只是一个获取信息的来源,而且还是一个可以相互交流的空间,网上论坛正是一种供人们进行交流的网络空间, 影响和改变着我们的生活。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站拥有这种优势,所以使用者都更乐意加入。这里“业余”2字,并不是代表这种类型的BBS站的服务和技术水平是业余的,而是指这类BBS站的性质。一般BBS站都是由志愿者开发的。他们付出的不仅是金钱,更多的是精力。其目的是为了推动中国计算机网络的健康发展,提高广大计算机用户的应用水平。国内的BBS站,大多数还是大型综合性BBS站。随着计算机的普及,特别是宽带的普及,BBS的活动将会进一步高涨。但是,随之而来对专注于领域方面的BBS将会慢慢增加需求。尽管BBS站台的数量在不断增长,但BBS的发展过程,也出现了一些问题。由于国内使用的BBS架站软件,都是从国外引进的,因此没有必要的中文说明。虽然一些热心的站长翻译了一些资料,但是仅靠这些是远远不够的。另外,有些站台的设立是相互抄袭,所以在结构上难免有雷同之处。 而国内自己开发的BBS基本上都是处于最原始的JSP MODEL1模式, 这种模式是控制层与表示层合二为一,虽然开发简单,但是拥有很差的扩展性,可维护性,这样极大的限制了BBS站点的扩展,于是在这种情况下,本文提出了目前比较流行的,基于MVC模式的S.S.H框架(Sturts+Spring+hibernate)的BBS论坛,本套论坛的优点在于它具有强大的可扩展性和可维护性,非常适合网民创建自己的中小型BBS论坛。1.3开发目的和意义综上所述,本文设计的是基于MVC模式的SSH框架(Sturts+Spring+Hibernate)的BBS论坛,本套论坛的优点在于它具有强大的可扩展性和可维护性,非常适合网民创建自己的中小型BBS论坛,能使用户发表自己的想法,同时管理员可以管理论坛的情况,并在此基础上实现学生和学生、学生和老师沟通和交流的功能。实现校园资源共享,为学生提供一个交流的平台,为广大学生者提供交流经验、探讨问题的社区。提供文件的上传与下载,实现资源与经验的共享。第 2 章 系统分析2.1技术可行性分析2.1.1 开发语言综述本系统是基于面向对象思想的JAVA语言中J2EE平台进行编写,J2EE平台具有以下优点1.简化结构:J2EE平台支持简化的、基于组件开发模型,由于J2EE基于Java编程语言和J2SE平台,它提供了编写一次,随处运行的可移植性,遵循J2EE标准的所有服务器都支持该模型。另外,J2EE还支持异构环境。基于J2EE的应用程序不依赖任何特定操作系统、中间件或硬件,因此,设计合理的基于J2EE的程序只需开发一次就可以部署到各种平台,这在典型的异构企业算环境中是十分关键的。J2EE标准还允许客户订购与J2EE兼容的第三方的现成组件,把其部署到异构环境中,节省了由自己制订整个方案所需的费用。2. 提高开发效率:由于组件技术的使用,可以按照开发人员的技能对应用程序开发进行分工,并行开发,提供整体开发效率。例如:图形设计师创建JSP模板,商业逻辑由该领域的专家完成,JSP页面由Java工程师完成,应用程序的装配和部署由团队中其他的成员完成,其中许多工作可以同时进行,有助于加速应用程序的开发。3.可移植性强:除了Java语言固有的可移植性外,SSH框架也有很好的可移植性,这是它为什么在许多地方可以替代EJB体系结构的原因,这使开发人员能够将其从一种操作环境移植到另一种操作环境,而无需重新编写其源代码。4.易于维护:基于组件的设计简化了应用程序的维护。由于组件可以被独立地更新和替代,通过更新应用程序中特定的组件,新的功能可以被很容易地增加。5.可伸缩性:企业必须要选择一种服务器端平台,以便满足那些在它们系统上进行商业动作大批新客户。基于J2EE平台的应用程序可被部署到各种操作系统上,例如,可被部署到高端UNIX或其他的大型机系统上。J2EE领域的供应商提供了更为广泛的负载平衡策略,能消除系统中的瓶颈,允许多台服务器集成部署,实现可高度伸缩的系统,满足未来商业应用的需要。7.被广泛接受:主要的IT供应用商都采纳SSH,不同供应商的产品只要符合SSH,就都是可互操作的。2.1.2 MySQL数据库的选用MySQL是现在流行的关系数据库中其中的一种,相比其它的数据库管理系统(DBMS)来说,MySQL具有小巧、功能齐全、查询迅捷等优点,关键的是它是免费的,可以在Internet上免费下载到,并可免费使用,对于一般中小型,甚至大型应用都能够胜任。MySQL具有以下优点:1、首先是速度。对于MySQL来说,速度是他们追求的主要目标之一,基于这个原因,MySQL在以前的文档中也曾经说过并不准备支持事务和触发器。但现在的MySQL已经可以支持事务,而且在MySQL的TODO中,对触发器、约束这样的注定会降低速度的功能也列入了日程。但是,仍然有理由相信,MySQL将有可能一直保持速度的优势。2、MySQL更流行,流行对于一个商业软件来说,也是一个很重要的指标,流行意味着更多的用户,意味着经受了更多的考验,意味着更好的商业支持、意味着更多、更完善的文档资料。3、MySQL更适宜在Windows环境下运行。MySQL作为一个本地的Windows应用程序运行(在WinXP/Win7下,是一个服务), 在Windows运行中,MySQL更加的稳定。4、MySQL使用了线程,在不同线程之间的环境转换和访问公用的存储区域显然要比在不同的进程之间要快得多。5、MySQL在绝大多数情况下,你不需要为MySQL运行任何清除程序。6、MySQL在权限系统上更为完善。MySQL允许你定义一整套的不同的数据级、表级和列级的权限。对于列级的权限。MySQL还允许你指定基于主机的权限。7、计放式的开发与分发。只要到MySQL的官方网站,或者义他相关的N站,即可下载MySQL的组件。如果对MySQL的某一个组件不满,则可以将源代码拿来自己修改,或者增添自己想要的功能。8、非常周到的技术支持。MySQL的任何版本都包含有内容详尽的参考指南。如果和MySQL的开发者之间达成协议,就可以从开发者那里得到技术支持。此外,通过邮件列表也可以随时在网上向MySLQ巳开发组成员提问,通常很快就全得到回答。9、MySQL的MERGE表提供了一个独特管理多个表的方法。10、MySQL的myisampack可以对只读表进行压缩,此后仍然可以直接访问该表中的行。2.1.3 S.S.H框架的优点S.S.H框架是J2EE应用中struts+spring+hibernate三大免费开源框架的结合使用, 它可以看成工具,也是中间件。他是用来提高我们的开发效率,提高我们软件产品的可维护性、可扩展性乃至敏捷性的。他们里面有很多优秀的设计理念及模式应用。比如,struts属于MVC框架,关键是要了解MVC的概念及大致原理;而hibernate属于ORM系统,属于持久层的解决方案,同样需要对ORM的概念及原理有一个总体的了解。而spring属于应用程序框架,其核心是IOC容器以及AOP,Spring中还集成了很多适用东西,比如对JDBC的封装、自己的MVC、对动态语言的简洁访问等。它由以下3个框架构成:1.Struts框架Struts是Apache组织的一个开放源码项目。Struts是一个比较好的MVC框架,提供了对开发MVC系统的底层支持,它采用的主要技术是Servlet,JSP和Custom tag library。其基本构成如图2.1所示。图2.1 Struts框架概览图2.Spring框架Spring 的核心是个轻量级(Lightweight)的容器(Container),它是实现IoC(Inversion of Control)容器、非侵入性(No intrusive)的框架,并提供AOP(Aspect-oriented programming)概念的实现方式,提供对持久层(Persistence)、事务(Transaction)的支持,提供MVC Web 框架的实现,并对一些常用的企业服务API(Application Interface)提供一致的模型封装,是一个全方位的应用程序框架(Application framework),除此之外,对于现存的各种框架(Struts、JSF、Hibernate 等),Spring 也提供了与它们相整合的方案。Spring框架由以下7个部分组成图2.2 Spring框架构成3.Hibernate框架Hibernate 是一个开放源码的 ORM 持久层框架。作为优秀的持久层框架实现,Hibernate 框架提供了强大、高性能的对象到关系型数据库的持久化服务,开发人员可以使用面向对象的设计进行持久层开发。简单的说,Hibernate 只是一个将持久化类与数据库表相映射的工具,每个持久化类实例均对应于数据库表中的一个数据行而已。用户只需直接使用面向对象的方法操作此持久化类实例,即可完成对数据库表数据的插入、删除、修改、读取等操作。图2.3 Hibernate框架2.1.4热点技术1、简单来说,Widget是指小工具,一系列的小工具通过一个特定的平台(Widget: JI擎)为用户展示不同的个性化的信息,例如天气Widget、新闻Widget、股票Widget、IP查询Widget等,这些都是可以自由定制的,都依赖于Widget JI擎。Widget不但有桌面应用.也有网页服务应用,如13Netvibes等个性化首页。Widget能够穿透不同的操作系统,当然,前提是Widget: JI擎能在不同的操作系统里运行。2、Lucene是一套用于全文检索和搜寻的开源程式库,由Apache软件基金会支持和提供。Lucene提供了一个简单却强大的应用程式接口,能够做全文索引和搜寻。在Java开发环境里Lucene是一个成熟的免费开源工具。就其本身而言,Lucene是目前以及最近几年最受欢迎的免费Java资讯检索程式库。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。2.1.5系统层次设计系统很据S.S.H框架的特点,决定使用四层结构,这样做的优点是(1)可以分层开发,访问数据库与业务逻辑实现能够分开。(2)提高代码的复用。表示层业务逻辑层持久化层数据库层图2.4 BBS系统的分层结构2.16技术可行性综述综上所述,这些成熟的框架和优秀的设计思想,为系统建设提供了技术条件。计算机等基础设施的更新换代也紧跟潮流的发展,这就为开发系统提供了坚实基础。2.2 系统需求分析2.2.1系统需要支持的环境鉴于系统的开发语言和数据库,采用如下的开发环境运行平台: Windows 7开发工具:MyEclipse2013服务器:MySQL5.6开发语言: Java硬件实现: 酷睿 4G内存 720G硬盘预期成果: 一个可扩展的基于MVC模式的 BBS论坛2.2.2开发环境(1)Java SE包含两个部分组成,它们分别是JDK和JRE,JDK是java程序员开发java程序所需要的部分,JRE是java的运行环境,我们开发要求这两部分都要安装。(2)MyEclipse是在Java EE的Eclipse软件基础上安装了许多插件的集合,MyEclipse的功能非常强大,支持也非常广泛所以说MyEclipse可以非常成功的完成任务。第 3 章系统的功能模块和其流程分析3.1 BBS系统的用例描述和功能模块3.1.1主要功能的组成对于访问论坛的用户,可分为注册会员和为注册的临时用户,这两种用户有着不同的权限,比如临时用户只能对帖子进行查看,而注册会员除了查看帖子之外,还可以发帖,回复,搜索帖子,并且可以对自己的注册资料进行修改等。而注册用户中的管理员可以对后台进行管理,如版面管理、组管理、会员管理等。则系统的用例图如下:图3.1 BBS系统用例图3.1.2系统的三大功能模块因为BBS系统是网上交流的系统,根据用户的需要和实际的管理条件,应由用户功能实现,帖子功能实现和后台管理等几个模块所构成。以下是这几个模块要实现的功能:1.用户功能实现(1).用户的登录(2).用户的注册(3).用户资料的修改2.帖子功能实现(1).帖子的发表(2).帖子的回复(3).帖子的搜索3. 后台管理(1)版面管理(2)组管理(3)会员管理(4)搜索管理则这些功能模块的的用例图如下:用户功能模块:图3.2 用户用例图帖子功能模块:图3.3 帖子用例图后台管理功能模块:图3.4 后台用例图3.2各功能模块的流程本系统是为了提供给广大用户一个网上交流的平台,所以论坛的流程是以用户为中心进行的.数据流程图是描述系统数据流程的工具,它将数据独立抽象出來,通过图形方式描述信息的来龙去脉和实际流程。为了描述复杂的软件系统的信息流向和加工,可采用分层的DFD来描述,分层DFD有顶层,中间层、底层之分:顶层。决定系统的范围,决定输入输出数据流,它说明系统的边界,把整个系统的功能抽象为一个加工,顶层DFD只有一张。中间层。顶层之下是若干中间层,某一中间层既是它上一层加工的分解结果,又是它下一层若干加工的抽象,即它又可进一步分解。底层。若一张DFD的加工不能进一步分解,这张DFD就是底层的了。底层DFD的加工是由基本加工构成的,所谓基本加工是指不能再进行分解的加工。3.2.1 BBS系统的用户模块流程图3.5 用户模块流程图3.2.2 BBS系统的帖子模块流程图3.6 帖子模块流程图3.2.3后台管理功能模块流程图3.7 后台管理模块流程图第 4 章BBS系统设计4.1 BBS数据库设计4.1.1数据库概要设计(E-R图)数据库设计是整个系统设计的重要部分,数据结构的好坏将直接影响到应用系统实现效果和数据操作效率。数据模型是是数据特征的抽象,从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表与操作提供一个抽象的框架。以下是系统的实体与其属性图。图4.1 user实体与其属性图图4.2 topic实体与其属性图图4.3 bloglink实体与其属性图图4.4 reply实体与其属性图图4.5 systemprivilege实体与其属性图图4.6 forum实体与其属性图图4.7 role_systemprivileges实体与其属性图图4.8 user_role实体与其属性图图4.9 category实体与其属性图图4.10 datadictiem实体与其属性图图4.11 operationlog实体与其属性图图4.12 role实体与其属性图图4.13 exceptionlog实体与其属性图其中主要实体(user、topic、forum)之间的ER图如下:图4.14 user、topic与forum之间E-R图4.1.2数据库的详细设计本系统采用Hibernate作为数据访问框架,首先通过设计良好结构的领域实体类,然后由hbm配置文件来完成对象关系的映射工作。通过Hibernate来自动管理数据库,设计数据库同时用到了数据库索弓丨的方法。索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。创建索引可以大大提高系统的性能。索引是建立在数据库表中的某些列上。一般来说,应该在这些列上创建索引:在经常需要搜索的列上,可以加快搜索的速度。在作为主键的列上,强制该列的唯一性和组织表中数据的排列结构。在经常用在连接的列上,这些列主要是一些外键,可以加快连接的速度;在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的。在经常需要排序的列上创建索引,因为索引已经排序,这样查询可以利用索引的排序,加快排序查询时间。在经常使用在WHERE子句中的列上面创建索引,加快条件的判断速度。同样,对于有些列不应该创建索引。一般来说,不应该创建索引的的这些列具有下列特点:对于那些在查询中很少使用或者参考的列不应该创建索引。这是因为,既然这些列很少使用到,因此有索引或者无索引,并不能提高查询速度。相反,由于增加了索引,反而降低了系统的维护速度和增大了空间需求。对于那些只有很少数据值的列也不应该增加索引。对于那些定义为text,image和bit数据类型的列不应该增加索引。当修改性能远远大于检索性能时,不应该创建索引。Hibernate采用了面向对象建模的思想,通过设计子类继承父类的方式完成数据库表中类似的关联外键的功能,这样设计不仅能减少数据库设计中冗余字段,更重要的是,它使得数据库表的结构合理、紧凑。本系统数据库设计的表包括:会员信息表(user)、帖子信息表(topic)、版块信息表(forum)、登录日子表(operationlog)、异常日志表(exceptionlog)、回复信息表(reply)、角色表(role)、数据字典表(datadictitem)、Blog 链接表(bloglink)、系统权限表(systemprivilege )、分类目录表(category)、角色权限表(rolesystemprivilege)、会员角色表(userrole)。其中主要涉及到了 3张表,分别是会员信息表,帖子信息表,版块信息表,字段属性设计内容分别如表:表4.1 会员基本信息描述表字段名数据类型长度允许空默认主键注释idint否是编号loginNamevarchar128否否姓名passwordvarchar128否否密码emailvarchar128是否邮箱nicknamevarchar128否否呢称genderdatatime16否否性别avatarmediumblob0是否头像signaturevarchar255是否个性签名registrationTimevarchar0是否注册时间lastVisitTimedatetime0是否上一次访问的时间lastVisitIpAddrdatetime15是否上一次访问的IP地址topicCountint是否主题数量articleCountint是否文章数量lockedbit20是否是否锁定autoLoginAuthKeyvarchar128是否自动登录activebit1是否激活deletedbit1是否删除次数activationKeyvarchar45是否激活键birthdaydatetime是否出生日期qqvarchar15是否QQ账号msnvarchar64是否MSN账号comeFromvarchar255是否现居住地表4.2 板块基本信息描述表字段名数据类型长度允许空默认主键注释idchar255否是版块编号namevarchar255是否版块名称descriptionvarchar255是否版块描述orderint是否序号categoryIdint是否类目ID,索引topicCountvarchar11是否帖子数量articleCountint是否文章数量lastTopicIdvarchar255是否最新帖子ID,索引lastArticlePostTimedatetime0是否最新帖子时间表4.3 帖子基本信息表字段名数据类型长度允许空默认主键注释idvarchar255否是帖子编号,索引titlevarchar255是否帖子标题contenttext0是否帖子内容authorIdvarchar45是否发帖人,索引postTimedatetime0是否发表时间ipAddrvarchar16是否文章主题deletedbit1是否删除typevarchar255是否类型forumIdvarchar255是否版块ID,索引summarytext0是否帖子概要viewCountint是否阅读数量replyCountint是否回复数量lastReplyIdvarchar255是否最终回复ID,索引lastArticlePostTimedatetime0否修改帖子时间nextFloorint是否楼层typeNamevarchar255是否类型名称statusNamevarchar255是否状态名称4.2系统功能设计根据需求分析的结果,对系统进行详细的概要设计。4.2.1功能模块设计绘制出的用例图,将本系统分为三个大的模块,他们分别是会员资料模块,帖子资料模块和后台管理模块,本系统的功能层次图如图4.15所示BBS系统会员模块帖子模块后台管理会员登录会员注册资料修改帖子发表回复帖子帖子查找搜索管理版面管理组管理会员管理图4.15 BBS系统功能层次图如图4.15, bbs系统实现了如下的功能.(1).会员模块:此模块用来实现会员的登陆注册和会员资料的修改和查找.1.会员登陆模块:会员可以通过此模块对论坛进行登陆,登陆后便可以使用所有的会员功能,比如发帖回复等等.2.会员注册模块:没有会员帐号的用户,可以通过此模块添加会员信息,添加成功后便可登陆论坛,使用会员功能.3.资料修改模块:已注册的会员在登陆后,可以通过此模块,对会员的基本资料,联系方式,密码,头像等资料进行修改.(2).帖子模块:1.帖子发表模块:已注册的会员在登陆后,可以在相应的论坛中,发表或转载自己的大作,发表成功后,其他会员便可以在相应的论坛中看到这篇帖子,并可以对其进行回复等操作.2.帖子回复模块:会员在发表完帖子后,用户便可查看相关文章,并可以在文章中对已发表的帖子进行回复,3.帖子搜索模块会员可以通过此模块,根据帖子的标题和作者,对相关的帖子进行查找.(3)后台管理1.版面管理模块管理员可以添加版块,删除版块,修改版块,还可以调整版块顺序。2.会员管理模块管理员可以通过此模块,对会员进行管理,对一些不法的用户可以修改或者删除资料,还可以锁定用户。3.角色管理模块管理员对角色的添加,删除,修改等功能都是在此模块里进行处理,设置默认角色。4.搜索管理模块管理员可以重新创建帖子索引。4.2.2系统界面设计对于系统来说,用户界面设计将非常重要,因为一个交互良好的界面能够加深浏览者的印象.设计首页的第一步是设计版面布局。我们可以将网页看作传统的报刊杂志来编辑,这里面有文字、图像乃至动画,我们要做的工作就是以最适合的方式将图片和文字排放在页面的不同位置。设计是有原则的,无论使用何种手法对画面中的元素进行组合,都一定要遵循五个大的原则:统一、连贯、分割、对比及和谐。统一,是指设计作品的整体性,一致性。设计作品的整体效果是至关重要的,在设计中切勿将各组成部分孤立分散,那样会使画面呈现出一种枝蔓纷杂的凌乱效果。连贯,是指要注意页面的相互关系。设计中应利用各组成部分在内容上的内在联系和表现形式上的相互呼应,并注意整个页面设计风格的一致性,实现视觉上和心理上的连贯,使整个页面设计的各个部分极为融洽,犹如一气呵成。分割,是指将页面分成若干小块,小块之间有视觉上的不同,这样可以使观者一目了然。在信息量很多时为使观者能够看清楚,就要注意到将画面进行有效的分割。分割不仅是表现形式的需要。换个角度来讲,分割也可以被视为对于页面内容的一种分类归纳。对比就是通过矛盾和冲突,使设计更加富有生气。对比手法很多,例如:多与少、曲与直、强与弱、长与短、粗与细、疏与密、虚与实、主与次、黑与白、动与静、美与丑、聚与散等等。在使用对比的时候应慎重,对比过强容易破坏美感,影响统一。和谐是指整个页面符合美的法则,浑然一体。如果一件设计作品仅仅是色彩、形状、线条等的随意混合,那么作品将不但没有“生命感”,而且也根本无法实现视觉设计的传达功能。和谐不仅要看结构形式,而且要看作品所形成的视觉效果能否与人的视觉感受形成一种沟通,产生心灵的共鸣。这是设计能否成功的关键。图4.16 BBS系统界面图4.2.3 BBS组件设计本系统除了由Spring、Struts、Hibernate三大框架整合实现的领域实体层、DAO层、Service层以及Web层以外,还包括数据库服务系统以及用户界面层。用户界面层(UI)的设计也是本系统中重要的一环,本系统的用户界面包括登陆注册、浏览帖子、发表帖子、搜索帖子、发表回复、账户设置和后台管理等页面。本系统的UI设计都是以相关的JSP文件以及JS (JavaScript)文件和CSS (层叠样式表文件)文件配合完成。第 5 章系统的实现5.1类图设计formbean 包中的类包括 ActionFormBase、BlogLinkActionForm、Category ActionForm、F orumActionForm、Reply ActionForm、Role ActionForm、T opicActionForm 、User ActionForm。详细设计如图5.1所示。图5.1 formbean包中类图BBS系统前台action类详细设计如下图所示。图5.2 action包中类图后台管理action类详细设计如下图所示。图5.3 Manage包中的类图BBS系统接口详细设计如下图所示。图5.4 service包中的类图BBS系统具体的实现类详细设计如下图所示。图5.5 impl包中的类5.2用户功能模块实现5.2.1会员登录与注销用户在有账号的前提下,可以在登录页面login.jsp或首页index.jsp中输入用户名和密码点击登录,系统将用户名和密码提交到UserAction.java中的loginG方法,将用户提交的用户名和密码再转交给后台的DAO进行处理,如果有这样的一条记录存在则登录成功,将用户的个人信息保存在浏览器端的Session中,否则返回登录页面,并提示用户名或密码错误,这里是当通过login.jsp或index.jsp中输入用户名和密码不正确是所要处理的代码如下:if(window.frameElement != null)/ 如果是从其他页面中嵌套的登录页面(iframe等),失败后应让整个窗口显示登录页面/ 方法1, 这样不会把POST的参数传递过去/ parent.document.location.href = document.location.href;/ 方法2, 使用这个方法。转到登录页面,再加上显示一个错识消息(只有失败后才转到这里来)alert(用户名或密码不正确!);parent.document.location.href=;Index.jsp传递来的用户名和密码是通过以下代码判断其用户名和密码是否正确的。/ 登陆失败1:用户名或密码不正确if (user = null) addErrorMessage(request, loginName, 用户名或密码不正确, false);return m

温馨提示

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

评论

0/150

提交评论