毕业论文-基于Maven和SSH的小型技术型内容推送系统的设计与实现.docx_第1页
毕业论文-基于Maven和SSH的小型技术型内容推送系统的设计与实现.docx_第2页
毕业论文-基于Maven和SSH的小型技术型内容推送系统的设计与实现.docx_第3页
毕业论文-基于Maven和SSH的小型技术型内容推送系统的设计与实现.docx_第4页
毕业论文-基于Maven和SSH的小型技术型内容推送系统的设计与实现.docx_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

基于Maven和SSH的小型技术型内容推送系统的设计与实现个人中心模块姓 名: 学 号: 院 系: 信息技术工程学院 专 业: 信息管理与信息系统 指导教师: 申请学位: 管理学学士 二一五年三月学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。作者签名:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保障、使用学位论文的规定,同意学校保留并向有关学位论文管理部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权省级优秀学士学位论文评选机构将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。本学位论文属于:1、 保密,在_年解密后适用本授权书。2、 不保密。(请在以上相应方框内打“”)作者签名:年月日基于Maven和SSH的小型技术型内容推送系统的设计与实现个人中心模块祖维香(玉溪师范学院信息技术工程学院,云南 玉溪 653100)【摘要】现在信息系统在各行各业都扮演着重要的角色王伟军 孙晶. WEB2.0的研究与应用综述N.华中师范大学信息管理系(情报科学)2007年 第12期,个人中心更是众多信息系统都具有的实现,个人中心一般包括个人信息的查看、修改和与个人相关的内容的展示等。基于Maven和SSH的小型技术型内容推送系统的设计与实现其个人中心亦包含了以上所提的几个部分,该模块采用了符合WEB2.0的Ajax技术,使得用户在注册或者查看信息的时候更为方便和友好,数据存储上采用了小型的数据库MYSQL 5.0,搭乘Struts2+Spring3+hibernate4以实现符合J2EE规范的应用。关键词:AJAX;用户信息;SSH;Abstract:Now the information system plays an important role in all walks of life, personal center is one of the many information systems are the personal center, including personal information, view, modify and related personal content display. Several parts and achieve their personal center also includes the design of feed system mentioned above the small technology Maven and SSH content based on the module uses the WEB2.0 compliant Ajax technology, allows users to register or view the information more convenient and friendly, data storage using a small database MYSQL 5, take the Struts2+Spring3+hibernate4 to achieve the application of J2EE standard.Key words:AJAX;User information;SSH;目录一、绪论51.1研究背景51.2课题现状51.3课题研究意义51.4模块设计目标6二技术选型62.1 Struts262.2 Spring62.3 Hibernate72.4 UUID72.5 MD57三模块可行性分析73.1 技术可行性73.2 经济可行性83.3 实施可行性8四模块需求分析84.1 功能需求分析84.2 非功能需求分析9五模块功能设计105.1 个人信息管理部分的设计105.1.1 用户注册105.1.2 用户登录115.1.3 密码找回115.1.4 信息修改125.2 个人关联内容部分的设计13六模块功能实现136.1 个人信息管理部分的实现136.1.1 用户注册的实现136.1.2 用户登录的实现156.1.3 用户信息修改的实现166.2 个人关联内容部分的实现17七模块功能测试187.1 测试环境18八总结和展望18参考文献18致谢18一 、绪论个人中心模块是系统流量的入口,是管理信息系统的重要组成部分。本模块包含了用户注册、登录、信息修改和相关内容管理的设计与实现,其中用户注册和登录是信息系统中最常用也是必不可少的功能,相关内容管理实现了用户对自己参与的内容进行分门别类展示和管理的需求。1.1研究背景近年来各种商业和门户网站飞速发展,无论是商业网站还是门户网站,都具有用户注册和登录的功能徐安令.基于WAMP架构的博库管理信息系统分析与设计N.德宏师范高等专科学校计科系。随着互联网应用的普及和大众化,网站管理单位和人员对网站信息的管理和维护需要进一步的优化,互联网是资源共享、信息发布的重要平台,但并不是所有的信息和资源都可以对用户进行无限制的访问控制。基于以上原因,用户注册和登录时候的权限分配和信息加密就成了信息系统安全的重要保障。 利用Struts2框架进行开发和部署,可以在很大程度上使得纷繁复杂的问题变得清晰明朗耿伟 刘振海 孙磊. Struts2框架技术的研究与分析N. 中国矿业大学计算机科学与技术学院(电脑知识与技术)2008年33期致谢历时两个月终于完成了毕业设计的设计和实现以及毕业论文的编写,在此过程中遇到了无数的问题和障碍,但都在小组成员和老师的帮助下解决了。尤其强烈感谢我们的论文指导老师唐老师,他对我们论文的无私指导和帮助,不厌其烦的帮助进行论文的修改和改进。,处于控制层的Struts2更能按照需要实现业务逻辑实现和数据展示的低耦合,从而进一步提高系统的可扩展和可维护性。1.2课题现状Maven是目前主流的基于项目对象模型创建的项目管理工具,它可以自动识别项目名称、版本、需要的构建信息等,Maven管理工具使得项目构建由复杂变得简单,减少了繁琐和重复的构建步骤,是目前企业级信息解决方案中普遍采用的项目管理和协助开发工具。MVC的提出和应用降低了系统与系统,系统内部模块与模块以及程序与程序之间的耦合程度,使用Struts2,结合spring和hibernate的框架结构开发就是基于MVC思想创建的框架组合,这样的组合不仅有效降低了耦合程度也使得程度的运行效率得到了提高,这主要源于spring对实体模型、控制层和数据持久化层的类都以单例模式的方式注入。1.3课题研究意义基于Maven和SSH的小型技术型内容推送系统中的个人中心的设计和实现主要包括用户注册、登录、信息修改和相关内容的展示。本模块的设计遵循简洁、友好的设计原则,本模块的设计和实现可以引导用户很快成为系统成员,这是吸引网站流量的第一步,再加上网站内容的吸引,可以有效提高网站的访问量,为社区良好的互动提供群众基础。内容的分类展示便于用户快速了解与自己相关的帖子的最新动态,起到了快速传递信息的作用。1.4模块设计目标设计目标从宏观上引导系统的建设,使得系统在后续细节实现的时候不偏离最初的目标。本模块的设计目标由以下几个部分组成:注册模块准确收集用户的信息,包括用户名、密码、密保问题、密保问题答案、找回密码的电子邮件地址,用户注册过程中对用户的选择和输入进行友好的提示,并校验用户输入的信息是否符合相应格式的要求;用户登录用户名和密码的无动态校验,登录后显示在线用户名;与用户有关的文章的分类显示,展示的仅仅是文章的标题、发布时间等局部信息,需要查看了解详情需要点击进入;用户基本信息的修改,修改过程中的输入提示,修改后的信息以邮件的方式发送到用户的安全邮箱。二 技术选型2.1 Struts2Struts2是阿帕奇旗下一款具有稳定开发人群的主流框架,Struts2采用拦截器的方式对表单的提交和请求进行拦截,解除了与JSP和servlet的耦合,Struts2提供了丰富的结果视图展示,处理后的请求结果可以返回给jsp页面,也可以是以流的方式或者PDF等方式输出。经过多年的发展,Struts2已经成为了行业开发上的工业标准。2.2 Spring当对象之间有着某种强烈的依赖的时候,对象被创建的同时其需要依赖的对象也需要被创建,这是传统的处理对象依赖的方式,这样的方式对系统资源开销的要求很高。Spring诞生以后,彻底解决了对象之间的依赖,Spring将被动创建改为了主动注入,依靠其强大的依赖注入功能完成了依赖对象的主动注入,这不仅降低了系统开销而且也使得对象与对象之间的耦合程度有了比传统方式注入更低的实现可能。2.3 HibernateHibernate的出现使得开发人员在处理关系型数据库的查询等操作的时候不比考虑关系模式的复杂处理方法,直接使用面向对象的思维即可对数据库进行操作,完成数据模型的持久化重任。Hibernate可以应用与任务需要使用JDBC实现数据库连接的场合,其对数据库连接方式的封装是轻量级的,这从一定程度上也减轻了数据库服务器的压力,采用的查询语句HQL与SQL虽在语法上有共同的地方,但HQL语句由于是面向对象的操作,所以其灵活性和简易性比SQL友好得多。2.4 UUIDUUID(Universally Unique Identifier)即全球唯一识别码,全球唯一识别码由机器上的以太网网卡地址、当地时间和时钟序号等组成,它使得在分布式的系统上无需专门为系统资源制定标识,只要系统资源是以全球唯一识别码为标识的资源就是独立存在的,如此也就解决了可能出现的标识冲突的问题。2.5 MD5本模块的实现对于用户的信息管理和系统安全有着至关重要的作用,所以在数据加密上采用了MD5的加密算法以保证数据传输的安全和可靠。MD5是计算机领域普遍使用的对信息进行加密的散列算法,此种加密算法具有不可不可修改、容易计算等特点,有助于完成信息传递的完整性。三 模块可行性分析3.1 技术可行性基于Maven和SSH的小型技术型内容推送系统整个系统技术架构采用符合J2EE标准的Struts2+spring3+hibernate4进行搭建和实现,无论是Struts2还是spring3和hibernate4都是具有很成熟的商用案例的开源型轻量级框架,所以在技术选型上选择了此类型的搭配。前台使用技术展示主要采用了基于JQuery实现的JQueryEasyUI和Bootstrap进行内容最后的渲染,Bootstrap目前已经成为了W3C推崇的前台开发框架,具有完善的API,所以从技术的角度考虑本模块的设计与开发从技术选型上是可行的。3.2 经济可行性经济可行性分析是指对项目所需成本和项目实现后的经济效益进行评估和分析,综合考虑后得出是否具备可行性的结论的过程。本系统采用的无论是框架还是服务器都是开源免费的,从成本上来说仅仅是时间上花费的成本比较多,系统开发实现后可以为具有系统上展示的技术信息感兴趣的群体提供互动交流和提高的平台,这对社会和经济的发展都是有利可行的。3.3 实施可行性系统基于浏览器/服务器的模式进行实现并且现在已经有众多基于该模式实现的成功系统,这些系统上基本都有用户信息管理模块,其中就包含了用户注册是、登录和内容分类展示浏览的操作,所以本模块实现后无需更多的培训即可引导用户完成注册、登录和浏览等一系列操作。四 模块需求分析需求分析是信息系统成长过程中极为重要的一个环节,需求分析的准确与否决定了系统后续工作是否能顺利,准确透彻的需求分析有助于降低系统建设的返工可能性,需求分析按照功能划分可分为功能需求分析和非功能需求分析。4.1 功能需求分析基于Maven和SSH的小型技术型内容推送系统的设计与实现,个人中心的功能需求主要分为以下几个部分:(1)、注册部分。该部分需要在系统首页引导用户进入,用户进入该部分后该部分主要负责用户信息的收集,收集的内容包括用户名、密码、安全邮箱地址、安全问题以及问题答案等,在收集过程中需要对用户的输入和选择进行准确性提示,为防止恶意注册,还需用验证码来控制用户的注册操作。(2)、登录部分。系统主页需要在合适的位置放置用户登录的文本框和按钮,当用户需要登录以实现内容的查看或者发布的时候,需要对用户的输入进行准确性校验,校验完成采用异步JavaScript和XML进行校验结果显示以提示用户输入后的输出结果。(3)、信息修改。当用户的个人发生变更需要对系统中存储的信息进行修改的时候系统应以友好的方式引导用户进入个人信息修改的界面,界面加载的时候显示当前用户的信息,用户可以在当前展示的信息中查看并修改个人信息,当用户输入最新的个人信息的时候同样也需要进行校验,输入提交修改处理后的结果需要发邮件到用户的安全邮箱中同时异步提示修改的结果。(4)、内容分类展示。内容方面用户可能的操作有两项,即发布内容和参与内容回复。对于用户发布的内容和参与回复的内容需要分类在不同的区域进行展示以方便用户对内容的快速定位和查找。4.2 非功能需求分析功能性需求解决了信息系统能不能用的问题,而非功能性需求则需要解决用起来怎么样的问题,前者是基础,后者是补充。非功能性需求作为信息系统需求的重要组成部分,决定了信息系统能以什么样的状态满足用户业务需求。本模块的非功能性需求包括以下几个部分:(1)、可维护性。系统由不同的模块组成,各模块之间关系的复杂程度决定了系统维护是否顺利,简单,本模块采用分层架构的思想和框架设计和实现,最大限度的降低了系统模块与模块之间的耦合关系,使得系统具备良好的可维护性。(2)、可扩展性。业务不是一成不变的,业务会随着时间的推移发生一些变动,相应的业务变动的时候系统也需要做出调整,调整过程即为系统功能随业务变动扩展的过程。由于本模块的设计采用了分层架构使得控制层、业务逻辑层和数据持久化层的关系不是很紧密,耦合程度降低了也就使得系统具备了良好的扩展性能。(3)、可操作性。目前主要的系统设计模式有C/S和B/S模式,C/S模式依赖于不同平台的设计具有不同的特点,而B/S模式则不同,客户端都是通过浏览器访问,其最后的呈现效果都是通过HTML的方式渲染到客户界面上,所以具备了C/S模式无法比拟的可操作性。本模块界面展示采用JSP,以B/S模式的方式呈现内容所以具备良好的可操作性。五 模块功能设计5.1 个人信息管理部分的设计5.1.1 用户注册注册界面的设计如图5-1所示。图5-1 注册界面注册界面提供了收集用户信息必须的字段:用户名、密码、安全邮箱、密码提示问题、问题答案和验证码,当用户输入完成鼠标离开输入框的时候系统会提示用户输入的信息是否正确,设计了验证码以防止恶意注册。5.1.2 用户登录登录界面的设计如图5-2所示。图5-2用户登录界面使用了Bootstrap的文本框和按钮样式,使得用户无论是在计算机上还是移动平板电脑上都可以查看到登录界面的全部,因为bootstrap的布局是移动优先的响应式布局,用户登录成功与否会通过Ajax无动态的方式返回。5.1.3 密码找回个人信息修改的界面分为前台信息修改和后台管理信息修改,前台信息修改的界面如图5-3和5-4所示。图5-3 密码找回界面密码找回界面用于用户忘记登录密码,通过用户名和注册时候选择的安全问题和问题答案向注册时候填写的邮箱账号提交,用户密码就以邮件的方式发送到用户的安全邮箱中。5.1.4 信息修改图5-4 前台修改修改界面当用户已经登录,需要修改用户信息的时候可以通过首页上的个人中心进入个人中心,选择信息查询面板进行个人信息的修改,进入信息查询的效果如上图所示。后台信息修改的界面如图5-5所示。图5-5 后台信息修改5.2 个人关联内容部分的设计个人关联内容分为个人发布的内容和参与回复的内容,双击内容标题即可查看详情,个人关联内容的设计效果如图5-6所示。图5-6 关联内容展示六 模块功能实现6.1 个人信息管理部分的实现6.1.1 用户注册的实现该部分的实现难点在于用户信息的校验,重点是在用户进行信息提交的时候能准确校验用户的信息,该部分的实现采用了Struts2的校验实现。首先需要在需要校验的同级目录中创建校验的文件,本模块的校验文件名称为RegisterAction-validation.xml,校验文件所处位置如图6-1所示。 图6-1 注册界面信息校验文件所处位置校验文件的部分内容:用户名是必需的!a-zA-Z0-9._-2,25用户名必须是2到25位的数字或字符!通过如上的配置,在JSP界面使用Struts2标签即可实现用户信息的校验,当用户信息校验成功后提交用户信息到后台处理是通过Struts2属性注入的方式进行的,注入到控制层的用户属性会被封装成一个用户实体对象,继而通过Spring依赖注入进来的业务逻辑对象把用户对象通过调用持久化对象完成整个请求过程,请求过程的结束意味着响应过程的开始,当完成了用户对象的保存,无论保存动作是否成功都要响应到客户端,当保存成功会通过Struts2配置的视图跳转到注册成功页面,页面如图6-2所示,整个请求响应过程可以简化为如图6-3所示。图6-2 注册成功跳转页面图6-3 请求响应示意图注册部分的代码实现如下:代码实现说明:对通过模型驱动注入进来的用户对象进行改造,主要为其新增标识,标识类型为UUID,对界面传入的密码进行MD5加密后调用业务控制层保存用户实体。6.1.2 用户登录的实现用户登录分为前台用户登录和后台用户登录两个部分,前台用户可能是一般用户也可以是系统管理人员,后台用户则只允许后台管理人员登录,对于前台的实现只要是通过注册界面注册的用户都可以登录,但后台则需要管理员对注册用户授予管理员角色后才能登录系统后台。前台用户登录实现的主要代码如下:前台用户登录代码解析:同样的,用户的信息也是通过Struts2模型驱动注入进来的,和注册时候注入的不同是此处注入的只包括用户名和密码两个部分,通过获取注入的用户信息,对注入的密码进行MD5加密后调用业务逻辑层的匹配类确定用户信息的准确与否。后台登录代码实现:后台登录代码解析:此处的登录实现有别于前台登录的仅仅是调用不同的判断方式判断该用户是否是管理员,如果是则进入管理员视图,反之则返回不是管理员的信息到用户客户端。6.1.3 用户信息修改的实现用户修改是用户信息管理的重要组成部

温馨提示

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

评论

0/150

提交评论