




已阅读5页,还剩85页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要同学录网站是一种能够联络同学之间感情的网站,它能让在千里之外的同学间彼此互相联系,互相交流,因此我制作的同学录就能够实现这种功能。我制作的同学录主要是用来让同学们能在上面相互联络,能够共同想起彼此之间的友谊,还能够想起大学时代的生活。我们制作的同学录通过STRUTSHIBERNATEMYSQLAPACHETOMCAT服务器来进行研究和开发的,制作的目的主要是用来能够进行同学的登录、注册,还能实现留言、发表评论,对我们的网站提出宝贵的意见。总之我们制作的同学录网站最终目的是为了能让同学们能够相互交流,彼此联络一下感情,从而更加加深了同学间的友谊。在这次制作中能使我们充分利用MYECLIPSE来制作一个好的网站,也使我们对JSP语言和MYSQL数据库掌握的更深,更透彻。关键词JSPMYSQL数据库HIBERNATESTRUTSABSTRACTTONGXUELUSITEISAFEELINGAMONGTHESTUDENTSCANCONTACTTHESITE,ITENABLESSTUDENTSINTHOUSANDSOFMILESAWAYTIESBETWEENEACHOTHER,MUTUALEXCHANGES,SOIMADETONGXUELUWILLBEABLETOACHIEVESUCHAFUNCTIONIMADETONGXUELUISUSEDMAINLYTOALLOWTHESTUDENTSTOCONTACTEACHOTHERINTHEABOVE,TOGETHERREMINDSMEOFTHEFRIENDSHIPBETWEENTHEM,CANALSOTHINKOFCOLLEGELIFEWEHAVECREATEDTHROUGHTHETONGXUELUSTRUTSHIBERNATEMYSQLAPACHETOMCATSERVERTOCONDUCTRESEARCHANDDEVELOPMENT,PRODUCTIONISPRIMARILYUSEDFORTHEPURPOSEOFSTUDENTSABLETOLOGIN,REGISTRATION,BUTALSOTOACHIEVEMESSAGES,COMMENTSMADEONOURWEBSITEVALUABLEADVICEINSHORT,WECREATEDTHEULTIMATETONGXUELUSITEISDESIGNEDTOALLOWSTUDENTSTOEXCHANGE,THEFEELINGSOFMUTUALCONTACT,THUSDEEPENINGTHEFRIENDSHIPBETWEENTHESTUDENTSINTHISPRODUCTIONWILLENABLEUSTOTAKEFULLADVANTAGEOFMYECLIPSETOCREATEAGOODSITE,ANDHASALLOWEDUSTOTHEJSPLANGUAGEANDMYSQLDATABASEGRASPTHEDEEPERANDMORETHOROUGHKEYWORDSJSPMYSQLDATABASEHIBERNATESTRUTS第1章绪论1第2章可行性研究221功能需求222可行性研究2221技术可行性9222操作可行性1023结论3第3章相关技术和开发工具简介631ECLIPSE简介632MYECLIPSE633APACHETOMCAT服务器633JSP技术634STRUTS技术635HIBERNATE技术637MVC的架构思想6第4章需求分析941业务流程分析942功能模型分析(DFD)1143数据模型分析(ER图)17431系统总ER图9432系统各实体ER图10第5章总体设计2351总体功能层次图2352各模块功能总体设计2353数据库逻辑设计2454UML设计2455数据库设计24第6章详细设计2361用户管理模块2362群组管理模块2453其他小功能24第7章软件测试2571什么是软件测试2472软件测试的规则2473软件测试的对象2474单元测试24结论26致谢27参考文献27附录1中英文资料翻译部分27附录2部分核心源代码27第1章绪论近年来计算机技术的快速发展,特别是计算机网络的发展,越来越深刻的改变了人们生活的方方面面。使得人们能以更低廉的价格,开发出更方便、更实用的网络工具。各种在线服务系统,更是深刻的影响了人们的联系方式,使得人们可以在远隔千里之遥随时通讯。过去的种种陈旧的联系方式,已经不能满足现代生活的需要。同学录作为一种方便校友之间联系的实用系统便应运而生。本同学录系统是为班级同学之间进行交流和联系提供的一个平台,通过提供完善的同学录服务和规范同学录的管理,可以达到增进校友之间、校友与母校之间的感情,方便校友联系的目的。第2章可行性研究21功能需求(1)用户通过注册哇哇人同学录登录系统,对自己的个人信息进行修改(2)用户可以查看到自己的好友,并且进行与好友相关的操作(3)群组功能(4)论坛、在线聊天、其他小功能22可行性研究可行性研究分为技术可行性研究、操作可行性研究、经济可行性研究,而本设计用于毕业设计,暂不考虑经济可行性。221技术可行性哇哇人同学录,可以基于WEB平台,采用JAVA语言,数据量小,只需采用小型数据库MYSQL。实现过程中可以用HIBERNATE等连接数据库,并可以使用建立专门的实体类与数据库的相应表进行映射,通过对实体类的业务实现来控制数据库的表,从而实现了数据库的增加、删除、插入等操作,功能实现不复杂。已经学习过数据库、软件工程等相关课程,而语言基本思想大致是一样的,JAVA掌握起来应该没有问题。再者,网上信息特别丰富,可以上网查找有关资料,在技术方面有指导老师可以进行指导,还可以上网查询相关资料。哇哇人同学录实现的理论及技术已经日趋成熟。因此,在技术方面实现本系统是不存在问题的。222操作可行性本人力哇哇人同学录的开发环境为LINUX,投入WINDOWS环境中使用,开发语言为JAVAECLIPSEMYECLIPSE插件,后台数据库用MYSQL来实现,系统采用B/S模式,用户只需了解WINDOWS基本操作就可以很好地使用本系统。因此,在操作的可行性上不存在任何问题。23结论由技术可行性、操作可行性的研究,可以得出结论,人力资源管理系统的开发是完全可行的。第3章相关知识和开发工具简介31ECLIPSE简介ECLIPSE是一个开放源代码的、基于JAVA的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,ECLIPSE附带了一个标准的插件集,包括JAVA开发工具(JAVADEVELOPMENTTOOLS,JDT)。ECLIPSE还包括插件开发环境(PLUGINDEVELOPMENTENVIRONMENT,PDE),这个组件主要针对希望扩展ECLIPSE的软件开发人员,因为它允许他们构建与ECLIPSE环境无缝集成的工具。32MYECLIPSEMYECLIPSE企业级工作平台(MYECLIPSEENTERPRISEWORKBENCH,简称MYECLIPSE)是对ECLIPSEIDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,STRUTS,JSF,CSS,JAVASCRIPT,SQL,HIBERNATE。在结构上,MYECLIPSE的特征可以被分为7类1J2EE模型2WEB开发工具3EJB开发工具4应用程序服务器的连接器5J2EE项目部署服务6数据库服务7MYECLIPSE整合帮助对于以上每一种功能上的类别,在ECLIPSE中都有相应的功能部件,并通过一系列的插件来实现它们。MYECLIPSE结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MYECLIPSE是ECLIPSE的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。33APACHETOMCAT服务器TOMCAT是APACHE软件基金会(APACHESOFTWAREFOUNDATION)的JAKARTA项目中的一个核心项目,由APACHE、SUN和其他一些公司及个人共同开发而成。由于有了SUN的参与和支持,最新的SERVLET和JSP规范总是能在TOMCAT中得到体现,TOMCAT5支持最新的SERVLET24和JSP20规范。因为TOMCAT技术先进、性能稳定,而且免费,因而深受JAVA爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的WEB应用服务器。TOMCAT很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。TOMCAT是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好APACHE服务器,可利用它响应对HTML页面的访问请求。实际上TOMCAT部分是APACHE服务器的扩展,但它是独立运行的,所以当你运行TOMCAT时,它实际上作为一个与APACHE独立的进程单独运行的。这里的诀窍是,当配置正确时,APACHE为HTML页面服务,而TOMCAT实际上运行JSP页面和SERVLET。另外,TOMCAT和IIS、APACHE等WEB服务器一样,具有处理HTML页面的功能,另外它还是一个SERVLET和JSP容器,独立的SERVLET容器是TOMCAT的默认模式。不过,TOMCAT处理静态HTML的能力不如APACHE服务器。34JSP技术概述JSPJAVASERVERPAGES是由SUNMICROSYSTEMS公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件HTM,HTML中插入JAVA程序段SCRIPTLET和JSP标记TAG,从而形成JSP文件JSP。用JSP开发的WEB应用是跨平台的,即能在LINUX下运行,也能在其他操作系统上运行。JSP技术使用JAVA编程语言编写类XML的TAGS和SCRIPTLETS,来封装产生动态网页的处理逻辑。网页还能通过TAGS和SCRIPTLETS访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于WEB的应用程序的开发变得迅速和容易。WEB服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的JAVA程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与JAVASERVLET一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。JSP的10规范的最后版本是1999年9月推出的,12月又推出了11规范。目前较新的是JSP12规范,JSP20规范的征求意见稿也已出台。JSP页面由HTML代码和嵌入其中的JAVA代码所组成。服务器在页面被客户端请求以后对这些JAVA代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。JAVASERVLET是JSP的技术基础,而且大型的WEB应用程序的开发需要JAVASERVLET和JSP配合才能完成。JSP具备了JAVA技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。35STRUTS技术STRUTS最早是作为APACHEJAKARTA项目的组成部分问世运作。项目的创立者希望通过对该项目的研究,改进和提高JAVASERVERPAGES、SERVLET、标签库以及面向对象的技术水准。STRUTS跟TOMCAT、TURBINE等诸多APACHE项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。MVC即MODELVIEWCONTROLLER的缩写,是一种常用的设计模式。MVC减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。STRUTS是MVC的一种实现,它将SERVLET和JSP标记(属于J2EE规范)用作实现的一部分。STRUTS继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。STRUTS框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的WEB应用程序的开发。36HIBERNATE技术HIBERNATE是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得JAVA程序员可以随心所欲的使用对象编程思维来操纵数据库。HIBERNATE可以应用在任何使用JDBC的场合,既可以在JAVA的客户端程序使用,也可以在SERVLET/JSP的WEB应用中使用,最具革命意义的是,HIBERNATE可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。HIBERNATE的核心接口一共有5个,分别为SESSION、SESSIONFACTORY、TRANSACTION、QUERY和CONFIGURATION。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五的核心接口分别加以介绍。SESSION接口SESSION接口负责执行被持久化对象的CRUD操作CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。但需要注意的是SESSION对象是非线程安全的。同时,HIBERNATE的SESSION不同于JSP应用中的HTTPSESSION。这里当使用SESSION这个术语时,其实指的是HIBERNATE中的SESSION,而以后会将HTTPSESION对象称为用户SESSION。SESSIONFACTORY接口SESSIONFACTROY接口负责初始化HIBERNATE。它充当数据存储源的代理,并负责创建SESSION对象。这里用到了工厂模式。需要注意的是SESSIONFACTORY并不是轻量级的,因为一般情况下,一个项目通常只需要一个SESSIONFACTORY就够,当需要操作多个数据库时,可以为每个数据库指定一个SESSIONFACTORY。CONFIGURATION接口CONFIGURATION接口负责配置并启动HIBERNATE,创建SESSIONFACTORY对象。在HIBERNATE的启动的过程中,CONFIGURATION类的实例首先定位映射文档位置、读取配置,然后创建SESSIONFACTORY对象。TRANSACTION接口TRANSACTION接口负责事务相关的操作。它是可选的,可发人员也可以设计编写自己的底层事务处理代码。QUERY和CRITERIA接口QUERY和CRITERIA接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。37MVC的架构思想MVCMODELVIEWCONTROL模型视图控制器MVC与模板概念的理解MVC本来是存在于DESKTOP程序中的,M是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据你可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。模型视图控制器(MVC)是XEROXPARC在八十年代为编程语言SMALLTALK80发明的一种软件设计模式,至今已被广泛使用。最近几年被推荐为SUN公司J2EE平台的设计模式,并且受到越来越多的使用COLDFUSION和PHP的开发者的欢迎。模型视图控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。MVC如何工作MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件模型、视图、控制器。它们各自处理自己的任务。视图视图是用户看到并与之交互的界面。对老式的WEB应用程序来说,视图就是由HTML元素组成的界面,在新式的WEB应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括MACROMEDIAFLASH和象XHTML,XML/XSL,WML等一些标识语言和WEBSERVICES如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。模型模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBS和COLDFUSIONCOMPONENTS这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。控制器控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击WEB页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。现在我们总结MVC的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。开发方式JAVA开发WEBAPPLICATION有几种符合MVC设计模式的开发方式。1JSPSERVLETJAVABEANEJB2JSPJAVABEANCONTROLLERJAVABEANEJBMODEL3TDKTURBINE,VELOCITY4XSP5JSPSTRUTSJAVABEANEJB第4章需求分析41业务流程分析411文字描述本系统的主要业务流程注册新用户,修改用户信息,删除用户信息;并对其进行管理;在线查找所有好友,在线查找群,加入群组,论坛,在线聊天,还有其他小功能等等。412业务流程图如图用户注册用户登录用户用户信息修改用户个人管理用户群组管理网站论坛管理在线聊天其他小功能用户好友管理42功能模型分析(DFD)绘制数据流图的基本要求系统的顶层图使用来表示整个系统的功能结构。随着需求分析活动的逐渐深入,较高抽象级别上的复杂转换可以精化为一系列的相互关联的数据流和子转换。数据流图描述系统的逻辑模型,在设计数据流图只需考虑系统必须完成的基本逻辑功能,完全不需要考虑如何具体的实现这些,该系统的数据流程图可确定如下哇哇人同学录管理员管理事务管理事务回应图42数据流图顶层图系统一层图如图43所示管理员1人员管理部门信息部门信息6系统设置管理员及系统信息系统信息2网络管理员工信息等员工信息系统二层图如图44至图48所示管理员11人员查看12人员删除13人员统计人员信息图44数据流图二层图处理2员工管理细化如图45管理员21网络管理22大学管理23班级管理网络信息大学信息班级信息图45数据流图二层图43数据模型分析概念结构的主要特点能真实的、充分的反映现实世界,包括事物和事物之间的联系,能够满足用户对数据的处理要求。是对现实世界的一个真实模型。易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户积极参与是数据库设计成功的关键。易于更改,当应用环境和应用要求改变时,容易对概念模型进行修改和扩充。易于向关系、层次、网状等各种数据模型转化。描述概念的有力工具是ER图,下面将对本系统的数据库进行概念设计,并画出ER图。图例实体关系属性431人力资源管理系统总ER图根据系统需求及ER模型的基本属性,可以分析出人力资源管理系统的实体联系模型(ER模型)。如图49所示N1N1NYYREN_NETWORKMESSAGEYYREN_WORKEXPERIENCEN1M1YYREN_SNYYREN_FRIENDSYYREN_USERS工资制度对应对应2对应3对应1NM拥有对应N图49系统总ER图用户实体如图410YYREN_NETWORKREGISTERNAMEEMAILPASSWORDSTAGENAMEGENDERHEADBIRTHDAYPROVINCECITYQQMSNMOBILNUMBERHOMENUMBERYYREN_USERNETSITEHOBBYMUSICMOVIEGAMECARTOONSPORTCLUBBOOK图410用户实体ER图网络实体如图411YYREN_NETWORKKEYWORDSPCATEGORYNET_TYPECOMPANYEMAILNAMECREATEDATEINTRODUCTIONJOINDIRECTLIULANQUANXIANADDRESS图411网络实体ER图好友实体如图412FRIEND1FRIEND2YYREN_FRIENDS图412网络实体ER图网络信息实体如图413CLASSSITEJOINSCHOOLDATEGRADETHREE图413网络信息实体ER图站内信实体如图414图414站内信实体ER图工作信息如图415YYREN_NETWORKMESSAGE员工IDTYPENAMEGRADEONEJOINDATEHOSTELSTUDENTTYPECOLLEGEGRADETWOYYREN_SNP_IDSIGNSTATESOURUSER_IDSENDTIMEDESUSER_ID图415工作信息实体ER图YYREN_WORKEXPERIENCEENDDATECOMPANYNAMEDESCRIPTIONSTARTDATETRADEPOSITION第5章总体设计经过需求分析阶段的工作,系统必须“做什么”已经清楚了,现在是决定“怎样做”的时候。总体设计的基本目的就是回答“从总体上说,系统应该如何实现”这个问题,因此,总体设计又称为概要设计或初步设计。通过这个阶段的工作将划分出组成系统的物理元素程序、文件、数据库、人工过程和文档等等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以后进行详细的设计。总体设计阶段的另一项重要任务是设计软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。总体设计是软件设计阶段的第一步,在软件开发时期中,设计阶段是最富有活力,最需要发挥创造精神的阶段。在本阶段,主要就是得用面向对象分析方法把分析阶段产生的软件需求说明转换为用适当手段表示的软件概要设计文档,从而得出本模块的具体实现方案与总体结构以及各组成部分之间的关系。51总体功能模块图系统功能模块图如图51同学录管理员模块个人管理好友管理网络管理在线聊天模块其他管理员模块用于对系统的数据进行统一管理,包含的功能如图所示。系统管理员用户网络更改密码个人管理用于管理和查询当前注册用户的相关信息,包含的功能模块如图所示。个人管理用户注册用户登录帐号管理个人主页用户网络好友管理好友管理好友搜索好友添加好友删除成员名片所有网络我的好友列表网络管理群的查询与创建我的群组搜索群组所有群组退出群组网络管理在线聊天模块在线聊天个人状态在线聊天链接同学录首页其他加入收藏说明版权小功能其他52各模块功能总体设计521管理员管理各子模块实现的功能为网络管理,可以通过当前网络查找到当前所有大学,进而可以查到当前大学所有已经注册的班级对应的所有用户,更改密码,供管理员更改自己的密码。522用户管理用户注册“用户注册”用于为新用户注册一个新的帐号,相应的拥有普通用户所有的权限,其中注册信息包括用户编号、用户名、密码、用户邮箱、目前状态大学读书、高中读书、公司工作三选一,分别对应的注册大学名称、高中学校名、公司名称,注册时间用户登录“用户登录”即用自己的注册用户名密码进行系统登录,注意这里的用户名以你注册的有效邮箱名为准,所以说注册的时候一定要保证你的注册邮箱是有效使用的,正确用户名和密码后即可正常登录,否则将导致异常的发生。“修改密码”代码实现简单,只要对数据库进行修改数据即可。“用户网络”功能主要显示当前用户已经加入的网络,即你所在的大学或高中或公司名称,在用户网络这一栏中,用户还可以加入其他新公司或新大学网络。“删除帐号”相当于用户永久注销帐户,因此要慎重操作,如果拥护确定要删除帐号时,提示请用户输入当前用户的密码,并且给出提示一旦删除帐号,当前用户将不能使用现在的EMAIL注册新的帐号。删除完帐号后,对删除的帐号进行冻结,先将当前删除帐号的用户的资料进入缓冲区处理,一定时间(1个月)后集中对所删除的帐号进行清楚记录操作。523好友管理包括好友信息查询,查看所有好友。添加好友,解除好友关系。52453数据库逻辑设计根据ER图,得到表的详细字段如下YYREN_FRIENDSFRIEND1,FRIEND2YYREN_MANAGERNETNETWORK_ID,MANAGER_IDYYREN_NETWORKNETWORKED,NET_TYPE,NAME,CREATEDATE,INTRODUCTION,INNETWORK_ID,CREATEOR_ID,JOINDIRECT,LIULANQUANXIAN,ADDRESS,COMPANYEMAIL,KEYWORDS,PCATEGORY,CATEGORY,CLASSSITE,JOINSCHOOLDATE,INSNETWORK_ID,INMNETWORK_ID,USER_IDYYREN_NETWORKMESSAGENWID,TYPE,NAME,JOINDATE,STUDENTTYPE,COLLEGE,HOSTEL,GRADEONE,GRADETWO,GRADETHREEYYREN_ROOTPEOPLE_ID,REGISTERNAME,EMAIL,PASSWORDYYREN_SNSID,SIGN,STATE,SENDTIME,MESSAGE,DESUSER_ID,SOURUSER_IDP_IDYYREN_USERPEOPLE_ID,REGISTERNAME,EMAIL,PASSWORD,STAGE,NAME,GENDER,HEAD,BIRTHDAY,PROVINCE,CITY,QQ,MSN,MOBILENUMBER,HOMENUMBER,NETSITY,HOBBY,MUSIC,MOVIEGAME,CARTOON,SPORT,BOOK,CLUB,UNMESSAGE_ID,SSMESSAGE_ID,JUMESSAGE_ID,PRMESSAGE_IDYYREN_USERNETNETWORK_ID,USER_IDYYREN_WORKEXPERIENCEWEID,COMPANYNAME,DESCRIPTION,TRADE,POSITION,STARTDATE,ENDDATE,USER_ID54UML设计55数据库设计根据系统功能设计的要求以及功能模块的划分,对于本系统的数据库,可以列出以下数据项和数据结构用户表YYREN_USER用户网络YYREN_USERNET网络信息YYREN_NETWORK用户好友YYREN_FRIENDS网络管理YYREN_MANAGEMENT网络信息YYREN_NETWORKMESSAGE超级管理员YYREN_ROOT小纸条YYREN_SN用户工作信息YYREN_WORKEXPERIENCE第6章详细设计与实现61用户登录模块的设计用户登陆我们同学录的主页,可以对站里的所有用户进行浏览,如果要想要在同学录里进行相关操作,则需要进行用户的注册,在进行用户注册时,用户名和密码为必填项,其他项可以选填,如果已经注册过的用户,则可以直接进行登陆,登陆后在用户中心可以看到自己的相关信息。用户登录信息流程图开始检验是否正确返回错误页面输入用户名和密码是否注册用户DAO登录失败NYN持久层持久层M层V层JSP页面部分主要的界面如下C层表现层(V层)用户可以用自己已经注册过的帐号进行登录。控制层(C层)结合上图,处理步骤从页面发送的请求中获取登录条件对用户输入的登录帐号和密码作为字符串进行解析,如果格式不正确之后,直接返回错误页面,让用户重新输入帐号和密码。通过验证后,将用户输入的帐号信息包装成一个用户对象然后通过通过判断用户对象是否为空调用业务方法进行查询用户,如果对象不为空,则表示登录成功。相关代码PUBLICACTIONFORWARDLOGINACTIONMAPPINGMAPPING,ACTIONFORMFORM,HTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSEXCEPTIONLOGINFORMLOGINFORMLOGINFORMFORMUSERUNEWUSERUSETEMAILLOGINFORMGETEMAILUSETPASSWORDLOGINFORMGETPASSWORDUSERSERVICEBIZNEWUSERSERVICEIMPLTRYUSERUSERBIZLOGINVALIDATEUIFUSERNULLRETURNMAPPINGFINDFORWARD“LOGIN“IFUSERGETPASSWORDEQUALSLOGINFORMGETPASSWORDHTTPSESSIONSESSIONREQUESTGETSESSIONSESSIONSETATTRIBUTE“USER“,USERINTMNUSERGETSBOXSIZESESSIONSETATTRIBUTE“MN“,MNRETURNMAPPINGFINDFORWARD“HOME“CATCHEXCEPTIONEEPRINTSTACKTRACETHROWERETURNMAPPINGFINDFORWARD“ERROR“612用户注册用户点击注册页面进行注册,详细操作如下用户(未注册的用户)点击注册页面提取信息是否填写信息是否通过验证过滤掉YNNY持久层DAOV层C层M层持久层JSP页面主要界面如下表现层(V层)用户可以根据自己的输入信息进行注册控制层(C层)结合上图,处理步骤从页面发送的请求中获取输入信息对用户输入的登录帐号和密码和各项信息作为字符串进行解析,如果格式不正确之后,直接返回错误页面,让用户重新输入信息进行注册。通过验证后,将用户输入的帐号信息包装成一个用户对象然后通过通过判断用户对象是否为空调用业务查询方法进行查询用户,如果对象不为空,则表示是已经注册用户,需重新注册,如果为空,则为这个用户新生成一个对象,持久化到数据库中。相关代码PUBLICACTIONFORWARDREGISTERACTIONMAPPINGMAPPING,ACTIONFORMFORM,HTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSEXCEPTIONREGISTERFORMREGISTERFORMREGISTERFORMFORMUSERUNEWUSERUSETREGISTERNAMEREGISTERFORMGETREGISTERNAMEUSETSTAGEREGISTERFORMGETSTAGEUSETEMAILREGISTERFORMGETEMAILUSETPASSWORDREGISTERFORMGETPASSWORDMULTINETWORKNETNEWMULTINETWORKNETSETNAMEREGISTERFORMGETINNETWORKUSERSERVICEBIZNEWUSERSERVICEIMPLNETSERVICENSNEWNETSERVICEIMPLTRYIFBIZLOGINVALIDATEUNULLRETURNMAPPINGFINDFORWARD“RIGESTER“MULTINETWORKROOTNSFINDROOTNETWORKNSCREATENETWORKNET,ROOTBIZCREATEUSERUBIZJOINNETBYNAMEU,NET/BIZJOINNETBYIDU,NETRETURNMAPPINGFINDFORWARD“ERROR“CATCHEXCEPTIONEEPRINTSTACKTRACETHROWE613用户修改信息已经登陆的用户可以对自己的注册信息进行修改,修改成功后将显示修改后的信息,持久化到数据库中。主要界面如下相关代码如下PUBLICACTIONFORWARDMODIFYEMAILACTIONMAPPINGMAPPING,ACTIONFORMFORM,HTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSEXCEPTIONUSERUSERUSERREQUESTGETSESSIONGETATTRIBUTE“USER“USERUNEWUSERSTRINGEMAILREQUESTGETPARAMETER“EMAIL“USETEMAILEMAILUSETPIDUSERGETPIDUSERSERVICEBIZNEWUSERSERVICEIMPLTRYBIZMODIFYEMAILUCATCHTONGXUELUEXCEPTIONEEGETMESSAGERETURNMAPPINGFINDFORWARD“FAILUE“USERSETEMAILEMAIL/把更新的USER保存到会话HTTPSESSIONSESSIONREQUESTGETSESSIONSESSIONSETATTRIBUTE“USER“,USERRETURNMAPPINGFINDFORWARD“SUCESS“/修改密码/PUBLICACTIONFORWARDMODIFYPWDACTIONMAPPINGMAPPING,ACTIONFORMFORM,HTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSEXCEPTIONUSERUSERUSERREQUESTGETSESSIONGETATTRIBUTE“USER“STRINGOLDPWDREQUESTGETPARAMETER“OLDPASSWORD“STRINGNEWPWDREQUESTGETPARAMETER“PASSWORD“STRINGREENTERREQUESTGETPARAMETER“REENTER“USERSERVICEBIZNEWUSERSERVICEIMPLIFNEWPWDEQUALSREENTERRETURNMAPPINGFINDFORWARD“OLDNEW“IFOLDPWDEQUALSUSERGETPASSWORDRETURNMAPPINGFINDFORWARD“FAILUE“USERSETPASSWORDNEWPWDTRYBIZMODIFYPASSWDUSER/把更新的USER保存到会话HTTPSESSIONSESSIONREQUESTGETSESSIONSESSIONSETATTRIBUTE“USER“,USERRETURNMAPPINGFINDFORWARD“SUCESS“CATCHEXCEPTIONEEPRINTSTACKTRACETHROWE/BASICINFODOPUBLICACTIONFORWARDBASICINFOACTIONMAPPINGMAPPING,ACTIONFORMFORM,HTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSEXCEPTIONUSERUSERUSERREQUESTGETSESSIONGETATTRIBUTE“USER“BASICMESSAGEBMNEWBASICMESSAGEBMSETNAMEREQUESTGETPARAMETER“NAME“BMSETGENDERREQUESTGETPARAMETER“GENDER“BMSETPROVINCEREQUESTGETPARAMETER“HOMEPROVINCE“BMSETCITYREQUESTGETPARAMETER“HOMECITYCODE“INTYEARINTEGERPARSEINTREQUESTGETPARAMETER“BIRTHYEAR“INTMONTHINTEGERPARSEINTREQUESTGETPARAMETER“BIRTHMONTH“INTDAYINTEGERPARSEINTREQUESTGETPARAMETER“BIRTHDAY“DATEBIRTHNEWDATEYEAR,MONTH,DAYBMSETBIRTHDAYBIRTHUSERSETREGISTERNAMEBMGETNAMEUSERSETBMBMUSERSERVICEBIZNEWUSERSERVICEIMPLTRYBIZSAVEBASICMESSAGEUSER/把更新的USER保存到会话HTTPSESSIONSESSIONREQUESTGETSESSIONSESSIONSETATTRIBUTE“USER“,USERRETURNMAPPINGFINDFORWARD“SUCESS“CATCHEXCEPTIONEEPRINTSTACKTRACE/ACTIONERRORSERRORSNEWACTIONERRORS/ACTIONMESSAGEMESSAGENEWACTIONMESSAGE“ERRORSILLEGALUSER“/ERRORSADD“MESSAGE“,MESSAGE/SAVEERRORSREQUEST,ERRORS/THROWEPUBLICACTIONFORWARDPERSONALINFOACTIONMAPPINGMAPPING,ACTIONFORMFORM,HTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSEXCEPTIONUSERUSERUSERREQUESTGETSESSIONGETATTRIBUTE“USER“PERSONALMESSAGEPMNEWPERSONALMESSAGEPMSETHOBBYREQUESTGETPARAMETER“INTEREST“PMSETMUSICREQUESTGETPARAMETER“MUSIC“PMSETMOVIEREQUESTGETPARAMETER“MOVIE“PMSETGAMEREQUESTGETPARAMETER“GAME“PMSETCARTOONREQUESTGETPARAMETER“COMIC“PMSETSPORTREQUESTGETPARAMETER“SPORT“PMSETBOOKREQUESTGETPARAMETER“BOOK“PMSETCLUBREQUESTGETPARAMETER“SOCIETY“USERSETPMPMUSERSERVICEBIZNEWUSERSERVICEIMPLTRYBIZSAVEPERSONALMESSAGEUSER/把更新的USER保存到会话HTTPSESSIONSESSIONREQUESTGETSESSIONSESSIONSETATTRIBUTE“USER“,USERRETURNMAPPINGFINDFORWARD“SUCESS“CATCHEXCEPTIONEEPRINTSTACKTRACE/ACTIONERRORSERRORSNEWACTIONERRORS/ACTIONMESSAGEMESSAGENEWACTIONMESSAGE“ERRORSILLEGALUSER“/ERRORSADD“MESSAGE“,MESSAGE/SAVEERRORSREQUEST,ERRORS/THROWE614退出用户点击后,则用户退出当前的登陆并返回到同学录。62群组管理群组主要界面如下621群组创建用户进入群组页面后,点击创建群组,输入正确的话,就可以创建群组,创建群组的主要业务流程如下群组创建页面输入创建信息检验是否正确跳转到错误页面NYDAO数据库持久层M层C层JSP页面V层创建成功后界面如下表现层(V层)用户可以输入群组创建信息进行创建群组控制层(C层)结合上图,处理步骤从页面发送的请求中获取输入信息对用户输入的群组名称和密码和各项信息作为字符串进行解析,如果格式不正确之后,直接返回错误页面,让用户重新输入信息进行创建。通过验证后,将用户输入的群组信息包装成一个用户对象然后通过通过判断群组对象是否为空调用业务查询方法进行查询用户,如果对象不为空,则表示这个群组已经创建,需重册创建,如果为空,则为这个用户新生成一个对象,持久化到数据库中。相关代码PUBLICACTIONFORWARDCREATENETACTIONMAPPINGMAPPING,ACTIONFORMFORM,HTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSEXCEPTION/当前用户USERUSERUSERREQUESTGETSESSIONGETATTRIBUTE“USER“STRINGSIGNREQUESTGETPARAMETER“ACT“IFSIGNEQUALS“NEW“SETNETSNEWHASHSETSETMANAGERUSERGETALLMANAGERNETSSETALLNETSUSERGETALLNETSITERATORNETDEX1MANAGERITERATORWHILENETDEX1HASNEXTNETWORKNETNETDEX1NEXTIFNETINSTANCEOFMULTINETWORKNETSADDNETITERATORNETDEX2ALLNETSITERATORWHILENETDEX2HASNEXTNETWORKNWNETDEX2NEXTIFNWINSTANCEOFMULTINETWORKNETSADDNWREQUESTGETSESSIONSETATTRIBUTE“NETS“,NETSRETURNMAPPINGFINDFORWARD“NEW“IFSIGNEQUALS“SEE“USERSERVICEUSNEWUSERSERVICEIMPLUSERDBUSERUSGETUSERBYIDLAZYUSERREQUESTGETSESSIONSETATTRIBUTE“USER“,DBUSERRETURNMAPPINGFINDFORWARD“SEE“STRINGINNETIDREQUESTGETPARAMETER“NETWORK“MULTINETWORKINMULNETNEWMULTINETWORKIFINNETIDEQUALS“0“INNETID“1“/根网络的ID为1INMULNETSETNETWORKIDLONGPARSELONGINNETIDGROUPNETNEWGROUPNETSETNAMEREQUESTGETPARAMETER“TRIBENAME“NETSETPCATEGORYREQUESTGETPARAMETER“PCATEGORY“NETSETCATEGORYREQUESTGETPARAMETER“CATEGORY“NETSETKEYWORDSREQUESTGETPARAMETER“KEYWORDS“NETSETINTRODUCTIONREQUESTGETPA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第六章 几何图形初步提能集训(含答案)2025-2026学年数学人教版(2024)七年级上册
- 1.3.3 植物体的结构层次练习题(含答案)人教版(2024)生物学七年级上册
- 用电安全知识培训课件效果
- 《ABB工业机器人虚拟仿真技术》(1+X) 课件 任务5.2 动态输送链参数设置
- 生物制药安全知识培训总结课件
- 急性间歇性卟啉病腹痛护理查房
- 2025年英语四六级考试翻译真题解析模拟试卷
- 2025年秋季初级经济师职业资格考试 经济基础知识核心考点深度解析
- 2025至2030中国医疗保健期间行业产业运行态势及投资规划深度研究报告
- 酒体设计考试题库及答案
- 网咖服务礼仪培训
- 抗诉申请书模板
- 2025年中国儿童型开喉剑喷雾剂市场调查研究报告
- IT系统灾难恢复计划
- 通信基站机房节能减排方案
- 维修档案管理制度范文(2篇)
- CPK计算表格电子表格
- 2025年中国人保招聘笔试参考题库含答案解析
- 专业音响设备租赁合同
- 园区消防安全联动制度
- 《专业导论》课程教学大纲
评论
0/150
提交评论