毕业论文-基于j2ee技术实现高校bbs论坛设计_第1页
毕业论文-基于j2ee技术实现高校bbs论坛设计_第2页
毕业论文-基于j2ee技术实现高校bbs论坛设计_第3页
毕业论文-基于j2ee技术实现高校bbs论坛设计_第4页
毕业论文-基于j2ee技术实现高校bbs论坛设计_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

本科毕业论文(设计)题目基于J2EE技术实现高校BBS论坛设计姓名学号专业计算机科学与技术院系信息工程学院指导老师胡俊职称学位助教硕士完成时间2014年4月30日教务处制摘要随着经济的快速发展,21世纪已经是属于网络的时代。同时21世纪也是一个物质和经济的时代,人们的心声也开始慢慢的增多。时常可以看到和听到人们的各种各样的观点和评论。本文是根据高校的需求设计出基于WEB的高校BBS交流论坛。首先介绍了论坛的由来、基本思想、发展趋势。以及系统的一些特色,系统流程及结构。最后讲述了实施技术以及开发平台。分析了建立基于WEB的高校BBS论坛的必要性和可行性,然后对论坛进行了需求分析和系统设计。论文给出了基于WEB的心声交流论坛开发实例。该实例实现了心声交流论坛管理的一些主要功能。主要包括用户管理、板块管理、主贴管理、回帖管理、公告管理、广告管理六个模块。不但可以实现普通论坛的发帖和回帖基本用户要求。而且还引入了系统的特色温馨的提示、用户信息安全、提供免费的视频学习。而且可以充分的利用当前网络资源共享化的特点,给基于WEB的心声交流论坛的开发提供了一个好的思路。关键词WEB,MVC,STRUTS,数据库,心声交流论坛,ABSTRACTWITHTHERAPIDDEVELOPMENTOFECONOMY,THETWENTYFIRSTCENTERYISTHEERAOFNETWORK。ATTHESAMETIME,PEOPLESECONOMYCONTINUETOGETRICHSOTWENTYFIRSTCENTERYISATIMEOFMATERIAL,THEVOICEOFTHEPEOPLEALSOBEGINTOSLOWLYINCREASEOFTENCANSEEANDHEARPEOPLECOMMENTONAVARIETYOFIDEASANDPHENOMENATHISPAPERISBASEDONTHEREALIZATIONOFWEBVOICECOMMUNICATIONFORUMWASSTUDIEDFIRSTINTRODUCEDTHEDEVELOPMENTTRENDOFORIGIN、THEBASICIDEA、DEVELOPMENTTENDENCYASWELLASTHESYSTEMFEATURES,THESYSTEMPROCESSANDSTRUCTUREFINALLYTHEIMPLEMENTATIONTECHNIQUESANDDEVELOPMENTPLATFORMANALYSISOFTHENECESSITYANDFEASIBILITYBASEDONOFESTABLISHMENTOFWEBVOICECOMMUNICATIONFORUMANDTHENVOICECOMMUNICATIONFORUMNEEDSANDSYSTEMDESIGNPAPERPRESENTSTHEDEVELOPMENTOFWEBBASEDVOICECOMMUNICATIONFORUMINSTANCETHEEXAMPLEOFTHEREALIZATIONOFSOMEMAINFUNCTIONSOFVOICECOMMUNICATIONFORUMMANAGEMENTINCLUDESUSERMANAGEMENT、PLATEMANAGEMENT、TOPICMANAGEMENT、REPLYMANAGEMENT、ANNOUNCEMENTMANAGEMENT、ADVERTISINGMANAGEMENTSIXMODULENOTONLYCANREALIZETHENORMALDAILYFORUMPOSTSANDREPLIESITHASALSOINTRODUCETHECHARACTERISTICOFTHESYSTEM,SUCHASWARMPROMPT、USERINFORMATIONSAFETY,PROVIDEFREEVIDEOWARMBUTALSOGOODINTERNETANDRAPIDCOLLECTIONOFINFORMATIONFROMTHEINTERNATANDRELEASEOFINFORMATIONTOUSEFULLYFORVOICECOMMUNICATIONBASEDONWEBFORUMDEVELOPMENTPROVIDESAGOODIDEASKEYWORDSWEB,MVC,STRUTS,DATABASE,VOICECOMMUNICATIONFORUM目录1绪论111本课题研究的背景112本课题研究的意义113论文研究思路和所作的主要工作22高校BBS交流论坛的实现技术321使用JAVA技术的优势322JAVA包含的一些技术以及开发工具4221SERVLET、JDBC、JSP和JAVABEANS4222STRUTS20技术介绍6223AJAX、JQUERY、JAVASCRIPT介绍7224MVC模式介绍9225MYECLIPSE开发工具的介绍103高校BBS论坛交流的需求分析1131可行性分析1132论坛的特性需求分析124高校BBS论坛的总体设计1441系统整体结构设计1442系统的功能结构设计1443BBS论坛的系统流程图1544系统的开发环境155数据库的设计1751数据库分析1752数据库概要设计1753数据库的逻辑设计216BBS论坛的详细设计与实现2661系统整体功能模块介绍2662功能界面268总结与期望31参考文献33致谢351绪论11本课题研究的背景现在已经是互联网时代,网络慢慢地已经离不开我们的日常生活。心声交流论坛是一种电子服务系统。它为用户提供了一个空白的编辑区域。每个注册该论坛的用户都可以在上面发表自己对某个主题的看法,其面向的用户是广大群众。通过该论坛,网名可以自由的发表自己的想法和在网站上找到和自己有共同兴趣爱好的人。同时,虽然当今社会交流的工具和软件也比比皆是,但是,人们对于信息的需求却永远无止境。通过该心声交流论坛,我们可以吸收更多的信息和获得更多的交流信息。也可以在论坛上发表自己的见解和看法,很好的起到了及时发泄用户的情绪和心情的桥梁作用。其可以充当一个中间件角色。而且,对于每一个不同的用户也具有不同的权限。例如,对于普通的登录该论坛的用户但是却没有注册该论坛的用户,其只能看到一些该论坛的普通帖子信息。但是对于管理员和版主的话,可以创建自己感兴趣的话题和主帖。基于以上原因,本文是基于WEB的心声交流论坛设计和实现,选择板块管理作为突破口,目的在于对基于WEB的心声交流论坛进行研究的同时,为基于WEB的心声交流系统的实现进行深入的探讨。12本课题研究的意义心声交流论坛从现实生活中和信息化的角度来说。首先作为一个交流平台,大家可以自由的发表自己的看法和见解,其次,每天可以为用户实时提供新的帖子、照片、适用于不同的人群。随着信息化时代的到来,网络技术的快速发展和腾飞,人们对于精神生活的关注也倍加加重。通过该论坛,用户可以诉说自己心中的想法和及时的发泄自己的情感,也是一个很好平台。个性化的回帖设计,用户可以选择图片,对字帖等进行设计。使用自己喜欢的表情和字体。可以对自己的文字进行处理,添加各种表情。最后,免费的为用户提供服务,用户的参与度高、积极性强。13论文研究思路和所作的主要工作随着IT信息的普及和网络信息的大众化,以及社会快速发展的需求人们开始慢慢的喜欢上了快餐主义。开始快速吸取一些信息和日常的生活需求,也开始在网络上坦白的表达自己的观点和看法。不在像以前那样压抑着自己的内心真实的想法。不在变得像以前那样无处发泄。本文针对国内现在人们对于网络的需求和使用,运用了JSP、STRUTS20、AJAX、JQUERY、JAVASCRIPT、SERVLET等技术以及一些插件,像FCKEDITOR用于对文字进行编辑处理的插件。在一般论坛的设计基础模板上为例子,研究给予WEB技术的心声交流论坛的实现。主要工作有以下1对国内市场人们感兴趣的话题进行深入的了解和市场分析,从而建立起与之对应的PLATE和TOPIC,让人们可以在上面进行自由的评论。2分析目前国内心声交流论坛的研究应用现状。剖析在论坛建设的过程中会出现什么样的问题以及找到如何处理这些问题的解决办法。3深入探讨基于WEB的心声交流论坛的整个体系结构设计、系统开发方法和系统实现技术相关技术等问题。并对心声交流论坛进行需求分析和数据流程分析。4以心声交流论坛系统为实例进行重新开发,实现心声交流论坛主要的功能,为我的毕业设计基于WEB的心声交流论坛系统的开发提供了一个好的思路。2高校BBS交流论坛的实现技术JAVA是一种基于计算机网络的开发语言,而且其是一种纯粹的面向对象的编程语言,是由SUN公司推出的。其最大的优点就是“跨平台”性,而且在进行JAVA开发的时候我们只需要安装一个JDK即可以。平时基于JAVA开发的应用程序同时也是基于WEB的,另外,因为JAVA的跨平台性,可以使得应用程序运行在不同的硬件平台。自从JAVA的创始人JAMESGOSILING开发JAVA语言之后,其发展也是非常的快速和飞进。最近,由于SUN公司被ORACLE公司收购之后。其得到了更好的发展机会,此外各大数据库厂商纷纷表示他们将会更好的支持INTERNET,支持JAVA。并且许多的应用软件厂家推出了采用JAVA进行开发的应用程序。并且JAVA的良好表现证明了它是一种非常成熟的、值得我们开发人员和厂商信赖的语言。本文的开发语言就是采用JAVA来实现的,因此,在本论文中将对JAVA技术做一个简单的介绍。21使用JAVA技术的优势JAVA是一种纯面向对象的高级编程语言,1995年由SUN公司创立,具有面向对象、分布式、解释执行、健壮性和安全性、体系结构中立、可移植性、多线程、动态等特点。和其它编程语言相比,它有很多的优势。使用JAVA的优点具体的体现在以下的一些1灵活可扩展性JAVA非常的灵活,我们在进行JAVA程序开发的时候,其可以支持部署和开发环境中的各种变化。而且由于JAVA是面向对象的基础平台上构建的,所以也很容易对基本的语言进行扩展和发布。在修改别人的代码的时候我们不需要关注各个模块之间的耦合性,只要做好自己模块的扩展和修改即可以的。2具有很多厂商的支持采用JAVA开发已经是一个主流趋势所向,因为其受到了广泛的厂商支持。其中ORACLE公司是JAVA行业的一个巨头,由于SUN公司被ORACLE公司收购之后,其更是独大一家,它继续支持并且会更加壮大JAVA发展,对产品会将继续支持。这种支持JAVA的公司很多,因此选择JAVA语言非常的稳定,不会因为将来开发语言的改变将和厂商捆绑在一起。3平台无关性JAVA语言的最大优势就是“跨平台”,其它编程语言面临的最主要的问题就是操作系统的变化,例如当我们在WINDOWSXP系统下编写一个C程序的时候,当需要在另外一个WINDOWSSERVER2003系统下运行的时候就需要重新调整23。当我们的电脑硬件配置发生变化时候,都可能导致程序出现错误或者无法运行。JAVA虚拟机成功的帮助我们解决了这个问题,我们只要在一台机子上面安装一个JREJAVARUNNINGTIMEENVIRONMENT即可以运行JAVA的代码程序,SUN公司实现了自己的目标“一次运行,随处运行”24。4安全性当你准备从网络上下载一个应用程序的时候,也许你最担心的就是程序中含有恶意代码了。如果你使用的浏览器支持JAVA,你可以放心的运行JAVA程序。5动态性JAVA程序的组成单元是类,所谓的类就是对方法和属性的封装。有些类是自己动手编写和封装的类,但是JDK为我们提供了一套API接口。里面包含了许多的工具类,例如JAVAUTIL包下面的类。而类又是运行时候动态加载的,这使得JAVA可以在各种环境中动态的维护程序和类库,而不像其它语言那样,每当升级之后都一定需要自己亲自重新修改,编译。22JAVA包含的一些技术以及开发工具221SERVLET、JDBC、JSP和JAVABEANSSERVLET我们也可以称它为小应用服务器。SERVLET主要是用于JAVAWEB程序开发。SERVLET的本质也是JSP,当我们将其进行编译之后其也是一个JSP文件。但是SERVLET不同于JSP的是,SERVLET更擅长于处理业务逻辑,但是JSP的视图显示比SERVLET方便。所以我们在做一般的JAVAWEB项目的时候当不使用框架的时候一般用JSP做视图显示,用SERVLET做业务逻辑处理。由于JAVA是垮平台的,因此SERVLET也可以与平台无关。其JAVA内部是以线程的方式提供服务的,而且SERVLET是单例模式,当有一个服务请求过来的时候,服务器会为它创建一个进程,多个线程共享这个进程,不必对每个请求都创建一个进程,并且利用多线程和加锁可以保证多个请求之间互相不干扰,保证了服务的独立性,因此效率也是很高的。JDBCJAVADATABASECONNECTION作为一个连接数据库的工具对象,用于执行SQL语句的JAVAAPI,它的是由JAVA编程语言编写的类和接口组成。JDBC为它提供了一个标准的APIAPPLICATIONPROGRAMINTERFACE应用程序接口4。可以只使用JAVA语言来编写应用程序。同时,作为一种规范,它也让各个数据库厂商为JAVA程序员提供了访问数据库类和接口的标准。总的来说,JDBC的功能主要体现在以下三个方面首先发送数据库连接请求建立连接、接着将发送SQL语句、最后执行SQL语句并且返回处理结果。当我们在调用JDBC的接口和类的时候,首先我们需要得到一个CONNECTION连接对象,从而实现对数据库的操作,这一点和HIBERNATE操作数据库的时候类似都是通过CONNECTION对象去操作数据库2。JDBCAPI同时支持数据库访问的两层模型和三层模型。在两层模型中,应用程序或者JAVAAPPLET将直接与数据库进行通话。此时需要一个数据库的驱动来与特定数据库管理系统通信。获得链接对象之后SQL语句被送往数据库,数据库再将处理结果返回给用户。这当中用户的计算机为客户机,提供数据库的电脑为服务器,我们也称之为C/S配置。但是在三层模型中,用户发送的命令是先被送到中间层,中间层在收到这个请求命令之后再将之发给服务器,服务器在处理完SQL语句之后再将相应的处理结果返回到中间层,最后由中间层再将结果返回给客户端。这种模式就是三层式结构,也称之为B/S模式3。JSPJAVASERVERPAGES用于组成包含动态的WEB的网页内容HTML、DHTML、XHTML以及XML等网页的一种应用JAVA网页技术。其组成主要包含HTML和JAVA代码片段。JSP的出现让动态的WEB网页开发变得更加简单、灵活和效率高。其主要用于配合SERVLET一起进行JAVAWEB的开发,具有自己独立的语法和一些专用的标签。JAVABEANS号称JAVA的种子,主要用于对应数据库中的表,用于封装对象。是JAVA的可重用技术组件。对应着这MVC开发模式中的MODEL,用于持久化对象数据,将数据库中面向关系的数据和面向对象编程时候的数据对象对应起来。一般需要事先JAVAIOSERIALIZABLE接口就可以实现持久化。222STRUTS20技术介绍STRUTS20框架的开发是为了减少在使用MVC模式的时候开发WEB应用的时间,通过STRUTS20我们可以完成其中一些很发杂的业务工作。和TOMCAT等其它APACHE项目一样,它也是开源的项目,这样,可以让开发者更好的了解它们内部机制。同时,STRUTS20主要是用于业务逻辑的处理,其工作的核心就是拦截器。拦截器不同于SERVLET中的过滤器。拦截器主要是拦截一类的请求,例如在STRUTS20中主要拦截ACTION的请求,而过滤器可以过滤任何请求。STRUTS20的开发优势主要体现在一下两个方面标签库和页面导航。其中TAGLIB是STRUTS20的标签库,灵活使用。能很大程度的提高了开发的效率,与其它的标签不一样的是,EL表达式不仅可以操作对象的普通方法和属性,而且可以为属性赋值,这也是区别于其它标签的最大地方。而页面导航,则是STRUTS20的另外一个大的优势,仅仅通过一个XML配置文件,我们就可以完成整个项目的业务逻辑脉络。这对于后期的维护有很大的好处,当另外一批开发者接手这个项目的时候,其只需要查看相关的配置文件就可以很快的理解其项目整体开发思路。STRUTS20的工作原理是首先,我们的客户端发送一个ACTION的请求,服务器TOMCAT容器接收这个特殊的请求,经过滤器过滤后到达转到STRUTS20默认的FILTERDISPATCHER过滤器。而FILTERDISPATCHER过滤器也是STRUTS20工作的核心所在,在该过滤器中可以过滤一些不需要处理的请求,从而减轻了系统的开销20。TOMCAT启动WEB容器的时候就会加载配置文件里面相关的参数,转到相应的ACTION处理类去处理请求,如果找到相应的ACTION,过滤器会把请求的处理首先交给ACTIONPROXY代理去处理。因为ACTIONPROXY只是一个代理对象,其真实的实现处理需要去创建一个ACTIONINVOCATION实例。并且ACTIONINVOCATION是处于ACTIONPROXY层之下的,它可以明显的表现ACTION的执行状态,它获得了ACTION的所有引用和相关的INTERCEPTOR。相关实例调用ACTIONINVOCATIONINVOKE方法,进一步调用ACTION的实现时,将会执行INTERCEPTOR拦截,在ACTION方法被调用之后,相关拦截器的也将被调用。最后执行完之后,会返回一个STRING类型的字符串,我们再到STRUTSXML配置文件中就可以找到其相应的视图展示页面JSP。图21STRUTS20的工作原理图223AJAX、JQUERY、JAVASCRIPT介绍AJAXASYNCHRONOUSJAVASCRIPTANDXML是异步JAVASCRIPT和XML,是一种用于生成交互式网页的主要开发技术,使用AJAX技术,我们可以做到局部刷新数据的目的,从而不用刷新整个页面,这样就可以提高页面的及时刷新性。而JAVASCRIPT中的XMLHTTPREQUEST参数变量则是我们对服务器进行操作的核心对象,它可以让我们在不重新刷新页面的情况下与WEB服务器进行交换数据15。从而大大节省了服务器的开销,可使英特网应用程序更小、更快、更友好。AJAX技术是一种不依赖于WEB服务器软件的浏览器技术。AJAX的工作原理是基于下面几个标准第一,AJAX的变化多样性技术、第二,耦合性要求高的客户端服务端环境。AJAX提出了一种新的开发方式,其要求开发人员掌握MVC的程度也很高,因此其对于应用的层次也就做了限定。同时开发人员还要考虑CS环境的外部和使用AJAX技术来重新定义MVC边界。开发人员必须以页面集合的方式来考虑WEB应用,并且需要将其认为是单个页面。图22AJAX的开发框架JQUERY是在PROTOTYPE之后的又一个杰出的JAVASCRIPT框架,是我们平时开发使用的一个非重量级的JS仓库,不但兼容CSS3,同时对各种版本的浏览器均支持。JQUERY可以让用户更加简单地对HTMLDOCUMENTS、EVENTS、实现动画效果进行处理,并且可以为网站提供便捷的AJAX交叉互动3。它还有一个很大优势就是相关文档说明很齐全,而且各种使用说明也很详细,其也可以兼容很多的插件。其也做到了让HTML页面保持代码和HTML内容分离,提供了多种方法来调用相关的JS,不再需要将相应的JS代码都写到一个页面中,可以通过ID来调用相应的JS18。JQUERY的特点主要有以下几点1动态特效。2很好的兼容AJAX技术。3可以通过插件来扩展。4方便的工具例如我们可以通过浏览器来判断。5渐进性的增强。6链式调用,可以一个对象同时调用多个函数来添加多个效果。7最后,支持浏览器的种类多,像IE60以上、OPERA90以上、FIREFOX2以上、CHROME10以上等主流浏览器均支持。JAVASCRIPT是一种以对象和事件驱动为主的客户端的脚本开发语言,主要用于支持JAVA语言的开发,同时也用于为JAVA进行WEB页面的开发提供参考,不但可以处理页面的动态效果,而且也是一种广泛用于客户端的WEB开发的脚本语言。常常用来给需要添加动态功能的网页进行处理。是一种基于原型、动态的语言,也是有SUN公司注册的商标。因为JAVASCRIPT为开发人员提供了完整的编程语句,基本语句包括FOR循环语句、WHILE循环语句、FOREACH循环语句、SWITCH选择语句、DOWHILE语句、BREAK循环终止语句、CONTINUE、WITH、TRYCATCH语句、IFIFELSE、IFELSEIF。丰富的语句支持可以让我们更好的展示一个效果。从技术层面的角度来讲,我觉得它的核心优势主要有三点HTTP请求AJAX有JAVASCRIPT发起。动态操作DOM。支持页面对象。1我们可以让HTTP请求的发送变主动了,不再是机械式的只有当用户点击之后才能触发。而是主动的发送HTTP请求时为了和服务器进行交互式的拿数据了,再根据返回的数据XML、JSON、字符串也可以给予用户反馈。我们平常项目中遇到的较多的就是经典的表单验证。2根据HTTP的请求的结果做出相应,可以刷新图片了,显示一个新的DIV等等,可以给用户一个变现力很强的回馈。而这些我们可以不通过刷新整个页面,因此用户不用等待很久就可以得到自己想要的数据。3JAVASCRIPT是支持面向对象的,而面向对象的开发方法又是一种很好的组织代码的方式。224MVC模式介绍MVC也即MODELVIEWCONTROL的简写,是一种经典的开发模式。MODEL就是JAVA中的模型对象,其相当于JAVABEAN。VIEW用作视图展示,我们一般用JSP做VIEW,当然也可以通过SPRINGFRAMEWORK来展示。CONTROL也即控制层,我们一般用SERVLET或者ACTION来做CONTROL处理。MVC模式降低了数据接口和业务逻辑层之间的耦合性。平时开发中常见的MVC设计实现方式有SPRING、STRUTS、JSP和SERVLET几种,其中STRUTS继承了MVC的各种属性和基于J2EE的特点,做适当的修改和扩展7。使用MVC开发的优势如下1低耦合性的视图层和业务层,让你只需要更改视图层的代码,而不需要重新编译模型和控制器代码。2重用性高,MVC模式允许使用各种不同样式的视图来展示同一个服务器的代码。3生命周期成本低,MVC使得开发和维护用户的技术含量降低。4部署快,使用了MVC模式之后使得开发时间快速缩减,它可以让程序员集中精力与业务逻辑处理,界面程序员集中精力表现在形式上。5可维护性高,分离视图层和业务逻辑层也使得整个项目易于维护和修改。6有利于使用软件工程化的标准来管理。图23MVC模型225MYECLIPSE开发工具的介绍我们平时使用的MYECLIPSE是在ECLIPSE的基础之上开发出来的,ECLIPSE是免费的,但是MYECLIPSE不是免费的,是一个很优秀的适用于JAVA,J2EE开发的插件集合,其功能也非常的强大,对于各种开源产品的支持也很到位。本身集成了STRUTS、HIBERNATE、SPRING等框架,可以进行框架的很好整合25。3高校BBS论坛交流的需求分析现在已是互联网时代,网络慢慢地已经离不开我们的日常生活。心声交流论坛是一种电子服务系统。它为用户提供了一个空白的编辑区域。每个注册该论坛的用户都可以在上面发表自己对某个主题的看法,其面向的用户是广大群众。通过该论坛,网名可以自由的发表自己的想法和在网站上找到和自己有共同兴趣爱好的人15。31可行性分析可行性分析是在我们每一个系统进行开发之前都要进行的一个必须过程。如果要是可行性分析都不能通过的话我们肯定不能再进行接下来的一切有关开发的流程。其中,可行性分析有包括以下几个方面1技术可行性技术可行性是指在我们平时所学的一些技术是否可以帮助我们解决和实现相关的需求分析,以及当遇到某些技术问题的时候我们是否可以通过一段时间的学习去克服它。我的毕业系统是采用B/S的设计结构进行开发的,当前的主流开发架构也是B/S,因此当自己面对一些问题的时候网上的参考资料也还是挺多的,相信对自己的开发也会也很大的帮助,这也是技术可行性的一个重要体现。数据库使用的是当前中小型企业开发的主流数据库MYSQL,由于是开源的数据库不用担心其费用,而且在数据的管理方面也是挺完善的。因此在数据方面也得到了很好的保证,使用起来也灵活性很强,自己电脑在硬件方面,开发所需系统为WINDOWSXP,而且主要的开发技术为STRUTS20框架、JSP、SERVLET。2经济可行性本项目主要也是一个用来模拟论坛供用户交流的平台,但是也是我自己拿来做毕业设计的项目,只是在自己电脑上进行的模拟,也就不存在什么资金的流动性了,因此,在经济上也是可行的。3社会可行性伴随着21世界早已经是互联网的时代,INTERNET的快速发展,论坛的发展已经得到了人们的大力支持。其也成为了人们彼此交流沟通的一种渠道,人们可以对自己感兴趣的话题进行发表,然而,其他人可以对该话题进行回复。它早已经成为了人们网上生活的必备工具了。所以说其社会可行性也是没问题的。32论坛的特性需求分析该论坛的主要一些特色有如下一些1温馨的提示特性作为一个论坛网站,我觉得用户信息的友好提示也是很重要的一个方面,温馨的提示可以让用户对该网站具有更好的评价和体验度。而且通过提示我们也可以让用户更加方便和快捷的融入到网站的整体设计中。以下是用户注册时候的温馨提示图31用户注册温馨提示2用户信息的安全性当用户登录的时候我们引入了验证码的校验,从而可以更好的保证用户信息的安全性,也可以防止一些黑客的简单攻击,不但要把用户名和密码正确输入而且验证码也要通过验证才可以登录到系统中,使用相应的权限。而且在登录的时候我们也会提示用户是注册名或者密码错误,而不会单纯的提示说是密码错误,这样也可以更加方便的做到了防止黑客破解用户名和密码。图32用户信息安全登录3提供免费的视频观看与普通的论坛一样,我们都具有可以到网站进行回帖和发帖的功能,除此之外,该系统还可以为登录到该系统的用户提供免费的视频观看和学习,可以在累的时候和休闲的时候来到该论坛找找视频看看。4完全的评论自由性或许有些论坛会禁止某些用户的某些方面的评论,而且一般用户回帖和发帖之类的都需要管理论坛的管理者去审核和通过了,但是在该论坛的话完全是评论的自由,只要用户不是赤裸裸的发表一些大家都严厉禁止的东西或者视频的话我们一般会让其通过的。这也充分的体现了民主、自由的特色。4高校BBS论坛的总体设计41系统整体结构设计该论坛的管理系统在整体风格上的设计思路是首先,如果是一个游客也即没有注册该论坛的用户,其只有观看网页上相应信息的权限,不能进行任何的操作。当以一个普通用户数据库中我们通过USER_STATUS3字段来表示,其就具有了对该论坛的相应的TOPIC进行REPLY的权限。当其是以版主的身份在数据库中我们以USER_STATUS2来标记时候,其可以对其TOPIC进行增删改查和在相应的PLATE下面创建TOPIC。而且也可以自己发表REPLY。当其是以管理员身份登录的时候,具有版主的权限,而且可以管理PLATE。最后,在使用完之后就推出该系统。系统整体结构图如下图41系统整体架构图42系统的功能结构设计当一个用户注册该论坛的时候,其就可以登录到我们的系统。可以享受到该系统的一些服务和资源,可以对论坛中的一些帖子进行回复和发表自己喜欢的帖子。该系统主要功能模块分为六个部分用户管理、板块管理、主帖管理、回帖管理、广告管理、公告管理。在用户管理的时候我设计了不同的用户拥有不同的权限,如果是管理员的话则可以对整个论坛进行管理,若是为版主的话就只有管理某一个板块的权限,普通用户的话则只能只能对某一个TOPIC进行REPLY。系统的功能结构图如下图42系统功能结构图43BBS论坛的系统流程图论坛的流程图如下图43系统流程图44系统的开发环境开发该论坛的软件和硬件环境需要具备以下相关环境服务器端操作系统WINDOWSXP系统WEB服务器端TOMCAT60JAVA开发包JDK16_10数据库MYSQLPHOTOSHOP美图工具DREAMWEAVER网页处理器IE或者FIREFOX、GOOGLECHROME浏览器均可以客户端IE或者FIREFOX、GOOGLECHROME浏览器均可以5数据库的设计51数据库分析数据库作为整个系统信息的载体,其作用毋庸置疑,所以,对于数据的安全级保密性都致关重要了。在程序开发中起着非常重要的作用,常常决定了在后面的程序设计中我们将进行怎样的代码编程。一个设计合理的、有限的数据库可以降低我们对程序的复杂性理解,可以让整个开发过程更为简单,往往成功的数据库设计是项目成功的重要保证。由于本项目是一个小型的毕业设计,而且从经济、开发成本的角度来说我们都是要选择免费的,然而,MYSQL作为一种开源的数据库管理软件,其为许多的中小型企业提供了很好的保证,降低了开发的成本。这是作为一个企业最基本的保障。同时MYSQL也提供了一个JDBC编程的接口,这样我们可以很方便的应用JAVA来操作数据库了。52数据库概要设计ER模型是我们对现实世界的一种抽象描述。它的主要成分有实体、属性和联系。通过这三种成分我们可以建立许许多多的应用环境的ER模型。本系统的实体主要包含用户实体、版块实体、主帖实体、回帖实体、广告实体、公告实体。下面将一一介绍几个实体以及实体ER图。1用户实体用户实体中包括用户ID、用户名、用户密码、用户邮箱、手机号码、用户QQ、用户性别、用户等级。其中用户ID是唯一标识一个用户的字段也即我们所说的主键,而且用户名、密码和用户邮箱是注册一个用户的时候必须填写的属性。当一个注册完的用户登录到该论坛的时候其可以再修改完善自己的信息,而且用户邮箱的填写可以用来到时候找回密码的时候所必须要的。其中用户等级用USER_STATUS来表示,这个字段在实际管理中也是非常的重要的,用以标识一个用户的身份,我们定义USER_STATUS1表示身份是管理员,USER_STATUS2表示板块的版主用户,USER_STATUS3的时候表示普通用户。用户实体的ER图如下所示图51用户实体ER图2版块实体版块实体包括板块ID、用户ID、板块父类ID、板块名称、板块内容、创建日期、板块的状态。其中板块ID是用来唯一标识该板块的字段,用户ID则是关联着该板块是由那个用户创建的,板块父类ID用以标识该版块是属于那个PLATE下面的板块,若是父类ID为0则表示该版块是一级板块,否则对应的则为二级版块。版块的状态则表示该版块是否还是处于使用的状态当状态为1时候表示还在使用,为0则表示该版块已经过期了或者没有被使用了。版块ER图如下所示图52版块实体ER图3主帖实体主贴实体包括主贴ID、版块ID、用户ID、主贴名称、主贴内容、主贴创建时间、状态。主贴ID则唯一表示该主帖帖子。板块ID关联该主帖子是属于那个PLATE模块下面,用户ID则表示该主帖是由谁创建的,状态也是表示该帖子是否还是处于使用状态当状态为1时候表示还在使用,为0则表示该版块已经过期了或者没有被使用了。主帖ER图如下所示图53主帖实体ER图4回帖实体回帖实体包括回帖ID、用户ID、主帖ID、回帖内容、回帖时间、状态。其中,回帖ID用以唯一标识一个回帖,用户ID关联着用户,主贴ID关联着该回帖是属于哪个主帖子下面。状态也是用于标识该回帖是否还是处于使用状态当状态为1时候表示还在使用,为0则表示该版块已经过期了或者没有被使用了。其中回帖实体的ER图如下图54回帖实体ER图5广告实体广告实体包括广告ID、用户ID、广告名称、广告内容、广告创建日期、状态。其中广告ID是唯一标识该广告的字段,用户ID关联一个用户。状态也是用于标识该广告是否还是处于使用状态当状态为1时候表示还在使用,为0则表示该版块已经过期了或者没有被使用了。如下即为广告ER图图55广告实体ER图6公告实体公告实体包括公告ID、用户ID、公告名称、公告内容、创建时间、状态。其中公告ID唯一标识一个公告。用户ID关联一个用户,状态也是用于标识该公告是否还是处于使用状态当状态为1时候表示还在使用,为0则表示该版块已经过期了或者没有被使用了。如下即为公告实体的ER图图56公告实体ER图其中,所有的实体之间整体的ER模型如下图57实体之间ER图53数据库的逻辑设计通过前面的概要设计我们已经对于整个数据库有一个大概的了解了,可以根据数据库的概要设计创建一个相应的数据库和在数据库中建立相应的表。以下为数据库和数据库中相应的表层次结构图58数据库与表关系图本系统共有六个表,以下将一一介绍其详细的数据字典。USER用户信息表用户信息表包含了注册该论坛用户的所有相关信息,而且在注册时候我们一般规定注册的用户都是普通用户,如果需要给该用户赋予版主的权限将需要到后台数据库中去修改。用户信息表数据字典如下表51用户表用户表USER字段名字段说明字段类型字段长度字段描述备注USER_ID唯一标识INT11主键自动增长USER_NAME用户姓名VARCHAR20不为空USER_PWD登录密码VARCHAR20不为空USER_EMAIL用户邮箱VARCHAR20USER_TELLPHONE手机号VARCHAR20USER_QQ用户QQVARCHAR20USER_SEX用户性别VARCHAR4USER_STATUS用户等级INT11权限字段用于标识用户身份的字段注意表中字段名都是小写。字段USER_STATUS用于标识用户身份的字段,我们在项目中,用1表示论坛系统管理员,2表示论坛某一个板块的版主,3表示注册论坛的普通用户。PLATE版块表版块表主要是包含了一些版块的基本信息,版块ID是唯一标识该表的字段,而且其表中含有了关联该用户的字段,表示是该用户创建的帖子。而PARENT_ID则表示该版块是否是一级版块还是二级版块。若是PARENT_ID为0则表示是一级版块,否则则表示二级版块。表52版块表版块表PLATE字段名字段说明字段类型字段长度字段描述备注PLATE_ID唯一标识INT11主键自动增长USER_ID用户IDINT11外键关联USER表的字段PARENT_ID父节点IDINT11为0标识一级版块PLATE_NAME版块名称VARCHAR50PLATE_CONTENT版块内容VARCHAR500PLATE_DATE版块创建时间TIMESTAMP0版块的创建时间PLATE_STATUS版块状态INT11用1标识在用,0已经停用TOPIC主帖表主帖表主要包含了一些有关主帖的信息,主帖ID用于唯一标识该主帖的字段,PLATE_ID和USER_ID则分别关联版块和用户。表53主帖表主帖表TOPIC字段名字段说明字段类型字段长度字段描述备注TOPIC_ID唯一标识INT11主键自动增长PLATE_ID版块IDINT11外键关联PLATE表的字段USER_ID用户IDINT11外键关联USER表的字段TOPIC_NAME主帖名称VARCHAR50TOPIC_CONTENT主帖内容VARCHAR500TOPIC_DATE主帖创建时间TIMESTAMP0TOPIC_STATUS主帖状态INT11用1标识该主帖在用,0标识已经停用REPLY回帖表回帖表主要包含了一些有关回帖的信息,回帖ID唯一表示该回帖的字段,USER_ID和TOPIC_ID则分别关联了用户和主贴。表54回帖表回帖表REPLY字段名字段说明字段类型字段长度字段描述备注REPLY_ID唯一标识INT11主键自动增长USER_ID用户IDINT11外键关联USER表的字段TOPIC_ID主帖IDINT11外键关联TOPIC表的字段REPLY_CONTENT回帖内容VARCHAR500REPLY_DATE回帖时间TIMESTAMP0REPLY_STATUS回帖状态INT11用1标识回帖在用,0标识已经停用ADVERTISE广告表广告表主要包含了一些有关的广告信息。其中ADVERTISE_ID用于为以标识该广告的字段。USER_ID关联用户。表55广告表广告表ADVERTISE字段名字段说明字段类型字段长度字段描述备注ADVERTISE_ID唯一标识INT11主键自动增长USER_ID用户IDINT11外键关联USER表的字段ADVERTISE_NAME广告名称VARCHAR50ADVERTISE_CONTENT广告内容VARCHAR500ADVERTISE_DATE广告创建时间TIMESTAMP0ADVERTISE_STATUS广告状态INT11ANOTICE公告表公告表主要包含一些公告的相关信息。其中ANOTICE_ID用于标识该公告的字段。USER_ID关联用户。表56公告表公告表ANOTICE字段名字段说明字段类型字段长度字段描述备注ANOTICE_ID唯一标识INT11主键自动增长USER_ID用户IDINT11外键关联USER表的字段ANOTICE_NAME公告名称VARCHAR50ANOTICE_CONTENT公告内容VARCHAR500ANOTICE_DATE公告创建时间TIMESTAMP0ANOTICE_STATUS公告状态INT11图59数据库物理设计图6BBS论坛的详细设计与实现由于系统的页面也相对比较多,因此,现在只将系统的重点设计与实现页面介绍如下。61系统整体功能模块介绍1用户模块主要包含用户信息注册、修改用户休息、用户信息的完善、用户登录、查询。2版块模块版块模块是主界面中的主要页面,主要包括查询、添加版块、删除板块、修改版块。3主帖模块主帖的存在依附于版块,是在某个版块下面存在的某一个主题帖子,可以通过对某一个版块下面的主题帖子进行查询、增加、删除、更新。4回帖模块回帖的存在也是依附于我们的主题帖子,是对于某一个主题帖子进行查询、回复、修改、删除。5广告模块广告模块是存在于某个用户对于某一个广告进行查询、创建、修改、更新。6公告模块公告模块也是管理员对于论坛内部的一些新的公告进行通告,从而查询、添加、删除、修改。62功能界面该系统的主要功能界面都采用了统一的界面设计风格,由于该论坛系统追求的风格是简洁、朴素风格,因此整体界面风格也很朴素实华。当一个用户进入到该论坛的时候主页显示如下图61系统首页当一个游客进入到该论坛的时候若是他她对该论坛的帖子有兴趣可以进入到相应的PLATE下的帖子查看相应的TOPIC。当他想评论该帖子的时候他就必须先登录该论坛,若是未注册过该论坛的话需要先注册该论坛他才可以评论。图62用户注册一论坛的规定是注册了该论坛的时候我们必须要点击我已经阅读以上条款并且同意的时候才可以进入下一步的注册填写。这一点也正是符合我们的普通论坛对于安全和自愿性的要求。以下则是一个对于正常的用户注册页面所必须要填写的一些基本信息,同时也做了很好的校验,我们既有前台的JS校验,也有后台数据库的校验,从而可以达到改善用户体验度的要求,人性化的提示更加温馨。图63用户注册二当用户进入到注册页面的时候,若是其想直接跳过图62的话将进入注册页面2的话将被直接拦截了,也必须跳转到图62页面才可以。当其进入图63注册页面的时候,既有前台的验证,也有后台数据库的验证,在前台中我们做了当对一个TEXT失去焦点的时候,利用AJAX技术做局部验证,刷新局部的数据,要是数据库中已经存在了该用户名的话,会显示如图所示的用户已经存在或者请用户登录。而且对于密码的也有一定的规定,规定密码长度必须为6到16个字符。而且当二次确认的时候,密码必须和之前输入的密码一致在可以通过注册的验证,当填入邮箱的时候我们对其做了简单的校验,其必须符合常规的邮箱格式规定。当一个用户登录时候输入的密码或者用户名错误的时候,会有如下提示图64登录时候出错提示当使用这样的提示之后可以很清楚告诉用户错误原因,而且可以避免黑客的攻击,若是提示说密码错误则危险性将会增大。若是用户非管理员登录成功之后就可以对自己的信息进行完善。修改自己用户信息的页面如下图65修改用户信息页面当用户使用完所有的相关操作的时候,就可以进行对帖子相关的操作了,可以查看帖子也可以对TOPIC进行REPLY。图66查看TOPIC页面当用户对某一个TOPIC感兴趣的时候可以对其发表自己的看法和见解。而且评论相对来说都是比较轻松。图67用户发表回帖在进行回帖设计的时候我引入了一个系统特色的编辑器,其相对于单纯的TEXTAREA编辑区来说可以更加丰富用户表达自己的情感。插件的引入也丰富了编辑的方式,我们可以选用自己喜欢的字体、格式、大小,而且可以插入相对而言比较丰富的语言表情。对于专业的懂一点编程技术的用户来说我们可以观看源代码,从而更加好的理解其特色的处理需求,当时,在开始的时候,当我自己把这个插件引进来的时候,由于采用了特殊的编辑处理,因此在数据库中保存的时候也是带有特殊格式的保存。这个时候就存在了一个问题,在把数据库中的数据读出来的时候不能正确的解析HTML格式,由于我采用了STRUTS20的标签在JSP中来显示,因此,只需要在标签中加入一个属性ESCAPE”FALSE”就把问题解决了。从而达到了更好的展示效果。7总结与期望随着现在社会网络的越来越完善,网络发展日益大众化以及普及化。人们对于信息的需求量也不断的扩大,尤其是对于当代大学生而言,交流工具和手段的多样化,同时对于信息的需求量也不断的增加。该论坛也可以在大学生中普遍使用,作为一个班级的信息交流群也是很好的。可以用作班上同学的平常交流和沟通的一个平台。本论文也是自己查阅了很多的资料和参考文献才得以完成的。虽然只有短短的几个月,但是自己的收获也还是很多很多的。对于普通的论坛设计以及一些布局、基本要求都是在不断的了解之后才懂的,在对自己的心声交流论坛基本理论和思想经过不断的论证之后才得以动手,提出采用先进的技术方法来解决的问题。采用基于WEB心声交流管理系统,并对该系统所实现的方法、体系结构都做了一些分析,以及讲述了系统的一些实现技术JAVA技术的功能以及其一些特性应用,并且结合MYECLIPSE作为开发工具,最后得以自己实现了基于WEB的心声交流论坛系统的设计和开发。具体来说自己也主要经历了下面一些工作1对心声交流论坛进行了需求分析以及该系统的一些特性功能。2对心声交流论坛的总体进行了介绍,包括整体结构、功能结构、以及一些系统流程图、开发环境的介绍3数据库的设计以及ER实体模型介绍,包括数据库的概要设计和逻辑设计,并且通过一些图片更加形象直观的表达了相关的意思,让用户一看就明白。4使用JAVA技术的优势和基于JAVA技术采用MYECLIPSE作为心声交流论坛系统开发工具,对系统的框架进行了良好整合。5心声交流论坛的详细设计与实现,其中也是通过了图片来直观的表达整个系统的主要功能流程,以及一些温馨的提示都展现到了用户面前,起到了很好的改善用户体验度。让用户充分了解该系统。通过本文基本上实现了心声交流论坛的基本功能,其对于相关的论坛网站都具有很好的参考价值。采用先进的开发技术,基于WEB的JAVA开发也是当前JAVA开发的主流,因此,对于自己也是一种很好的提升。但是,由于多方面的原因,本课题也还是存在很多的不足,今后自己努力的方向和需要改善的地方有以下一些1JSP整体页面设计风格过于简单,对于CSS布局方面自己还有待提高。2所实现

温馨提示

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

最新文档

评论

0/150

提交评论