论文-基于web的易语言论坛系统的设计与实现_第1页
论文-基于web的易语言论坛系统的设计与实现_第2页
论文-基于web的易语言论坛系统的设计与实现_第3页
论文-基于web的易语言论坛系统的设计与实现_第4页
论文-基于web的易语言论坛系统的设计与实现_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

更多相关文档资源请访问HTTP/WWWDOCINCOM/LZJ781219完整设计文件及源代码,资料请联系68661508索要毕业设计(论文)论文题目基于WEB的易语言论坛系统的设计与实现THESISTOPICDESIGNANDIMPLEMENTATIONFORBBSSYSTEMBASEDONWEB2015年5月18日学生姓名学号所在院系软件工程学院专业班级软件工程1102班导师姓名职称完成日期2015年5月18日编号_毕业设计(论文)答辩许可证软件工程学院软件工程系软件工程专业学生所编写的毕业设计论文56页,字数22874,符合毕业设计论文大纲的要求。经审查该生已学完教学计划规定的全部课程,成绩合格,毕业设计电子文档最后一稿已交,准予参加毕业设计(论文)答辩。相关材料材料名称数量毕业设计(论文)1册毕业论文缩写1册答辩汇报稿1份毕业设计(论文)电子版(最后一稿磁盘文件)1套指导教师(签名)院长系主任(签名)年月日毕业设计(论文)任务书毕业设计(论文)题目基于WEB的易语言论坛系统的设计与实现毕业设计(论文)要求及原始数据(资料)(1)综述国内JAVAEEWEB应用开发技术的现状,了解JAVAEEWEB项目开发的相关技术。(2)掌握JAVAEEWEB项目开发的基础知识与基本能力,掌握SPRINGMVC与HIBERNATE两大框架技术,掌握使用框架技术开发JAVAEEWEB项目的能力。(3)设计并实现一个基于WEB的论坛系统项目,总结通过此次项目实战在知识与技能方面的收获。(4)训练检索文件和利用文献资料的能力,训练撰写技术文档与学位论文的能力。(5)题目应简洁、明确、有概括性,字数不宜超过20个字;(6)摘要要有高度的概括力,语言精练、明确,中文摘要约300字;(7)关键词从论文标题或正文中挑选35个,最能表达主要内容的词作为关键词(8)目录写出目录,标明页码;(9)正文本科毕业论文正文字数一般应在25000字以上,毕业论文正文包括前言、本论、结论三个部分前言(引言)是论文的开头部分,主要说明论文写作的目的、现实意义、对所研究问题的认识,并提出论文的中心论点等。前言要写得简明扼要,篇幅不要太长。本论是毕业论文的主体,包括相关需求分析,设计,编码,测试,界面体现,流程介绍等,主要是界面设计和代码的编写及效果体现。结论是毕业论文的收尾部分,是围绕本论所作的结束语。其基本的要点就是总结全文,加深题意。(10)谢辞简述自己通过做毕业论文的体会,并应对指导教师和协助完成论文的有关人员表示谢意;(11)参考文献在毕业论文末尾要列出在论文中参考过的专著、论文及其他资料,所列参考文献应按文中参考或引证的先后顺序排列;毕业设计(论文)主要内容1描述国内网上论坛系统的现状;2综述国内JAVAEEWEB应用开发技术的概况;3简单介绍JAVAEEWEB项目开发的相关技术;4描述框架技术在JAVAEEWEB项目开发的重要性;5描述本项目开发环境的配置与项目运行的部署;6分析本项目需要的功能并做出相应的设计;7实现本项目的所有功能并保证足够的健壮性;8总结通过本项目所获得的知识与技能的提升;学生应交出的设计文件(论文)1内容完整、层次清晰、叙述流畅、排版规范的毕业设计论文;2包括毕业设计论文、源程序等内容在内的毕业设计电子文档及其它相关材料。主要参考文献(资料)1孙鑫JAVAWEB开发详解M电子工业出版社,20062孙卫琴,李洪成TOMCAT与JAVAWEB开发技术详解M电子工业出版社,20033袁建洲JAVASCRIPT编程宝典人民邮电出版社,20074李刚基于J2EE的AJAX宝典电子工业出版社,20075耿祥义JSP基础编程M清华大学出版社,20046林信良JSPTHEPOSTBARMVCJSP目录1绪论111背景意义112设计目标213开发与运行环境22可行性分析221经济可行性分析322技术可行性分析323运行可行性分析324法律可行性分析425开发方案可行性43需求分析431需求采集4311功能需求5312性能需求532功能模块6321基本功能设计7322扩展功能设计74系统设计841数据库表设计8411ER图分析9412数据库表设计1142功能设计15421登录注册15422查看贴吧列表16423查看帖子列表16424查看帖子详情16425查看提醒信息175系统实现1751功能实现17511登录注册18512查看贴吧列表19513查看帖子列表19514查看帖子详情20515查看提醒信息2152系统不足2253相关技术22531JAVAEEWEB23532JSP23533SERVLET24534JAVASCRIPT25535AJAX25536HIBERNATE25537SPRING25538SPRINGMVC266系统测试26结束语32参考文献34致谢351绪论11背景意义当今的社会是一个信息高速发展的社会,在信息的交流和传递当中,互联网占据着一个非常重要的位置。随着INTERNET技术的不断发展,以及用户群爆炸性地增长,网络不再仅仅是信息的被动获取来源,更成为人们探讨问题、交换观点的场所,各种网络应用应运而生。随着网络应用的兴起,人们交流的方式也发生了翻天覆地的变化。网络聊天、网络视频和邮箱系统等网络应用的出现正在改变着人们彼此之间沟通、交流的方式。此外,为了满足人们在某一特定主题下的知识获取和信息发布的需求,网上论坛顺势诞生了。随着时间的推移,论坛站点中积存了丰富的信息资源,不但有各类技术资料和新闻文档,还包含着用户的判断和评论,论坛站点己成为WEB信息库的重要组成部分,自网上论坛诞生20多年以来,随着WEB技术的发展,己经由原来简单的电子公告板系统发展为功能丰富的网上论坛和虚拟社区模式。各种论坛随着网络迅速发展,几乎充实着生活工作的每一个方面,无论是商界、政界,还是娱乐界,都有各种论坛。互联网正在融入我们的生活,网络提供给我们的不只是一个获取信息的来源,而且还是一个可以相互交流的空间,网上论坛正是一种供人们进行交流的网络空间,影响和改变着我们的生活。论坛是一个让人足不出户即可了解外界世界,了解他人所想的工具。给天下的网民都提供了交流的平台,为网络的互动性作出了巨大的贡献。人们根据自己的专业特长和兴趣爱好在论坛上提出自己的问题,即提出主题。而后其他人根据主题内容可以发表自己的意见和看法,即回复主题。一千个人有一千个哈姆雷特,论坛集大家之所长,所感,为每一个用户提供了丰富的知识矿藏。通过论坛,网民们得以更方便的交流,更便捷的发表自己的观点,而且发布信息都是通过有记录的文字来进行,所以这样也避免了精华内容的流失。通过论坛来征得自己想要的信息,有更高的效率和时效性,也最节约成本和资源。在论坛的交流过程中,参与讨论的人可以处于一个平等的位置,且无论喜怒哀乐都是在虚拟的环境中进行,避免了正面的尴尬和冲突等。在论坛中,人们可以演变成任何角色,变换多种身份,因为网络的特征,使得人民更加依赖于论坛中的交流。12设计目标百度贴吧,是全球最大的主题中文社区,其基于搜索引擎和开放关键词的形态已变成一种通用的互联网产品模式,被中文网站广为学习采纳,产生了大量类似“贴吧”的平台。而本系统也正是借鉴了百度贴吧开放关键词的特点,在实现了论坛基本功能的基础上,扩展了论坛系统的现有功能。游客用户可以查询贴吧,浏览帖子,也可以通过注册功能获得系统账号,从而登录本系统,升级成为登录用户,获得对应的权限。登录用户不仅可以查询贴吧,浏览帖子,还可以发表帖子,回复帖子,查看通知,参与贴吧活动,创建贴吧,管理贴吧等,是本系统的核心用户。管理员用户不仅仅具有贴吧的所有权限,同时还肩负着发展贴吧的重任,是贴吧的核心人物。13开发与运行环境操作系统MICROSOFTWINDOWS7ULTIMATE64BITJDKJAVASEDEVELOPMENTKIT7U75开发工具ECLIPSELUNASERVICERELEASE2442数据库ORACLEDATABASE11GRELEASE2EXPRESSEDITION1102服务器APACHETOMCAT70592可行性分析可行性研究阶段的主要任务是在系统初步调查的基础上,对新系统是否能够实现和值得实现等问题作出判断,避免在花费了大量的人力和物力之后才发现系统不能实现或新系统投入使用后没有任何实际意义而引起的浪费,对新系统可行性的分析,要求用最小的代价在尽可能短的时间内确定系统是否可行。可行性研究的目的不是解决问题,而是确定问题是否值得去解。如何实现不能靠主观猜想而只能客观分析。必须分析几种主要的可能解法的利弊,从而判断原定的系统目标和规模是否实现,系统完成后能带来的效益是否大到值得投资开发这个系统的程序。任务可行性研究实质上是要进行一次大的压缩简化了的系统分析和设计的过程。分析员应该给出系统的逻辑模型,然后从系统逻辑模型出发,寻找可供选择的解法,研究每一种解法的可行性。一般来说,应从经济可行性,技术可行性,运行可行性,法律可行性和开发方案等方面研究可行性。21经济可行性分析经济可行性研究主要进行成本效益分析,包括估计项目的开发成本,估算开发成本是否会高于项目预期的全部利润。对于本系统来说,开发与运行所使用到的软件与工具都是免费的,都可以在网络上下载到,而且整个系统皆由作者本人独立完成,经济问题完全不存在,所以本设计在经济方面是可行的。22技术可行性分析技术可行性是最难决断和最关键的问题。根据系统功能、性能及实现体统的各项约束条件,从技术的角度研究系统实现的可行性。本系统使用JAVA语言开发,同时采用了HTML,JSP,CSS,JAVASCRIPT,AJAX,SERVLET以及SPRINGMVC与HIBERNATE两大框架技术,在数据库上采用的是ORACLE数据库,服务器采用的是TOMCAT。本系统使用到了这些技术,但是涉及却不是很深,作者可凭借所学知识以及网络来解决所遇见的问题。23运行可行性分析运行可行性研究内容包括新系统规定的运行方式是否可行,如果新系统是建立在原来已担负起它任务的计算机系统上的,就不能要求它在实时在线状态下运行,以免与原有的任务相矛盾。另外就是用户是否可以熟练的运用它。本系统最终将会运行在本地计算机上,即使需要联网运行,也可以使用花生壳软件来映射内网,达到使用域名访问该系统的效果。本地计算机只负担该项目一个运行任务,而且本系统的用户量也很少,所以运行在本地计算机上没有任何问题。24法律可行性分析法律可行性是指研究在系统开发过程中可能涉及的各种合同、侵权、责任以及各种与法律相抵触的问题。本系统在开发过程中使用的都是免费的开源的软件以及代码,所参考的资料也是免费的或者是通过付费获得的,所以不会涉及任何法律相关的问题。25开发方案可行性提出系统实现的各种方案并进行评价之后,从中选择一种最优秀的方案。本系统经过了作者深思熟虑,结合作者之前在其他项目上的开发经验,最终确定下了一套开发方案,这套开发方案完全可行。3需求分析需求分析是在软件开发的初始阶段进行,它对于整个软件开发过程以及软件开发后质量是举足轻重的。随着软件系统复杂性的提高及规模的扩大,需求分析在软件开发中所处的地位愈加突出。所谓需求,是指用户对目标软件系统在功能、行为、性能设计约束等方面的要求。在需求分析的研究中,系统开发人员必须对用户的需求进行调查和分析,结合实际环境的特征,正确定义目标软件的特征。所谓需求分析,是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。可以说,在软件工程当中的“需求分析”就是确定要计算机“做什么”,要达到什么样的效果。可以说需求分析是做系统之前必做的。31需求采集在软件工程中,需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。需求分析是软件工程中的一个关键过程。在这个过程中,系统分析员和软件工程师确定顾客的需要。只有在确定了这些需要后,他们才能够分析和寻求新系统的解决方法。需求分析阶段的任务是确定软件系统功能。311功能需求就本系统来说,本系统属于BBS系统,而且结合了百度贴吧开放关键词的设计模式,应该具备如下功能,现在按照游客与会员(登录用户)来介绍。游客是指一些访问本系统的时候没有进行过登录操作的用户。游客只有查询的权限,可以访问本系统包含的所有贴吧,可以浏览某个贴吧的所有的帖子,但是游客没有执行任何操作的权限,游客不能创建新的贴吧,不能发表新的帖子,不能回复已有的帖子。游客可以通过系统提供的注册页面来获得系统承认的账号,通过账号登录本系统,以获得与会员一致的权限。会员会员是本系统的核心用户,他们参与在贴吧建设的方方面面。会员在拥有游客的所有权限的同时,还拥有更多与系统进行交互的权限。会员可以更新自己账号的信息,可以创建暂不存在的贴吧,可以在任何贴吧发表新的帖子,可以回复任何已存在的帖子。会员们可以通过帖子进行交流,当有会员与你发生信息交互时,系统会给出相对应的通知,而会员也可以通过查看通知来获得信息详情。管理员用户,即吧主,也是会员,是某一个贴吧的管理者,肩负着壮大该贴吧的责任。会员可以通过创建一个贴吧来成为该贴吧的吧主,拥有该贴吧的最高权限。可以修改该贴吧的信息,可以管理本吧的帖子。吧主仅仅在属于其自己的贴吧才是吧主,到了别的贴吧,其权限就会变成普通会员。此外,吧主还拥有着游客和会员的所有权限。312性能需求本系统是BBS论坛系统,为了给用户较好的体验,需要本系统响应快速,所以在此对硬件及软件做了需求分析。硬件环境处理器INTER酷睿I5或更高内存大小4GB或更高硬盘空间10GB或更高软件环境操作系统WIN7或更高服务器TOMCAT60或更高数据库ORACLEDATABASE10G或更高32功能模块画出功能模块图是软件工程过程中的一个重要环节,它将显示出工程所要实现的各种功能,并分类,然后软件工程师根据功能模块图来通过代码具体实现这些功能。功能模块图就是讲系统的功能进行分解,按功能从属关系表示的图表。管理系统的各子系统可以看作是系统目标下层的功能,对其中每项功能可以继续分解为第三、第四,甚至更多的功能。图中的每一个框都称为一个功能模块,其功能根据实际情况分的大小不完全相同。图31贴吧系统用户类型及对应功能概览图321基本功能设计通过需求分析,论坛的基本功能可以从众多的需求中筛选出来。顾名思义,基本功能就是构成论坛系统的必要功能,具备这些功能的WEB系统即是论坛。1浏览帖子。发表了帖子,就要供他人浏览查看,与他人分享自己的想法和经验。2发表帖子。论坛最初是为了相互讨论话题而诞生的,发表帖子就是表达自己的看法,与他人进行讨论,因此发帖是论坛首要的功能。3回复帖子。浏览了他人发表的帖子,想要发表自己的想法,参与讨论,就可以回复这个帖子。其实,浏览帖子发表帖子回复帖子三大功能周而复始的循环进行,就构成论坛。每个参与论坛的人,主要目的就是发帖,查看已经发表的帖子,针对自己感兴趣的帖子进行回帖,参与讨论。三大基本功能的相互关系如图图32贴吧系统基本功能相互关系图322扩展功能设计除了基本功能之外,其他的论坛功能都是扩展功能。1注册登录。用户登录系统之后,用户信息被系统读取到,用户执行操作的时候,系统直接获取这个信息,所以会员的权限比游客高。2分板块浏览帖子。其实不同的贴吧就是不同的板块,在某一个主题为某关键词的贴吧里只讨论与该关键词相关的话题。这样,就使得对某一话题感兴趣的用户不会被其他帖子干扰,也有利于相同兴趣的用户相互间讨论,不易跑题。3查看用户信息。每一个用户可以查看所有用户的信息。4删除帖子。如果用户发表了不符合论坛规则的帖子,则需要管理员删除这些帖子,这就引出了删除帖子的扩展功能。5置顶帖子。帖子一般是根据发表以及回复时间到序排列的,这样先发的帖子就慢慢排到后面,管理员如果需要强调某些帖子重要,又必看性,就要打乱默认的排列顺序,将这些帖子放在列表的最前端,不再按照时间进行顺序的变化,但是还要保证其他帖子按照时间变化顺序进行排列,这就引出了置顶帖子的扩展功能。6精华帖子。如果管理员认为某个帖子的内容非常好,可以打上标记,推荐给看帖的用户,这就引出了指定精华帖的扩展功能。用户可以选择只看打上标记的精华帖。7搜索帖子。论坛中的帖子越来越多,用户需要从大量的帖子中找到自己需要的内容,这就引出了搜索帖子的扩展功能。8设置参数。论坛一般有一些初始化信息,比如论坛名称,每页显示帖子数量等参数信息,用户可以在页面底部设置这些信息。9查看通知信息。比如说管理员删帖,删帖后系统会提醒发帖用户。帖子列表浏览帖子回复帖子发表帖子10查看回复信息。在用户发帖或回帖之后,被其它用户回帖,系统也会给出相应的提醒信息。11查看提到情况。有时候别人发帖回特别提醒你一下(用户),系统也会做出相应的提醒。4系统设计41数据库表设计数据库系统是在文件系统的基础上发展而来的,经历了层次数据库、网状数据库、关系数据库三个阶段。由于关系数据库采用人们比较容易理解和接受的二维表格来组织数据,发展迅速,已成为数据库产品的主流。本次系统设计所使用的数据库就是关系数据库ORACLE。ORACLE数据库管理系统是一项全面完整的数据库与分析产品。ORACLE容易学习、使用,介绍、学习资料比较多,ORACLE全面支持WEB功能的数据库解决方案。与此同时,ORACLE11G提供了高性能、伸展性、可用性和安全性,并能更方便地在低成本服务器和存储设备组成的网络上运行,相对过往版本而言,ORACLE11G具有了于总不同的特性,这也是企业数据库系统在激烈市场竞争中克敌制胜的关键所在。正是由于ORACLE和其它的大型数据库相比较,ORACLE具有可靠的安全性、较快的存储速度、高度的兼容性和可扩展性、数据的大量性、数据保存的持久性、数据的共享性、简单易用等等一系列的特性。因此,我采用了ORACLE11G作为后台的数据库。本系统的数据库暂时包含了7张表,分别为TABLE_MEMBER,TABLE_LEVEL,TABLE_TIEBA,TABLE_TIEZI,TABLE_FLOOR,TABLE_MESSAGE,TABLE_REMIND。他们之间存在一些依赖或包含的关系,系统可以有很多贴吧,每个贴吧下可以有很多帖子,每个帖子下可以有很多层楼,每层楼又可以包含很多个信息。下面将对这几张表作相应的介绍。411ER图分析ER模型是对现实世界的一种抽象。它的主要成分是实体、联系和属性。使用这三种成分,我们可以建立许多应用环境的ER模型。本系统的实体和属性的定义如下图41会员信息实体图图42贴吧信息实体图图43帖子信息实体图图44楼层信息实体图图45信息信息实体图图46提心信息实体图412数据库表设计TABLE_MEMBER会员表字段描述字段名类型说明ID_MEMBERNUMBER17主键,会员ID,根据注册时间得到的17位数字USERNAMEVARCHAR220用户名PASSWORDVARCHAR232密码,MD5加密后为32位字符串PHONEVARCHAR211电话EMAILVARCHAR230邮箱GENDERVARCHAR23性别,只能为男或女BIRTHDAYVARCHAR210生日,格式为YYYYMMDDADDRESSVARCHAR2150地址QQNUMBERVARCHAR211QQ账号SIGNATUREVARCHAR2150个性签名EXPERIENCENUMBER10经验值ROLENUMBER1角色,1普通会员0吧主,会员在每个吧的角色都不同,进入贴吧会自动更新STATUSNUMBER1状态,1正常2加黑3封禁有专门的加黑表,封禁表,会员在每个吧的这些状态不同,进入贴吧会自动更新表41TABLE_MEMBER会员表关键建表语句CONSTRAINTPK_MEMBER_1PRIMARYKEYID_MEMBERTABLE_TIEBA贴吧表字段描述字段名类型说明ID_TIEBANUMBER17主键,贴吧ID,根据创建时间得到的17位数字ID_MEMBERNUMBER17外键,吧主ID,根据注册时间得到的17位数字NAMEVARCHAR230贴吧名称SIGNATUREVARCHAR2150贴吧签名STATUSNUMBER1状态,1可视0不可视表42TABLE_TIEBA贴吧表关键建表语句CONSTRAINTPK_TIEBA_1PRIMARYKEYID_TIEBA,CONSTRAINTFK_TIEBA_2FOREIGNKEYID_MEMBERREFERENCESTABLE_MEMBERID_MEMBERTABLE_TIEZI帖子表字段描述字段名类型说明ID_TIEBANUMBER17主键,外键,贴吧ID,根据创建时间得到的17位数字ID_TIEZINUMBER17主键,帖子ID,根据发帖时间得到的17位数字ID_MEMBERNUMBER17外键,会员ID,根据注册时间得到的17位数字NAME_MEMBERVARCHAR220会员用户名,发帖用户STATUSNUMBER1状态,1可视0不可视TITLEVARCHAR2150帖子标题表43TABLE_TIEZI帖子表关键建表语句CONSTRAINTPK_TIEZI_12PRIMARYKEYID_TIEBA,ID_TIEZI,CONSTRAINTFK_TIEZI_1FOREIGNKEYID_TIEBAREFERENCESTABLE_TIEBAID_TIEBA,CONSTRAINTFK_TIEZI_3FOREIGNKEYID_MEMBERREFERENCESTABLE_MEMBERID_MEMBERTABLE_FLOOR楼层表字段描述字段名类型说明ID_TIEBANUMBER17主键,外键,贴吧ID,根据创建时间得到的17位数字ID_TIEZINUMBER17主键,外键,帖子ID,根据发帖时间得到的17位数字ID_FLOORNUMBER17主键,楼层ID,根据发帖时间得到的17位数字ID_MEMBERNUMBER17外键,会员ID,根据注册时间得到的17位数字NAME_MEMBERVARCHAR220会员用户名,发楼用户STATUSNUMBER1状态,1可视0不可视表44TABLE_FLOOR楼层表关键建表语句CONSTRAINTPK_FLOOR_123PRIMARYKEYID_TIEBA,ID_TIEZI,ID_FLOOR,CONSTRAINTFK_FLOOR_12FOREIGNKEYID_TIEBA,ID_TIEZIREFERENCESTABLE_TIEZIID_TIEBA,ID_TIEZI,CONSTRAINTFK_FLOOR_4FOREIGNKEYID_MEMBERREFERENCESTABLE_MEMBERID_MEMBERTABLE_MESSAGE信息表字段描述字段名类型说明ID_TIEBANUMBER17主键,外键,贴吧ID,根据创建时间得到的17位数字ID_TIEZINUMBER17主键,外键,帖子ID,根据发帖时间得到的17位数字ID_FLOORNUMBER17主键,外键,楼层ID,根据发帖时间得到的17位数字ID_MESSAGENUMBER17主键,楼层ID,根据发帖时间得到的17位数字ID_FROMNUMBER17外键,会员ID,根据注册时间得到的17位数字NAME_FROMVARCHAR220会员用户名,信息发送人ID_TONUMBER17外键,会员ID,根据注册时间得到的17位数字NAME_TOVARCHAR220会员用户名,信息接收人STATUSNUMBER1状态,1可视0不可视CONTENTVARCHAR23000信息内容表45TABLE_MESSAGE信息表关键建表语句CONSTRAINTPK_MESSAGE_1234PRIMARYKEYID_TIEBA,ID_TIEZI,ID_FLOOR,ID_MESSAGE,CONSTRAINTFK_MESSAGE_123FOREIGNKEYID_TIEBA,ID_TIEZI,ID_FLOORREFERENCESTABLE_FLOORID_TIEBA,ID_TIEZI,ID_FLOOR,CONSTRAINTFK_MESSAGE_5FOREIGNKEYID_FROMREFERENCESTABLE_MEMBERID_MEMBER,CONSTRAINTFK_MESSAGE_7FOREIGNKEYID_TOREFERENCESTABLE_MEMBERID_MEMBERTABLE_REMIND提醒表字段描述字段名类型说明KINDNUMBER1提醒类型,1通知2回复3提到ID_REMINDNUMBER17主键,提醒ID,根据创建时间得到的17位数字ID_TIEBANUMBER17贴吧ID,根据创建时间得到的17位数字NAMEVARCHAR230贴吧名称ID_TIEZINUMBER17帖子ID,根据发帖时间得到的17位数字TIELEVARCHAR2150帖子标题ID_FLOORNUMBER17楼层ID,根据发帖时间得到的17位数字ID_MESSAGENUMBER17信息ID,根据创建时间得到的17位数字ID_FROMNUMBER17外键,会员ID,根据注册时间得到的17位数字NAME_FORM会员用户名,提醒发送人ID_TONUMBER17外键,会员ID,根据注册时间得到的17位数字NAME_TO会员用户名,提醒接收人STATUSNUMBER1状态,1未读0已读CONTENTVARCHAR23000提醒内容表46TABLE_REMIND提醒表关键建表语句CONSTRAINTPK_REMIND_12PRIMARYKEYKIND,ID_REMIND42功能设计421登录注册登录与注册功能几乎是WEB项目里不可或缺的存在,当然本论坛系统也不例外。在本系统里,登录注册模块完全独立了出来,单独设置成了一个JSP页面,在其他所有页面里面调用该页面即可。系统会根据不同情况在SESSION里面设置不同的参数以及相对应的数据,而本JSP页面则会根据参数是否为空来选择不同的显示方式。而且本JSP页面采用浮动技术,会一直固定在页面的最顶部,不会随着页面的滚动而移动。本JSP页面会显示贴吧名称以及贴吧签名信息,同时还兼具用户登录与注册功能。其通过JQUERY与AJAX来做登录验证。登录成功后,会重新加载页面,这样很多游客不具备的权限都会随着用户的登录而变得可视或可操作。用户点击了注册按钮,系统会跳转到注册页面,用户只需要填写最关键的账号,密码,手机,邮箱,通过合法性验证,即可完成注册,其他信息可以在注册之后完善,账号一经注册不能修改。同时还会显示未读提醒的数量,点击之后会跳转到查看提醒页面,这个在下面的查看提醒信息里会介绍到。422查看贴吧列表系统会将已存在的贴吧显示在贴吧首页,用户可以通过点击每一个贴吧的“进入贴吧”按钮来跳转到对应贴吧的贴吧主页,也可以通过点击“查看贴吧信息”或“查看吧主信息”来查看用户感兴趣的信息。所有的贴吧按照创建时间从早到晚的顺序排列,创建的越早则显示的位置越靠前。用户也可以通过在贴吧搜索框里面输入贴吧名称的关键字(关键字可以有多个,中间使用空格来区分),来查找相应的贴吧,系统会把满足搜索条件的贴吧全都列出来,显示在贴吧列表之前,便于用户查看。若是用户没有找到自己想要找的贴吧,也可以通过点击“创建贴吧”按钮来创建一个新的贴吧。如果贴吧创建成功,那么该用户就会成为这个贴吧的吧主,拥有本吧里的最高权限,但是在其他非吧主的贴吧里,该用户仍然只是普通会员,受该吧吧主的管制。423查看帖子列表用户通过点击“进入贴吧”按钮,跳转到某一个贴吧的首页,该吧的所有的可视的帖子,都会被系统检索到,然后显示到这里。帖子的显示分两种,一种是置顶帖,一种是普通帖。置顶帖会优先显示到列表最顶端。两种类型的帖子都会按照时间顺序,较新的帖子会显示在靠前的位置。游客与会员的功能第一次显现差别,在这里登录用户可以直接发表新的帖子,可以删除自己发的帖子,但是游客则没有这样的权限,必须得通过登录系统才可以。424查看帖子详情用户通过点击帖子列表页面的任何一个帖子标题,即可进入查看该帖子的详情。同样,所有可视的信息都会被系统读取到,然后显示出来。在这里游客与登录用户的区别再一次体现了出来,游客只能浏览而不能回复,登录用户可以发表一个新的楼层,也可以在某个已有楼层下回复某一个用户,也可以只回复层主,回复的楼层会显示在当前帖子的最末楼,回复的信息会显示在某一楼的最末信息位置。在这里,系统会根据登录用户与帖子的关系以及登录用户的权限来显示不同的操作权限。首先是大前提,用户不能回复自己,如果信息是楼层的第一条信息,那么不能删除该信息,而只能删除该楼层。其次是小限制,吧主拥有大前提下的最高权限,用户(楼主)在自己发的贴子里拥有与吧主一致的权限,用户(层主)在自己发的楼层里拥有与吧主一致的权限。用户(发信息者)只对自己发的信息拥有与吧主一致的权限。425查看提醒信息提醒信息总共分为三种类型,通知提醒,回复提醒,提到提醒。通知提醒包括有管理员删帖,管理员置顶帖,管理员精华帖等。回复提醒就是有别人对你的发言进行了回复后系统发给你的提醒,提到提醒就是别人发帖或回帖是特地到你后体统发给你的提醒。在本系统中,提醒模块所包含的内容有系统通知,回复我的,提到我的,我回复的,我提到的共5部分。5系统实现51功能实现1本系统的前台JSP页面使用如下代码重新设定了相对路径。“这样把相对位置设置成了BASEPATH,完美解决了相对位置发生改变导致页面找不到的问题。2本系统的服务器使用了80端口,并配置了如下信息重新设置了访问地址。这样只需要一个域名或IP地址就可以访问到本项目了,不需要加端口号和项目名,设计比较人性化,测试也较为方便。511登录注册登录LOGIN_SERVLETJAVAMEMBERMEMBERSERVICELOGINUSERNAMEORPHONEOREMAIL,PASSWORDIFMEMBERNULLOUTPRINT“HTTPSESSIONSESSIONREQUESTGETSESSIONSESSIONSETATTRIBUTE“MEMBER_“,MEMBERLEVELLEVELSERVICEFINDLEVELBYPOINTMEMBERGETEXPERIENCESESSIONSETATTRIBUTE“LEVEL_“,LEVELELSEOUTPRINT“注册CONTROLLER_MEMBERJAVAREQUESTMAPPINGVALUE“/INSERT“,METHODREQUESTMETHODGETPUBLICSTRINGINSERTMODELMODELMODELADDATTRIBUTE“MEMBER“,NEWMEMBERRETURN“/MEMBER/INSERTJSP“REQUESTMAPPINGVALUE“/INSERT“,METHODREQUESTMETHODPOSTPUBLICSTRINGINSERTMEMBERMEMBERTHROWSEXCEPTIONSERVICEREGISTERMEMBERRETURN“REDIRECT/MEMBER/SELECT/“MEMBERGETID_MEMBERTOSTRINGMEMBERSERVICEIMPLEMENTJAVAIFDAOFINDMEMBERBYUSERNAMEMEMBERGETUSERNAMENULLTHROWNEWEXCEPTION“该用户名已经被注册“IFDAOFINDMEMBERBYPHONEMEMBERGETPHONENULLTHROWNEWEXCEPTION“该手机号码已经被注册“IFDAOFINDMEMBERBYEMAILMEMBERGETEMAILTOUPPERCASENULLTHROWNEWEXCEPTION“该邮箱已经被注册“LONGIDDATETIMEGETDATETIMEFORMATLONGWITHSSSWHILEDAOFINDMEMBERBYMEMBERIDIDNULLIDDATETIMEGETDATETIMEFORMATLONGWITHSSSMEMBERSETID_MEMBERIDMEMBERSETPASSWORDMD5GETMD5MEMBERGETPASSWORDMEMBERSETEMAILMEMBERGETEMAILTOUPPERCASEDAOSAVEMEMBERMEMBER512查看贴吧列表CONTROLLER_TIEBAJAVAREQUESTMAPPINGVALUE“,“/“,METHODREQUESTMETHODGETPUBLICSTRINGLISTMODELMODEL,HTTPSESSIONSESSIONTHROWSEXCEPTIONTIEBATIEBANEWTIEBA“十度贴吧“,“全球最大的中文社区“,NULLSESSIONSETATTRIBUTE“TIEBA_“,TIEBALISTTIEBASSERVICE_TIEBAFINDALLTIEBASMODELADDATTRIBUTE“TIEBAS“,TIEBASRETURN“TIEBA/LISTJSP“REQUESTMAPPINGVALUE“/SEARCH“,METHODREQUESTMETHODPOSTPUBLICSTRINGSEARCHSTRINGSEARCH,MODELMODEL,HTTPSESSIONSESSIONTHROWSEXCEPTIONIFSEARCHLENGTH0STRINGKEYWORDSSEARCHSPLIT“LISTRESULTSERVICE_TIEBAFINDTIEBASBYKEYWORDSKEYWORDSSESSIONSETATTRIBUTE“RESULT“,RESULTRETURN“REDIRECT/TIEBA“513查看帖子列表CONTROLLER_TIEBAJAVAREQUESTMAPPINGVALUE“/HOME/ID_TIEBA“,METHODREQUESTMETHODGETPUBLICSTRINGHOMEPATHVARIABLESTRINGID_TIEBA,MODELMODEL,HTTPSESSIONSESSIONTHROWSEXCEPTIONTIEBATIEBASERVICE_TIEBAFINDTIEBABYTIEBAIDLONGPARSELONGID_TIEBASESSIONSETATTRIBUTE“TIEBA_“,TIEBALISTTIEZIS_TOPSERVICE_TIEZIFINDALLTOPTIEZISBYTIEBAIDLONGPARSELONGID_TIEBALISTTIEZIS_ALLSERVICE_TIEZIFINDALLVISIBLETIEZISBYTIEBAIDLONGPARSELONGID_TIEBAMODELADDATTRIBUTE“TIEZIS_TOP“,TIEZIS_TOPMODELADDATTRIBUTE“TIEZIS_ALL“,TIEZIS_ALLRETURN“/TIEBA/HOMEJSP“514查看帖子详情CONTROLLER_TIEBAJAVAREQUESTMAPPINGVALUE“/SELECTTIEZI/ID_TIEBA/ID_TIEZI“,METHODREQUESTMETHODGETPUBLICSTRINGSELECTTIEZIPATHVARIABLESTRINGID_TIEBA,PATHVARIABLESTRINGID_TIEZI,MODELMODEL,HTTPSESSIONSESSIONTHROWSEXCEPTIONTIEBATIEBASERVICE_TIEBAFINDTIEBABYTIEBAIDLONGPARSELONGID_TIEBAMODELADDATTRIBUTE“TIEBA_“,TIEBADATADATASERVICE_TIEZILOADTIEZIBYTIEBAIDANDTIEZIIDLONGPARSELONGID_TIEBA,LONGPARSELONGID_TIEZIMODELADDATTRIBUTE“DATA“,DATARETURN“/TIEBA/SELECTTIEZIJSP“REQUESTMAPPINGVALUE“/INSERTFLOOR/ID_TIEBA/ID_TIEZI“,METHODREQUESTMETHODPOSTPUBLICSTRINGINSERTFLOORPATHVARIABLESTRINGID_TIEBA,PATHVARIABLESTRINGID_TIEZI,STRINGCONTENT,MODELMODEL,HTTPSESSIONSESSIONTHROWSEXCEPTIONMEMBERMEMBERMEMBERSESSIONGETATTRIBUTE“MEMBER_“MEMBERSETEXPERIENCEMEMBERGETEXPERIENCE1LMEMBERSETPASSWORDNULLSERVICE_MEMBERUPDATEMEMBERSERVICE_TIEZISENDFLOORLONGPARSELONGID_TIEBA,LONGPARSELONGID_TIEZI,MEMBERGETID_MEMBER,MEMBERGETUSERNAME,CONTENTRETURN“REDIRECT/TIEBA/SELECTTIEZI/“ID_TIEBA“/“ID_TIEZIREQUESTMAPPINGVALUE“/INSERTMESSAGE1/ID_TIEBA/ID_TIEZI/ID_FLOOR/ID_TO/NAME_TO“,METHODREQUESTMETHODPOSTPUBLICSTRINGINSERTMESSAGEPATHVARIABLESTRINGID_TIEBA,PATHVARIABLESTRINGID_TIEZI,PATHVARIABLESTRINGID_FLOOR,PATHVARIABLESTRINGID_TO,PATHVARIABLESTRINGNAME_TO,STRINGCONTENT,MODELMODEL,HTTPSESSIONSESSIONTHROWSEXCEPTIONMEMBERMEMBERMEMBERSESSIONGETATTRIBUTE“MEMBER_“MEMBERSETEXPERIENCEMEMBERGETEXPERIENCE1LMEMBERSETPASSWORDNULLSERVICE_MEMBERUPDATEMEMBERSESSIONSETATTRIBUTE“MEMBER_“,MEMBERSERVICE_TIEZISENDMESSAGELONGPARSELONGID_TIEBA,LONGPARSELONGID_TIEZI,LONGPARSELONGID_FLOOR,MEMBERGETID_MEMBER,MEMBERGETUSERNAME,LONGPARSELONGID_TO,NAME_TO,CONTENTRETURN“REDIRECT/TIEBA/SELECTTIEZI/“ID_TIEBA“/“ID_TIEZI515查看提醒信息CONTROLLER_TIEBAJAVAREQUESTMAPPINGVALUE“/REMIND/INFORM“,METHODREQUESTMETHODGETPUBLICSTRINGINFORMMODELMODEL,HTTPSESSIONSESSIONTHROWSEXCEPTIONTIEBATIEABTIEBASESSIONGETATTRIBUTE“TIEBA_“MODELADDATTRIBUTE“TIEBA“,TIEABMEMBERMEMBERMEMBERSESSIONGETATTRIBUTE“MEMBER_“LISTINFORMSSERVICE_REMINDFINDINFORMREMINDSBYTOIDMEMBERGETID_MEMBERMODELADDATTRIBUTE“INFORMS“,INFORMSMODELADDATTRIBUTE“FLAG“,“INFORMS“RETURN“/TIEBA/REMINDJSP“REQUESTMAPPINGVALUE“/REMIND/REPLY“,METHODREQUESTMETHODGETPUBLICSTRINGREPLYMODELMODEL,HTTPSESSIONSESSIONTHROWSEXCEPTIONTIEBATIEABTIEBASESSIONGETATTRIBUTE“TIEBA_“MODELADDATTRIBUTE“TIEBA“,TIEABMEMBERMEMBERMEMBERSESSIONGETATTRIBUTE“MEMBER_“LISTREPLYSSERVICE_REMINDFINDREPLYREMINDSBYTOIDMEMBERGETID_MEMBERMODELADDATTRIBUTE“REPLYS“,REPLYSMODELADDATTRIBUTE“FLAG“,“REPLYS“RETURN“/TIEBA/REMINDJSP“REQUESTMAPPINGVALUE“/REMIND/MENTION“,METHODREQUESTMETHODGETPUBLICSTRINGMENTIONMODELMODEL,HTTPSESSIONSESSIONTHROWSEXCEPTIONTIEBATIEABTIEBASESSIONGETATTRIBUTE“TIEBA_“MODELADDATTRIBUTE“TIEBA“,TIEABMEMBERMEMBERMEMBERSESSIONGETATTRIBUTE“MEMBER_“LISTMENTIONSSERVICE_REMINDFINDMENTIONREMINDSBYTOIDMEMBERGETID_MEMBERMODELADDATTRIBUTE“MENTIONS“,MENTIONSMODELADDATTRIBUTE“FLAG“,“MENTIONS“RETURN“/TIEBA/REMINDJSP“REQUESTMAPPINGVALUE“/REMIND/REPLYFROMME“,METHODREQUESTMETHODGETPUBLICSTRINGREPLYFROMMEMODELMODEL,HTTPSESSIONSESSIONTHROWSEXCEPTIONTIEBATIEABTIEBASESSIONGETATTRIBUTE“TIEBA_“MODELADDATTRIBUTE“TIEBA“,TIEABMEMBERMEMBERMEMBERSESSIONGETATTRIBUTE“MEMBER_“LISTREPLYSFROMMESERVICE_REMINDFINDMENTIONREMINDSBYFROMIDMEMBERGETID_MEMBERMODELADDATTRIBUTE“REPLYSFROMME“,REPLYSFROMMEMODELADDATTRIBUTE“FLAG“,“REPLYSFROMME“RETURN“/TIEBA/REMINDJSP“REQUESTMAPPINGVALUE“/REMIND/MENTIONFROMME“,METHODREQUESTMETHODGETPUBLICSTRINGMENTIONFROMMEMODELMODEL,H

温馨提示

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

评论

0/150

提交评论