基于struts2技术的跑步社区后台系统的设计与实现(程序代码+任务书+说明书+外文翻译+演示文稿)_第1页
基于struts2技术的跑步社区后台系统的设计与实现(程序代码+任务书+说明书+外文翻译+演示文稿)_第2页
基于struts2技术的跑步社区后台系统的设计与实现(程序代码+任务书+说明书+外文翻译+演示文稿)_第3页
基于struts2技术的跑步社区后台系统的设计与实现(程序代码+任务书+说明书+外文翻译+演示文稿)_第4页
基于struts2技术的跑步社区后台系统的设计与实现(程序代码+任务书+说明书+外文翻译+演示文稿)_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

基于struts2技术的跑步社区后台系统的设计与实现摘要Struts是目前广受欢迎的基于MVC的JavaWeb框架,Hibernate则是JavaWeb开发中一个功能强大的持久化中间件。Struts与Hibernate相结合在B/S系统开发中有着广泛的应用。本网络跑步社区系统的开发,正是使用了它们。本系统采用的是模块化设计,并采用接口化编程思想降低模块之间的耦合度。该系统主要采用Struts框架,涉及到前台页面的展示,后台与数据库的交互,中间层业务逻辑的处理等。我所负责的是后台方面的设计与实现,用到了MyEclipse开发工具,Hibernate持久化中间件,以及Servlet等技术。该系统具备数据查询、修改、增加、删除等功能,实现了会员基本信息管理,短信息管理,好友管理,管理员后台管理等模块的全部功能。系统具有界面直观友好、操作简单的特点,并且能够承受多用户同时上线,满足了用户在网络交流方面的需求。关键词MVC模式;Struts框架;Hibernate;跑步社区iThebackgroundsystemofRunningCommunityWebSitebasedontheStruts2FrameworkAbstractStrutsisawell-likedframewhichonthebasicofMVCatthepresenttime,andHibernateisapowerfulpersistentmiddlewareinthedevelopmentofJavaWeb.StrutsjoinsHibernatehavewidelyappliedinthedevelopmentofB/Ssystem.Therunningcommunitysystemjustusedthesetechnologies.Thesystemadoptsthemodularitydesignandthemindofinterfaceprogrammingtoreducethecouplingdegreeofeachmodel.ThesystemmainlyusestheStrutsframeinthedevelopment.Itreferencestotheshowofthefrontpage,interactionwiththedatabaseinthebackground,anddealingwiththebusiness-logiclayeretc.Iamresponsibleforthedesignandimplementationofbackgroundmanagement.IuseMyEclipseasthedevelopmenttool,HibernatepersistentmiddlewareandServlettechnologyduringmydevelopmentprocess.Thesystemhavethefunctionofqueryingdata,modifyingdata,addingdata,anddeleteingdata.Itrealizeallthefunctionsoffourmodulesincludingmemberinformationmanagement,messagemanagement,friendsmanagementandmanagerbackgroundmanagement.Thesystemhasfriendlyinterfaceandsimpleoperation,whichcanbearmanyusersareonlineatthesametimeandsatisfyusersneedonthematterofcommunicatingonline.KeywordsMVC;Strutsframework;Hibernate;RunningCommunity目录摘要.iAbstract.ii1绪论.11.1开发背景.11.2开发意义.11.3开发环境.11.3.1开发语言.11.3.2开发工具.11.3.3开发框架.21.3.4Struts2和Hibernate组合的优点.22系统需求分析.42.1可行性研究分析.42.1.1理论可行性.42.1.2技术可行性分析.42.1.3经济可行性分析.42.2功能需求分析.42.2.1用户自管理用例.42.2.2短信管理用例.52.2.3我的好友用例.52.2.4后台管理用例.63总体设计.73.1系统模块设计.73.1.1总体设计框架.73.1.2用户基本信息管理模块设计框架.73.1.3短管理模块设计框架.83.1.4联系人管理模块设计框架.93.1.5后台管理模块设计框架.93.2数据库结构设计.103.2.1E-R图.103.2.2各实体间的对应关系图.113.3数据库具体表结构的设计.133.3.1存放会员信息.133.3.2存放会员的个性化的信息.143.3.3存放会员级别的评判规则.143.3.4存放会员获取积分的流水记录.153.3.5存放积分动作.153.3.6存放短信信息.153.3.7存放好友名单.163.3.8黑名单.163.3.9管理员信息.164系统详细设计.174.1建立数据库.174.2建立连接.174.3配置模块.174.3.1配置web.xml.174.3.2配置struts.xml.184.3.3配置service和dao架构.204.4日志设计.204.4.1配置日志模块.214.4.2日志信息.214.5程序设计.224.5.1用户登陆功能设计.224.5.2修改个人空间功能设计.234.5.3发送信息功能设计.254.5.4收件箱的功能设计.264.5.5查询好友的功能设计.284.6对本社区的说明.294.6.1查询数据库的说明.294.6.2使用本社区的说明.315系统测试与维护.325.1软件测试.325.1.1测试简介.325.1.2具体测试.325.1.3测试结论.365.2运行和维护.36结论.37参考文献.38致谢.40外文原文.41中文翻译.4801绪论1.1开发背景21世纪是科技信息高速发展的时代,计算机网络作为这一时代重要的生产工具,给各个国家带来了巨大的发展机遇,已经被应用于许多领域,尤其是在管理领域,它可以简化大量繁琐的工作,提高工作效率,更重要的是能提高保密文件的安全性。为了在以用户为中心的市场竞争中获胜,各单位须对不断变化的市场做出快速反应,把单位各关键部门结合成一体,形成一个坚强的信息共享共同体。国内一些中小型企业为了提高自身的工作效率,适应市场的需要,都实现了办公自动化。1.2开发意义随着计算机的发展和普及,它已经成为人们获取信息的一种方便、快捷、有效的手段。现在我国很多管理机构信息的管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,必然被以计算机为基础的信息管理所取代。跑步社区站点系统是专门为运动爱好者提供的一个交流的平台,使跑步爱好者不需要进行面对面的交流,只需在网上查看运动爱好者的个人空间,从而了解他人的跑步爱好习惯,如果与自己的爱好相同或相似,就可以加对方为好友,并且能够发送短信息给自己的跑步好友。而且运动爱好者之间可以在运动论坛中交流彼此对运动的看法道出运动爱好者之间的心声。除此之外本系统管理者还可以通过后台管理对注册的会员信息和积分进行管理。1.3开发环境1.3.1开发语言对Hibernate语言简介及其优点:Hibernate是一个数据持久层框架,是一种实现对象和关系之间映射(O/RMapping)的工具,它对JDBC进行了轻量级的对象封装,使程序员可以使用对象编程思想来操作数据库。它不仅提供了从Java类到数据表的映射,也提供了数据查询和恢复机制。相对于使用JDBC和SQL来操作数据库,使用Hibernate能大大的提高实现的效率。Hibernate框架用配置文件的形式来定义Java对象和数据表之间的映射关系,同时在更深的层面将数据表之间的关系解释为Java对象之间的继承及包含等关系。通过使用HQL语句将复杂的关系算法用对象的方式描述,在很大程度上简化了对数据的查1询,加快了开发的效率。在Hibernate中有一个简单而直观的API,用于对数据库所表示的对象执行查询。要创建或修改这些对象,只需在程序中与它们进行交互,然后告诉Hibernate保存即可。这样,大量封装持久化操作的业务逻辑不再需要编写烦琐的JDBC语句,从而使数据持久层得到了极大的简化。1.3.2开发工具运用MyEclipse开发工具,该开发工具是Eclipse的一个插件。Eclipse本身就是一个功能非常强大的开发工具,而MyEclipse在功能上与Tomcat进行了集成,并且能做到自动打包,并将包自动部署到服务器上。这从很大程度上提高了开发的效率,节约了开发的时间。MyEclipse提供了对多重平台特性的支持。开发者可以使用他们感觉最舒适、最熟悉的平台,例如Windows、Linux等。Eclipse对每个平台都有其单独的图形工具包,这使得应用程序具有接近本地操作系统的外观和更好的性能。1.3.3开发框架用Struts2实现MVC架构。MVC(Model-View-Controller)由TrygveReenskaug提出,首先被应用在SmallTalk-80环境中,是许多交互和界面系统的构成基础。根据界面设计可变性的需求,MVC把交互系统的组成分解成模型、视图、控制器三部分。模型(Model)是软件所处理问题逻辑在独立外在显示内容和形式情况下的内在抽象,封装了问题的核心数据、逻辑和功能的计算关系,独立于具体的界面表达和I/O操作。视图(View)把表示模型数据及逻辑关系和状态的信息及特定形式展示给用户。它从模型获得显示信息,对于相同的信息可以有多个不同的显示形式或视图。控制器(Controller)是处理用户与软件的交互操作的,其职责是控制提供模型中任何变化的传播,确保用户界面于模型间的对应联系;它接受用户的输入,将输入反馈给模型,进而实现对模型的计算控制,是使模型和视图协调工作的部件。通常一个视图对应一个控制器。模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化传播机制。Struts2是Struts社区和WebWork社区的共同成果,我们甚至可以说,Struts2是WebWork的升级版,他采用的正是WebWork的核心,所以,Struts2并不是一个不成熟的产品,相反,构建在WebWork基础之上的Struts2是一个运行稳定、性能优异、设计成熟的WEB框架。21.3.4Struts2和Hibernate组合的优点典型的J2EE三层结构,分为表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。表现层是传统的JSP技术,其广泛的应用和稳定的表现,为其作为表现层技术打下了坚实的基础。中间层采用的Hibernate,为了将控制层与业务逻辑层分离,又细分为以下几种。Web层,就是MVC模式里面的“C”(controller),负责控制业务逻辑层与表现层的交互,调用业务逻辑层,并将业务数据返回给表现层作组织表现,该系统的MVC框架采用Struts。Service层(就是业务逻辑层),负责实现业务逻辑。业务逻辑层以DAO层为基础,通过对DAO组件的正面模式包装,完成系统所要求的业务逻辑。DAO层,负责与持久化对象交互。该层封装了数据的增、删、查、改的操作。一个良好的框架可以让开发人员减轻重新建立解决复杂问题方案的负担和精力;它可以被扩展以进行内部的定制化;并且有强大的用户社区来支持它。框架通常能很好的解决一个问题。然而,你的应用是分层的,可能每一个层都需要各自的框架。仅仅解决UI问题并不意味着你能够很好的将业务逻辑和持久性逻辑和UI组件很好的耦合。在传统的Model1的程序结构中,只要有一点小的需求发生改变,将意味着放弃整个页面。或者改写。虽然前期的开发速度快,除非可以保证以后永远不会改变应用的结构,否则不要采用Model1的结构。采用Hibernate作为持久层技术的最大的好处在于:可以完全以面向对象的方式进行系统分析、系统设计。归纳起来,网络跑步爱好者社区系统的开发与运行环境如下:采用B/S架构;服务器操作系统:WindowsServer;数据库服务器:oracle10g;Web服务器:Tomcat;开发工具:MyEclipse软件开发技术:前台界面JSP,Html,JavaScript,CSS后台系统Hibernate,Struts,Servlet32系统需求分析2.1可行性研究分析2.1.1理论可行性该系统是网上的一个虚拟平台,能够模拟现实中的交流过程,并且展示个人的风采,满足广大运动爱好者的需求。同时也为商家展示自己的产品,获取用户需求提供了方便。不管对那个用户群体来说都起了很好的桥梁作用,一旦推出必将受到商家与个人的追捧。2.1.2技术可行性分析运用MyEclipse开发工具,该开发工具是Eclipse的一个插件。Eclipse本身就是一个功能非常强大的开发工具,而MyEclipse在功能上与Tomcat进行了集成,并且能做到自动打包,并将包自动部署到服务器上。这从很大程度上提高了开发的效率,节约了开发的时间。2.1.3经济可行性分析网上运动社区的创建,降低了商家成本,扩大了客户资源,打破了地域的界限,方便了人们的需要。所以,不论是商家还是客户都是比较喜欢这种方式的。可以判定运动社区还是比较有前景的。可行性分析的目的,就是用最小的代价在尽可能短的时间内确定问题是否能够解决。通过需求阶段对该系统的可行性进行了彻底分析,随着计算机硬件的发展,各项功能日趋完善,使用MyEclipse、Oracle10g开发此系统无论从技术上、经济上、硬件上和操作上都是可行的。2.2功能需求分析结合“基于Struts2的跑步社区”的用户信息,切实了解跑步运动爱好者们对整个系统期望具有的功能,分析所有收集的信息特点,决定系统具有会员信息管理,短信管理,好友管理,管理员后台管理等功能模块。2.2.1用户自管理用例1.注册新用户描述:用户在新用户信息页面上输入详细信息,提交到服务器,结果是将信息保存到数据库。参与者:用户。主方式:从浏览器上选择注册新用户链接进入到注册界面。异常方式:用户提交新用户信息后,服务器发现用户登录名已经存在用户提交的信息不完整。2.认证用户描述:用户输入登录名和密码,提交到服务器,其结果是服务器验证输入信息,并将登录信息存放到会话状态中。如果用户选择了自动登陆,将用户信息保存到4cookie中,实现自动登陆功能。参与者:用户。前提:用户已经注册过。主方式:在地址栏中输入登陆页面地址,进入到登录界面。其他方式:用户选择了自动登陆功能,进入主页面自动登陆。异常方式:登录名或密码不对,用户已经登陆过了。3.导航栏描述:用户在登陆成功后,在主页上方可看到我的导航栏面板,其中包涵链接内容:音乐跑不停、跑步装备库、专业跑步指南、跑步论坛。参与者:用户。主方式:在地址栏中输入登陆页面地址,进入到登录界面,点击各个链接跳转到相应的界面内容。4.我的地盘描述:用户在登陆成功后,在主页下方可看到我的地盘这一面板,其中包涵链接内容:我的信息、我的信箱、我的好友、个性空间。前提:用户已经登录。主方式:从主页中下方显示的我的地盘栏目选择相应的项目链接。2.2.2短信管理用例1.新建短信描述:用户在我的信箱页面上点击写纸条就可以跳转到新建短信页面,填写好相应的信息,提交给服务器,其结果是信息保存到数据库,接收者能够看到已收短信,发送者能看到已发短信。参与者:用户。前提:用户已经登录,接收者存在。主方式:从我的地盘我的信箱中点击写纸条链接。2.收(发)件箱描述:用户在短信管理页面上点击收(发)件箱就可以显示自己的收(发)件箱列表。参与者:用户。前提:用户已经登录。主方式:我的信箱中点击收(发)件箱链接。3.个性空间描述:用户在个性空间页面可以查看自己的个性空间面板,如果该用户没有创建个性空间,提示用户创建个性空间。参与者:用户。前提:用户已经登录。主方式:从我的地盘面板点击个性空间链接。2.2.3我的好友用例1.我的好友描述:用户在联系人管理页面上点击好友名单就可以查看到所有好友的列表,还5可以查看好友详细信息,也可以删除好友或者添加到黑名单。参与者:用户。前提:用户已经登录。主方式:从我的地盘点我的好友链接好友名单。2黑名单描述:用户在联系人管理页面上点击黑名单就可以查看到所有黑名单的列表,还可以从好友名单中添加到黑名单,也可以将好友从黑名单移除。参与者:用户。前提:用户已经登录。主方式:从我的地盘点我的好友链接黑名单3.好友速配描述:用户在联系人管理页面上点击好友速配进入到速配页面,可以选择随机匹配或者按照条件匹配。参与者:用户。前提:用户已经登录。主方式:从我的地盘点我的好友链接好友速配。2.2.4后台管理用例1.管理员登录描述:在系统登录首页可选择进入后台,进行管理员登录,完成管理员的相应功能。参与者:管理员。主方式:在login界面点击进入后台链接。2.会员列表描述:用户在后台管理页面上点击还原列表进入到会员列表显示界面,可以查看所有已经注册会员的信息,以及删除会员。参与者:用户。前提:管理员经登录。主方式:从后台管理系统点击会员列表链接。3.积分动作描述:用户在联系人管理页面上点击好友速配进入到速配页面,可以选择随机匹配或者按照条件匹配。参与者:用户。前提:管理员已经登录。主方式:从后台管理系统点击积分动作链接。4.管理员密码修改描述:用户在联系人管理页面上点击好友速配进入到速配页面,可以选择随机匹配或者按照条件匹配。参与者:管理员。前提:管理员已经登录。主方式:从后台管理系统点击密码修改链接。63总体设计3.1系统模块设计3.1.1总体设计框架在前面的系统规划与需求分析的基础上,对该系统进行了总体设计,不仅能满足用户修改个人的各种基本信息,能够创建和修改自己的个性空间,使更多的跑步爱好者了解自己,能够随机查找一个好友或根据条件查找到多个好友,而且还能够给自己的好友发送短信,交流各自的跑步心得。总体功能模块如图3-1所示:7图3-1功能模块结构图3.1.2用户基本信息管理模块设计框架首先要实现它的基本功能,如用户的注册,登陆,密码的找回,信息的修改等最基本的功能,而这些是需要用户来完成的,也就是说可以定义在用户管理的模块中。为了更好的展示用户的的个人特征,也就是我们平时说的个性化,我们可以加上一个个人空间的管理。于是我们可以定义出用户管理信息的用例图,如图3-2所示:管理用户信息注册信息用户检测自动登录基本信息管理找回丢失密码个性空间管理用户登录查看基本信息修改基本信息创建个性空间修改个性空间图3-2用户基本信息管理3.1.3短管理模块设计框架为了方便用户间的交流系统提供一个收发信息的功能,它包括短信的创建,对已收信息和已发信息的删除和查看等功能。其用例图如图3-3所示:8短信管理新建短信管理已发信息管理已收信息查看已发信息删除已发信息查看已收信息回复已收信息删除已收信息图3-3短信息管理3.1.4联系人管理模块设计框架联系人管理模块主要要实现对好友的管理和黑名单的管理可用如图3-4的用例图来表示:9联系人管理好友管理黑名单管理好友速配查看黑名单黑名单加好友随机速配按条件匹配增加好友查看好友删除好友好友移至黑名单删除黑名单图3-4联系人管理3.1.5后台管理模块设计框架管理员为了更好的维护这个系统设计了后台管理模块主要实现对会员的管理、对积分动作的管理和对管理员的管理。其用例图可用如图3-5表示:后台管理会员管理积分动作管理管理员管理查看积分动作修改密码查看好友查看会员信息好友移至黑名单修改积分动作图3-5后台管理根据系统功能模块结构图和管理流程,以及网络运动爱好者社区系统的需要总结出如下的数据字典。1.系统用户数据:包含的数据项有系统用户名,密码,性别,年龄,10邮箱,省份,地址,密码提示问题,密码提示答案等。2.用户个人空间数据:包含的数据项有跑步观点,跑步时间,跑步地点,跑步习惯,电话,上传的图片等。3.短信息数据:包含的数据项有发送者,接收者,发送时间,标题,内容等。4.好友名单数据:包含的数据项有自己的名字,好友的名字。5.黑名单数据:包含的数据项有自己的名字,黑名单的名字。6.管理员数据:包括管理员的名字,管理员的密码,以及对管理员的描述。7.省份数据:包括省份的代码,省份的名称,省份的id值8.积分等级数据:最小积分,最大积分,等级名称,对应头像9.积分动作数据:积分动作名称,可获积分,动作描述10.积分记录数据:用户名称,获得时间等。3.2数据库结构设计3.2.1E-R图在需求分析之后,数据库设计的第一步就是对系统的概念结构进行设计,设计的目标是产生反映整个系统信息需求的整体数据库的概念结构,描述概念结构的工具就是ER图。各实体详细信息的概念描述是第一步工作,各实体属性关系图如图3-6至3-9所示:用户性别电子邮箱购物账户个人空间等级编号所在省份地址推荐人积分电话密码提示答案用户名密码年龄注销状态在线状态上次登录时间密码提示问题注册时间图3-6用户属性关系图11用户主题内容编号发送人接收人发送时间图3-7短信属性关系图得分纪录得分描述编号得分时间得分图3-8得分纪录属性关系图个人空间运动习惯编号运动站点用户形象联系方式运动主张运动时间所属用户喜欢的明星图3-9个人空间属性关系图3.2.2各实体间的对应关系图在确认了实体具体信息后,下一步是确认各实体之间的对应关系图,各实体之间的关系图如图3-10所示:12图3-10各实体间关系图各数据表之间的对应关系,特别是主外键对应关系对数据库的持久化操作有直接影响,涉及到数据表之间的级联操作,虽然在数据表中已经对各表之间的主外键关系进行了描述,但由于表较多,不便于总体了解他们之间的对应关系,如图3-11对所有表之间的主外键关系进行相应描述:13MEMBERINFOPK,FK1,FK5IDFK2,FK3,FK4,FK6NICKNAMEPASSWORDGENDERAGEEMAILPROVINCECITYADRESSPHONEPASSWORDQUESTIONPASSOWRDANSWERRECOMMENDERPOINTREGISTEDATELATESTDATESTATUSISONLINEGRADEIDMEMBERSPACEPKIDOPTIONRUNTIMERUNPLACERUNSTARRUNHABITCELLPHONEICONMEMBERIDMESSAGERECORDPKIDSENDERRECEIVERSENDATETITLECONTENTSENDERSTATUSRECEIVERSATUSSTATUSPOINTRECORDPKIDNICKNAMERECIVEDATEPOINTACTIONIDFRIDENRECORDPKIDSLEFNAMEFRIDENNAMEBLACKRECORDPKIDSELFNAMEBLACKNAMEPOINTACTIONPK,FK1IDACTIONNAMEPOINTDESCRIPTIONGRADERECORDPKIDMINPOINTMAXPOINTGRADENAMEICONPATH1对11对多1对多1对11对11对多1对多图3-11表之间的主外键关系关系图3.3数据库具体表结构的设计在确定了各实体详细信息后,下一步就是各实体在数据库中的具体实现,依据E-R图中实体的具体信息,共设计了9张数据表,各表的字段信息,约束信息和描述如下:3.3.1存放会员信息表3-1MemberInfo字段名字段类型约束或索引描述IDNumber(Sequence)PK记录流水号NickNameVarchar2(20)NotNull用户昵称PasswordVarchar2(50)NotNullMD5加密口令,页面上限制为16字节GenderVarchar2(1)NotNull性别14表3-1(续)字段名字段类型约束或索引描述AgeNumberNotNull年龄EmailVarchar2(100)NotNull电子邮件PasswordQuestionVarchar2(200)密码提示问题PasswordAnswerVarchar2(200)密码提示问题答案ProvinceCityVarchar2(20)所在省市AddressVarchar2(200)地址PhoneVarchar2(50)联系电话PointNumberDefault=0当前积分RecommenderVarchar2(20)推荐人RegisterDateDate注册时间LatestDateDate上次上线时间StatusNumberDefault=00-正常1-注销IsOnlineNumberDefault=00-下线1-在线GradeIdNumber等级ID外键3.3.2存放会员的个性化的信息表3-2MemberSpace字段名字段类型约束或索引描述IDNumber(Sequence)PK记录流水号SportplaceVarchar2(20)运动地点SporttimeVarchar2(20)运动时间SprothabitVarchar2(20)运动习惯SprotStarVarchar2(20)喜欢的运动明星CellphoneVarchar2(20)正在使用的手机OpinionVarchar2(200)个人对运动的看法IconVarchar2(50)个人空间头像图片存在的路径MemberidNumber会员id(referenceMemberInfo)3.3.3存放会员级别的评判规则表3-3GradeRecord字段名字段类型约束或索引描述IDNumberPK记录流水号15表3-3(续)字段名字段类型约束或索引描述GradenameVarchar2(20)NotNull级别名称IconPathVarchar2(50)NotNull每个级别分别对应不同的头像MinpointNumberNotNull积分的上限MaxpointNumberNotNull积分的下限3.3.4存放会员获取积分的流水记录表3-4PointRecord字段名字段类型约束或索引描述IDNumber(Sequence)PK记录流水号NicknameVarchar2(20)NotNull获取积分的会员ReceiveDateDateNotNull获得积分的日期PointactionIdNumberNotNull所获积分3.3.5存放积分动作表3-5PointAction字段名字段类型约束或索引描述IDNumber(Sequence)PKActionNameVarchar2(20)标示积分操作名称,比如”Register”表示会员注册。PointNumberNotNull可获积分DescriptionVarchar(200)描述3.3.6存放短信信息表3-6MessageRecord字段名字段类型约束或索引描述IDNumber(Sequence)PK记录流水号SenderVarchar2(20)NotNull发件人登录名ReceiverVarchar2(20)NotNull收件人登录名SendDateDateDefault=当前时间,NotNull发送日期TitleVarchar2NotNull短信标题16表3-6(续)字段名字段类型约束或索引描述StatusNumberDefault=00-未阅读1-已阅读SenderStatusNumberDefault=00-表示未删除1-表示已删除(发送者)ReceiverStatusNumberDefault=00-表示未删除1-表示已删除(接收者)Contentvarchar2NotNull短信内容3.3.7存放好友名单表3-7FriendList字段名字段类型约束或索引描述IDNumber(Sequence)PK记录流水号SelfNameVarchar2(20)NotNull会员登录名FriendNameVarchar2(20)NotNull好友登录名3.3.8黑名单表3-8BlackList字段名字段类型约束或索引描述IDNumber(Sequence)PK记录流水号SelfNameVarchar2(20)NotNull会员登录名BlackNameVarchar2(20)NotNull被加入黑名单者登录名3.3.9管理员信息表3-9Managerinfo字段名字段类型约束或索引描述IDNumber(Sequence)PK记录流水号NickNameVarchar2(20)NotNull管理员登录名PassWordVarchar2(20)NotNull管理员密码174系统详细设计我负责的是后台的设计与实现,主要用到struts,hibernate,oracle等技术,并完成于前台界面的衔接。4.1建立数据库本系统数据库使用Oracle,数据库名为“EX(系统默认的数据库)”,下面简单的介绍以下数据库建立的过程。1.手工创建数据库RUN,密码设置为run。2.手工创建run.sql文件,用语创建数据库表。3.创建数据库数据文件,执行脚本run.sql。4.2建立连接本系统使用Hibernate连接Oracle数据库,其实其底层使用JDBC连接的Oracle数据库,连接的配置界面如图4-1:图4-1连接Oracle数据库的配置界面4.3配置模块目的:为了降低各个部分代码的耦合性提高代码的内聚从而提高代码的健状性。以及便于代码的后继更新升级常常把一些有可能变动的需要从系统外围传入的数据通过配置文件(通常用xml文件的形式传入)。4.3.1配置web.xmlstruts2org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilterstruts2/*AuthImgcom.briup.run.web.servlet.AuthImgAuthImg/authImghtml/login.jsp4.3.2配置struts.xml在此展示部分Struts代码:/html/login.jsp19/html/memberLoginActionautoLogin/html/login.jsp/html/memberAfterLoginAction/html/login.jsp/WEB-INF/member/activity.jsp/html/login.jsp/html/login.jsp/html/register.jsp/html/passwd_missing.jsp/html/passwd_missing.jsp20/html/login.jsp/html/exception.jsp/html/memberAfterLoginAction/html/exception.jsp4.3.3配置service和dao架构Service层和dao层结构如图4-2所示:21图4-2service层和dao层分布4.4日志设计功能:通过把系统运行的状态信息写入日志,管理员可以清楚地看到系统当前运行的状态以及系统出现异常的原因以。这样便于管理员对系统的维护。4.4.1配置日志模块部分配置代码:#log4j.rootLogger=DEBUG,A1,Rlog4j.rootLogger=info,A1,Rlog4j.appender.A1=org.apache.log4j.ConsoleAppenderlog4j.appender.A1.layout=org.apache.log4j.PatternLayoutlog4j.appender.A1.layout.ConversionPattern=%dyyyy-MM-ddHH:mm:ss,SSS%t%c%p-%m%nlog4j.appender.R=org.apache.log4j.RollingFileAppenderlog4j.appender.R.File=bbscs7log.txtlog4j.appender.R.MaxFileSize=500KBlog4j.appender.R.MaxBackupIndex=10log4j.appender.R.layout=org.apache.log4j.PatternLayoutlog4j.appender.R.layout.ConversionPattern=%dyyyy-MM-ddHH:mm:ss,SSS%t%c%p-%m%n#erceptor=DEBUG4.4.2日志信息如果在数据库连接异常的时候就会输出如下的日志信息用于可以很容易通过这个日志的信息知道系统的当前运行情况来维护系统,如图4-3所示:22图4-3日志信息4.5程序设计4.5.1用户登陆功能设计功能:该模块主要对用户的登陆名和密码进行验证,如果用户名和密码都正确,则进入用户的主界面;如果是新用户,则先进行注册,然后进入登陆界面;如果是已经注册的用户忘记了密码,则进入找会密码的界面,根据密码提示问题和密码提示答案找回密码,最后进入登陆界面重新进行登陆。用户登录界面如图4-4所示:图4-4用户登录界面在登陆窗体代码中实现身份验证功能,即需要检验用户登陆的用户名和密码是否正确。如果不正确,则提示“该用户不存在,或密码不正确,请从新输入”;如果是新用户,那么进行新用户注册,如果用户忘记密码,则可以使用下面的找回密码按扭找会密码,如果正确,则进入网络跑步爱好者社区系统。用户登陆窗体部分关键代码如下:HttpSessionsession=ServletActionContext.getRequest().getSession();try/对验证码的检验Stringcode=(String)session.getAttribute(authCode);if(authCode=null|!authCode.equals(code)/验证码校验不通过,抛出异常System.out.println(验证码输入有误,请正确输入);setTip(验证码输入有误,请正确输入);returnERROR;Memberinfomemberinfo=(Memberinfo)session.getAttribute(userlogin);if(memberinfo!=null)/表明用户已经登录,不需要进行数据的交互,减少服务器负担(inLoginAction:execute()用户已经登录,又重新登录);returnSUCCESS;memberinfo=memberService.login(userName,passwd);System.out.println(memberService=+memberService);session.setAttribute(userlogin,memberinfo);/检查autoLogin,是否是自动登录,自动登录则编写cookieif(1.equals(autoLo

温馨提示

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

评论

0/150

提交评论