毕业设计(论文)-基于J2EE的心理咨询网站的设计与实现.doc_第1页
毕业设计(论文)-基于J2EE的心理咨询网站的设计与实现.doc_第2页
毕业设计(论文)-基于J2EE的心理咨询网站的设计与实现.doc_第3页
毕业设计(论文)-基于J2EE的心理咨询网站的设计与实现.doc_第4页
毕业设计(论文)-基于J2EE的心理咨询网站的设计与实现.doc_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

届 别 2005级 学 号 200514070137 毕业设计(论文)基于J2EE的心理咨询网站的设计与实现 姓 名 系 别、 专 业 计算机科学与技术导 师 姓 名、职 称 完 成 时 间 2008年11月18日摘 要人们常说,心灵之花是世界上最美丽的花朵,她赋予了人们善良、纯真、积极、乐观等美好的品质,指引人们走向成功。本网站本着实用性、通用、开放和安全的原则,设计出了一个心灵交流空间,让人们通过互联网这个平台自由的交流一些心理方面的困惑;本网站采用Struts框架在Linux环境下开发制作而成,是基于B/S架构的WEB应用,系统的核心技术是Struts框架(MVC 模式)。本网站有游客访问与会员访问二大部分,重点为会员访问部分,其整体将分为四个模块设计,分别是用户自管理模块,短信息管理以及好友管理,论坛模块。其中用户自管理包括用户的注册、登陆、修改个人信息、找回忘记的密码以及创建个人空间;短信息管理模块包括新建短信、管理已收短信息和管理已发短信息;好友管理模块包括好友管理、黑名单管理以及好友匹配;论坛模块包括发布帖子,针对帖子发表自己的评论。本文重点介绍了在实际研究开发过程中采用的一些技术手段,并简要介绍了一些相关理论基础,同时指出了网站设计有待于进一步完善发展的方向。关键词:心理;咨询; STRUTS;B/S架构 ABSTRACTPeople always says, internal spirit flower is the best beautiful flower.It confered ours beautiful nature such as kind-hearted,purely,active,optimistic and so on, guided ours to success.The website based on the principle of practical,interchangeable,open and safety,designed on this platform about alternate ours heart and mind,in order to let ours find a type to alternate ours internal spirit confused;The website to adopt Struts framework based on Linux environment to develop and design,it is a WEB application which is based on B / S structure.The systems core technology is Struts structure(MVC mode).The website have two part,their are tourist to interview and member to interview;the focal point is the part of member to interview,and this part divided four small part to designed, their are users selves management,messages management,friends management and the forum management.Register part、Login part、Modify selves information、Get missing password part and design personality space are included in users selves management;creation new message,administration received messages,administration sent messages are included in messages management;buddy list administration,black list administration and match friends included in friends management;publish paper and comment are included in forum management.The article introduces some technology which to adopt in actual design access,and introduces some foundation theory,to point out some question to exit in website design direction simultaneously.Key words:psychological,consultative,STRUTS, B / S structure 目 录摘要 -IAbstract -II1 概述1.1引言 -11.2系统概述 - -11.2.1 开发目的 -11.2.2开发环境以及相关技术 - -11.3设计方案 -42 需求分析2.1任务概述 -52.2数据描述 -52.2.1 静态数据 - -52.2.2动态数据 - 52.3功能需求 - -63 系统整体设计3.1系统功能分析 -83.2数据库的设计 -93.3总体框架设计 -133.4顺序图 -184 系统模块设计(后台管理子模块)4.1登陆注册 -194.1.1 注册用户 -194.1.2 用户登陆 -194.1.3 找回密码 -194.2会员管理 - 204.2.1 添加会员积分 -224.2.2 会员信息更改- -224.2.3 会员个性空间的创建以及维护 - -224.3 站内信息的管理 -234.3.1 发信息-234.3.2 收件箱-244.3.3 发件箱-244.4 好友管理 -244.4.1 好友的迅速匹配 -244.4.2 好友的添加以及发信-244.4.3 黑名单-255 结束语 -266 参考文献 -276 致谢 -2871 概述1.1引言 时代的车轮滚滚向前,人们跟随着的时代的步伐奔跑着,前进着。然在强势的社会竞争与生活压力面前,你能让自己时时跟上这时代的节奏吗?你能让自己在任何时候都昂首阔步吗?在人类文明日益发展的今天,拥有一个健康的心态对能否取得最终的成功起到了至关重要的作用,因此认为很有必在开展并推广心理咨询。而随着互联网技术的迅速发展,网络已渐深入人心,成为继报刊、电视、广播等传统媒体之后而兴起的一新传媒介质,网络宣传已成为众多宣传手段的重中之重,各种各样的网站也就应运而生。如今国内外也有很多心理咨询网站,采用的技术也是多种多样,很多都采用MVC的三层架构体系;但对于我国,无论是在心理咨询本身还是在推广心理咨询这个问题上,都远远不及欧洲各国。因此我认为如果能设计一个心理咨询网站,让人们通过互联网这个平台自由的交流各自的心灵故事及生活感悟,也在这个平台倾诉各自工作中、生活中的快乐与不快,释放压力源或从别人的故事中汲取经验与教训,处理一些简单的心理方面的困惑;而对于某些存在较为严重心理问题的人们,也可以通过心理咨询网站找到合适自己的心理咨询方式,如预约心理咨询师进行面对面咨询,这也成为咨询方聚拢一批自己的客户的一种方式;另外对心理咨询新的研究发现与心理学新书的发行,也可以通过心理咨询网站进行推广。1.2系统概述 人们常说,心灵之花是世界上最美丽的花朵,她赋予了人们善良、纯真、积极、乐观等美好的品质,指引人们走向成功。本网站本着实用性、通用、开放和安全的原则,设计出了一个心灵交流空间,让人们通过互联网这个平台自由的交流一些心理方面的困惑;本网站采用Struts框架在Linux环境下开发制作而成,是基于B/S架构的WEB应用,系统的核心技术是Struts框架(MVC 模式)。本网站实现了游客访问与会员访问二大功能,重点为会员访问部分,其实现的功能包括注册,登录,郁情小屋积分制,会员级别,忘记密码,创建个人空间,好友速配,短信及其管理,好友名单及黑名单管理,论坛功能等等。1.2.1 开发目的此站点为现代快节奏生活的人们提供了一个网上交流的平台,同时也推广心理咨询新的研究发现与心理学新书的发行,以解决人们工作上、生活中的困惑,强调专业性、互动性、知识性、趣味性,让人们能够及时的缓解自身的精神及心理压力,以更加积极健康的心态投入到新的工作中。1.2.2开发环境及相关技术采用B/S架构,使用j2ee运行环境服务器操作系统:Linux数据库服务器:oracle9iWeb服务器:Tomcat软件开发技术:JSP Hibernate Struts Servlet Html JavaScript CSS其主要技术的描述如下:(一)JSPJavaServerPages (JSP)技术提供了一种简单快速的方法来创建显示动态生成内容的Web页面。由业界处于领先地位的Sun公司制定了相关的JSP技术规范,该规范定义了如何在服务器和JSP页面间进行交互,还描述了页面的格式和语法。JSP页面使用XML标签和scriptlets(一种使用Java语言编写的脚本代码),封装了生成页面内容的逻辑。它将各种格式的标签(HTML或者XML)直接传递回响应页面。通过这种方式,JSP页面实现了页面逻辑与其设计和显示的分离。JSP 技术是Java系列技术的一部分。JSP页面被编译成servlet,并可能调用JavaBeans组件(beans)或 EnterpriseJavaBeans组件(企业beans),以便在服务器端处理。因此,JSP技术在构建可升级的基于web的应用程 序时扮演了重要角色。 JSP页面并不局限于任何特定的平台或web服务器上。JSP规范在业界有着广泛的适应性。JSP技术是行业协作的结果,它的设计是开放的,符合行业标准的,并支持绝大多数的服务器、浏览器和相关工具。由于使用可重用的组件和标签取代了对页面本身脚本语言的严重依赖,JSP技 术大大加快了开发的速度。所有JSP的实现均支持以Java编程语言为基础的脚本语言,它有与生俱来的可适应性,支持复杂的操作。(二)ServletServlet是使用Java Servlet 应用程序设计接口(API)及相关类和方法的 Java 程序。除了 Java Servlet API,Servlet 还可以使用用以扩展和添加到 API 的 Java 类软件包。Servlet 在启用 Java 的 Web 服务器上或应用服务器上运行并扩展了该服务器的能力。Java servlet对于Web服务器就好象Java applet对于Web浏览器。Servlet装入Web服务器并在Web服务器内执行,而applet装入Web浏览器并在Web浏览器内执行。 Java Servlet API 定义了一个servlet 和Java使能的服务器之间的一个标准接口,这使得Servlets具有跨服务器平台的特性。 Servlet 通过创建一个框架来扩展服务器的能力,以提供在 Web 上进行请求和响应服务。当客户机发送请求至服务器时,服务器可以将请求信息发送给 Servlet,并让 Servlet 建立起服务器返回给客户机的响应。 当启动 Web 服务器或客户机第一次请求服务时,可以自动装入 Servlet。装入后, Servlet 继续运行直到其它客户机发出请求。Servlet 的功能涉及范围很广。 (三)StrutsStruts只是一个MVC框架(Framework),用于快速开发JavaWeb应用。Struts实现的重点在C(Controller),包括 ActionServlet/RequestProcessor和我们定制的Action,也为V(View)提供了一系列定制标签 (CustomTag)。但Struts几乎没有涉及M(Model),所以Struts可以采用JAVA实现的任何形式的商业逻辑。Spring是一个轻型容器(light-weightcontainer),其核心是Bean工厂(BeanFactory),用以构造我们所需要 的M(Model)。在此基础之上,Spring提供了AOP(Aspect-OrientedProgramming,面向层面的编程)的实现,用 它来提供非管理环境下申明方式的事务、安全等服务;对Bean工厂的扩展ApplicationContext更加方便我们实现J2EE的应用; DAO/ORM的实现方便我们进行数据库的开发;WebMVC和SpringWeb提供了JavaWeb应用的框架或与其他流行的Web框架进行集 成。就是说可将两者一起使用,达到将两者自身的特点进行互补。(四)Hibernate1. Hibernate是JDBC的轻量级的对象封装。它是一个独立的对象持久层框架,和App Server,和EJB没有什么必然的联系。Hibernate可以用在任何JDBC可以使用的场合,例如Java应用程序的数据库访问代码,DAO接口 的实现类,甚至可以是BMP里面的访问数据库的代码。从这个意义上来说,Hibernate和EB不是一个范畴的东西,也不存在非此即彼的关系。2. Hibernate是一个和JDBC密切关联的框架,所以Hibernate的兼容性和JDBC驱动,和数据库都有一定的关系,但是和使用它的Java程序,和App Server没有任何关系,也不存在兼容性问题。3. Hibernate不能用来直接和Entity Bean做对比,只有放在整个J2EE项目的框架中才能比较。并且即使是放在软件整体框架中来看,Hibernate也是做为JDBC的替代者出现的,而 不是Entity Bean的替代者出现的,让我再列一次框架结构:传统的架构:(1) Session Bean Entity Bean DB为了解决性能障碍的替代架构:(2) Session Bean DAO JDBC DB使用Hibernate来提高上面架构的开发效率的架构:(3)Session Bean DAO Hibernate DB1.3设计方案通过本网站的一些功能让人们快速及时的找到心灵的压力源,从而能够及时的缓解自身的精神及心理压力.1.3.1、游客访问。任何人都能通过互联网访问到这部分信息,如心理学研究动态等,在这里我只做了几个简单的静态页面示意;另外,游客进入此页面后可以选择注册成为会员,已是会员的游客也可以通过这个页面进入登录页面,从而进入会员模块,拥有会员权限与功能。图1 游客访问主界面1.3.2、用户注册。用户在此页面填写相应信息提交后即可成为会员。图2会员注册界面1.3.3、会员访问。1、已注册的用户进入登录模块,输入用户名、密码并进行验证后进入会员访问模块,可以在此修改自己的基本信息,如个人资料等。图3 会员登录界面2、用户可以创建个性空间,通过个性空间来向所有会员展示一个个性的自己,从而有机会结识更多的好友。图4 好友匹配3、通过短信平台给网站的任何一位会员发送或接收短信息,与其他会员进行交流。图5 发送信息4、好友管理,用户可以自己查找好友并将其加入好友名单,也可以把好友添加到黑名单, 或者将其删除.图6 会员访问主页面5、心理论坛.设置为自由论坛,会员可以发布帖子,也可以对其他会员的帖子发起评论,从而达到相互交流的目地.图7 心理论坛6、忘记密码。如果用户不小心忘记了自己注册时候设置的密码,可能通过密码提示问题及其答案提交,然后系统会根本用户提交的信息是否正确从而产生一个新的密码,并显示给用户,用户可以用这个新密码登录。图8 忘记密码2 需求分析2.1任务概述功能优化方面:界面友好:清晰,明朗的界面;提示功能:在有明显输入提示功能(比如要求输入时输入框不能为空等);减少重复输入:系统涉及的数据需求,只一次输入此后调用;方便的查询:可由姓名、性别,年龄查询,使用下拉列表选择及用户输入。2.2 数据描述2.2.1静态数据 在这个系统中我们把静态数据,放在我们成为死表中,就是存放一些不再改变的信息,表和其中的数据一经保存,不再改变。我们用这么几张表才存放,这些表将在下面的数据库设计中罗列出来,这里我就只做简要说明。1 Provice表 用来存放所有的省份和地区,以便用户在注册的时候选择。2 PointAction 表用来存放积分的动作,进行什么动作获得多少积分,就存放到此表中,比如注册我们就把动作叫做REGISTER,对应相应的积分也放在表中,所以在程序中我们就要注意这个问题,当用户做出这些动作的时候,我们就要检索表并给以加上相应的积分。3 GradeRecord 表用来存放用户的等级,在这张表中我们有两个字段minPoint,maxPoint用来规定各个等级所需要的积分。每次当用户获得新的积分后我们都会判断用户处于什么等级,来获得相应的称号达到动态显示会员等级的作用。2.2.2 动态数据该系统中动态的数据有8张表分别存放了,不同功能实现时所要保存的信息。1MemberInfo表存放了用户的注册的各种信息以及与其他表关联的字段信息,是整个系统中的主表,其他所有的表都是围绕他来设计的。2MemberSpace 表存放了用户创建的个性空间的信息。3MessageRecord 表存放了所有用户相互发送的信息,有两个关键字段就是收件人和发件人,所有用户都是通过这两个字段来检索数据库而获得自己的消息的。4FriendRecord 表存放了所有好友名字与自己的关联关系。5BlackRecord 表存放了所有被加入黑名单的名字与自己的关联关系。6 PointRecord 表存放了所有会员加分的动作以及加分的分数和时间,以便日后查找。7BbsRecord表存放了会员所有发布的帖子及发帖时间,及发帖人签名。8CommentRecord表存放了所有帖子的评论及评论时间,及评论人签名。2.3功能需求2.3.1.游客访问。任何人只要输入网址就可以进入此页面,可以读取心理网站的部分信息,如心理学研究动态等静态页面;另外,游客进入此页面后可以选择“注册”而进入注册页面,已是会员的游客也可以通过这个页面选择“登录”,从而进入会员模块。2.3.2.注册和登录的实现在注册方面采用JavaScript的表单认证技术,并把密码用一定的算法加密;登录方面能够实现自动登录的功能,并能找回加密密码。2.3.3.会员首页的设计能够显示当前的日期信息,在线人数,积分排行等,并能查看排行榜会员信息。2.3.4.站内好友的匹配为了方便站内会员的更亲密交流,增加匹配好友系统。2.3.5.站内邮箱为满足站内会员的信息交流,创建站内邮箱系统,用户可以相互发送邮件进行交流。2.3.6.个性化空间的创建通过创建用户自己的个性化空间来让其他会员更加了解自己。2.3.7.个人信息的管理维护提供注册信息和个性化空间的修改功能,可以使用户根据自己的要求更改相关信息。2.3.8.BBS论坛模块的设计会员可以在此发布帖子,也可以对别人所发布的帖子发表自己的见解,可更方便快捷的满足会员交流。3 系统整体设计3.1系统功能分析本系统需求实现可以分为四大模块,其中对第四个模块普通的会员是没有操作得权限的,只有管理员才能访问并作具体的操作。具体模块和对应的用例图如下:3.1.1、用户管理信息;3.1.2、短信管理;3.1.3、联系人管理;3.1.4、BBS论坛管理;BBS论坛发表评论发表论题评论管理论题管理3.1.5、后台管理;后台管理添加积分动作管理积分动作添加会员积分注销会员动作积分管理会员管理3.2数据库的设计与关系 数据库设计的任务是确定系统所需的数据库。数据库是表的集合,通常一个系统只需一个数据库。E-R View据ER图通过对关系模型的转化确定数据库所含表及字段:0.Table MemberInfo存放会员信息字段名字段类型约束或索引描述IDNumber(Sequence)PK记录流水号NickNameNvarchar2(20)Not Null用户昵称PasswordVarchar2(50)Not NullMD5加密口令,页面上限制为16字节GenderNvarchar2(1)Not Null性别,男或女AgeNumberNot Null年龄EmailNvarchar2(100)Not Null电子邮件PasswordQuestionNvarchar2(200)密码提示问题PasswordAnswerNvarchar2(200)密码提示问题答案ProvinceCityNvarchar2(20)所在省市AddressNvarchar2(200)地址PhoneVarchar2(50)联系电话PointNumberDefault=0当前积分RecommenderVarchar2(20)推荐人RegisterDateDate注册时间LatestDateDate上次上线时间StatusNumberDefault=00-正常 1-注销 IsOnlineNumberDefault=00-下线 1-在线GradeIdNumber等级ID 外键1.Table MemberSpace存放会员的个性化的信息字段名字段类型约束或索引描述IDNumber(Sequence)PK记录流水号DescribeVarchar2(20)个人描述NatureVarchar2(20)性格FeelingVarchar2(20)心情MethodVarchar2(20)调节心情的方式LoverVarchar2(20)最喜欢做的事CellphoneVarchar2(200)正在使用的手机IconVarchar2(50)个人空间头像图片存在的路径MemberidNumber会员id( reference MemberInfo)2.Table GradeRecord存放会员级别的评判规则字段名字段类型约束或索引描述IDNumber(Sequence)PK记录流水号MinpointNumberNot Null积分的上限MaxpointNumberNot Null积分的下限GradenameVarchar2(20)Not Null级别名称IconPathVarchar2(50)Not Null每个级别分别对应不同的头像3.Table PointRecord存放会员获取积分的流水记录字段名字段类型约束或索引描述IDNumber(Sequence)PK记录流水号NicknameVarchar2(20)Not Null获取积分的会员ReceiveDateDateNot Null获得积分的日期PointactionIdNumberNot Null所获积分4.Table PointAction存放积分动作,即执行某个操作对应可以获得多少积分字段名字段类型约束或索引描述IDNumber(Sequence)PKActionNameVarchar2(20)标示积分操作名称,比如”Register”表示会员注册。PointNumberNot Null可获积分DescriptionNvarchar(200)描述5.Table MessageRecord存放短信信息字段名字段类型约束或索引描述IDNumber(Sequence)PK记录流水号SenderVarchar2(20)Not Null发件人登录名ReceiverVarchar2(20)Not Null收件人登录名SendDateDateDefault=当前时间, Not Null发送日期TitleNVarchar2(100)Not Null短信标题,页面上最多100字ContentNvarchar2(300)Not Null短信内容,页面上最多300字StatusNumberDefault=00-未阅读 1-已阅读SenderStatusNumberDefault=00-表示未删除 1-表示已删除(发送者)ReceiverStatusNumberDefault=00-表示未删除 1-表示已删除(接收者)6.Table FriendRecord存放好友名单字段名字段类型约束或索引描述IDNumber(Sequence)PK记录流水号SelfNameVarchar2(20)Not Null 会员登录名FriendNameVarchar2(20)Not Null 好友登录名7.Table BlackRecord存放黑名单字段名字段类型约束或索引描述IDNumber(Sequence)PK记录流水号SelfNameVarchar2(20)Not Null 会员登录名BlackNameVarchar2(20)Not Null 被加入黑名单者登录名8.Table BbsRecord存放所有会员发布的帖子字段名字段类型约束或索引描述IDNumber(Sequence)PK记录流水号SenderVarchar2(20)Not Null发件人登录名SendDateDateDefault=当前时间, Not Null发送日期TitleNVarchar2(100)Not Null短信标题,页面上最多100字ContentNvarchar2(300)Not Null短信内容,页面上最多300字9.Table CommentRecord存放所有会员对帖子的评论字段名字段类型约束或索引描述IDNumber(Sequence)PK记录流水号SenderVarchar2(20)Not Null发件人登录名SendDateDateDefault=当前时间, Not Null发送日期TitleNVarchar2(100)Not Null短信标题,页面上最多100字ContentNvarchar2(300)Not Null短信内容,页面上最多300字3.3总体框架设计 MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层 。在这里我用Struts这个MVC的框架,来开发我的网站,使用Struts对我的程序进行整体的流程控制。视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet。 随着应用的复杂性和规模性,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以 及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(Model)处理。比如一个订单的视图只接受来自模型的数据并显示给用户,以 及将用户界面的输入数据和请求传递给控制和模型。我在View层的设计中多次使用了JSP技术中的 EL(expression language)表达式和JSTL语言,用来显示数据给客户。模型(Model):就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心。目前流行的EJB模型就是一个典型的应用例子,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的 框架。它仅仅告诉你按这种模型设计就可以利用某些技术组件,从而减少了技术上的困难。对一个开发者来说,就可以专注于业务模型的设计。MVC设计模式告诉 我们,把应用的模型按一定的规则抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依据。抽象与具体不能隔得太远,也不能太近。MVC并没有 提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。我们可以用对象编程来做比喻,MVC定义了一个顶级类,告诉它的子类你只能做这些,但没法限制你能做这些。这点对编程的开发人员非常重要。业务模型还有一个很重要的模型那就是数据模型。数据模型主要指实体对象的数据 保存(持久化)。比如将用户基本信息存到数据库,从数据库获取用户基本信息。我们可以将这个模型单独列出,所有有关数据库的操作只限制在该模型中。控制(Controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以 完成什么样的用户请求。控制层并不做任何的数据处理。例如,用户点击一个连接,控制层接受请求后, 并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一个视图可能对应多个 模型。模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应 反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。模型、视 图、控制器三者之间的关系和各自的主要功能。使用DAO模式减少不同层之间的耦合度DAO是Data Access Object数据访问接口,数据访问:故名思义就是与数据库打交道。夹在业务逻辑与数据库资源中间,并且它也可以用在控制层和业务逻辑层之间用来减少耦合度。 工厂模型的使用:工厂模式是我们最常用的模式了,著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见。为什么工厂模式是如此常用?因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=new A() 工厂模式也是用来创建实例对象的,所以以后new时就要多个心眼,是否可以考虑实用工厂模式,虽然这样做,可能多做一些工作,但会给你系统带来更大的可扩展性和尽量少的修改量。 图8 工厂模式图3.4顺序图顺序图图8 顺序图图9 顺序图4 系统模块设计(后台管理子模块)4.1登陆注册4.1.1注册用户用户所有的信息都是通过此模块保存到数据库中的,这是用户登陆系统的前提。这里我们在处理所选省份的时候采用一个单独的类把数据库中保存的省份load出来后在jsp中遍历。其实这在代码上虽然简化了很多。但是损失了一部分效率。在对效率要求不是很严格的情况下,我们采用了这种方式大大简化了代码。客户端验证:在所有的jsp页面中客户端验证有javascript来完成,比如当输入的密码,电子邮箱地址或者其他会员信息格式有错误时,系统会弹出对话框提示错误,并且阻止这种错误表单的提交。如果输入为空,会提示管理员没有输入用户名,并再次返回到主页面。同样当用户用页数来查找记录时输入非法数据时提示错误信息等等。这些都是通过javascript技术处理使得表单在客户端就得到了验证,大大减少了服务器端的压力。操作方便并且提高效率。4.1.2 用户登陆用户注册成功之后跳转到登陆页面,此时用户进行登陆,输入用户名和密码后,传送到服务器端进行验证,即从数据库中查找用户名如果存在,然后在把输入的密码加密与数据库中的数据进行比较。吻合则登陆成功。在这里我们也可以用我门经常用到的自动登陆方式。这里提供了这种方式。自动登陆就是进入登陆页面前系统会先检查浏览器中的cookie中有没有保存上次登陆的用户名和密码如果有即直接放到Form中显示给用户,用户不在需要输入用户名和密码就可直接登陆。4.1.3密码的找回如果用户忘记密码可以通过找回密码功能找回密码,当然这个密码不是以前的密码,因为密码在保存到数据库中已经加了密,不能直接查询出原密码。当用户丢失密码后,系统将重新随即产生一个密码,返还给用户。同时加密后替换掉数据库原来保存的密码。4.2 会员管理4.2.1添加会员积分这其实是一种鼓励会员积极参加活动的一种方式。就是会员在完成特定的操作后,会得到一定的奖励。比如当用户注册成功之后,或者每天登陆后,创建维护个性空间后和参加社区活动都能获得相应的积分数。然后我们根据相应的积分数给予会员等级称号。例如心理咨询员,心理咨询师,专业心理咨询师,特级心理咨询师等。积分的奖励,都是通过相应的动作来激发,什么动作加多少分也都在数据库中用一张表保存好了。当会员执行某中操作时我们就要从数据库中查找相应的分数给以加上后给用户保存。4.2.2 会员信息修改即把会员信息界面重新呈现给用户,并且要把用户已经注册过的信息动态地显示出来。以使用户能够看到原来他所填写的信息。在这里我们在jsp中,大量地用到了JSTL标签。以避免在JSP页面中嵌入脚本代码。修改完表单后提交,这时我们要把用户的各种属性重新SET到MemberInfo这个Pojo类中,后调用方法保存。4.2.3 会员个性空间的创建以及维护为了展示会员的个性和风采,我们还推出了个性空间的设计。会员每人可创建一个个性空间,在个性空间中有自己的兴趣和爱好,和自己的跑步习惯,同时可以上传自己的头像或者其他图片。在上传图片是用到了输入流。通过html:file标签控件可获得一个输入流,我们读取输入流的信息并同时输出到服务器特地路径下,就实现的资源的上传。同时我们把保存的路径保存到数据库中,当会员浏览自己或者他人的个性空间的时候,我们就从数据库中读取出路

温馨提示

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

最新文档

评论

0/150

提交评论