基于JAVAEE的宠物交易系统的设计和实现论文最终版_第1页
基于JAVAEE的宠物交易系统的设计和实现论文最终版_第2页
基于JAVAEE的宠物交易系统的设计和实现论文最终版_第3页
基于JAVAEE的宠物交易系统的设计和实现论文最终版_第4页
基于JAVAEE的宠物交易系统的设计和实现论文最终版_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

1、 基于javaee的宠物交易系统的设计和实现摘 要随着人们生活水平不断地提高,养宠物已不是什么新鲜事儿了。宠物用品店、宠物医院、宠物美容店等也随之多了起来。但由于各种原因,许多的宠物会遭遇被遗弃事件。基于javaee的宠物交易系统主要采用jsp、springmvc、spring、hibernate、javamail等技术实现,具有登录、注册、密码找回、发布帖子、回复帖子、收藏帖子、消息提示、模拟支付、个人信息管理、日志记录等功能,本系统具有可配置性高、部署灵活、对硬件性能要求低等特点,有一定推广应用价值。关键词:宠物交易;关爱动物;保护生命design and implementation o

2、f the pet trade system based on javaee abstractas people living standard continuously improved, a pet is not fresh. pet shop, pet hospital, pet salon so much. but due to various reasons, many pets have abandoned events.pet trade system based on javaee mainly adopts jsp , springmvc, spring, hibernate

3、, javamail technology implementation.the system has a login, register, password back, post, reply, post, post, message, simulation pay, personal information management, logging, etc.this system has high configurability, flexible deployment, low requirements for hardware performance, and has the cert

4、ain application value.key words: pet trade; take care of animals; protect life目 录1项目概述11.1项目背景11.2功能概述21.3设计思路21.3.1 准备阶段31.3.2 设计开发阶段31.3.3 测试阶段31.4 软件选型32需求分析52.1系统设计目标52.2功能需求52.2.1登录模块52.2.2注册模块62.2.3密码找回模块72.2.4发帖模块72.2.6个人信息模块92.2.7收藏模块102.2.8消息模块112.2.9 订单模块122.2.10日志模块132.2.11城市切换模块132.3非功能需

5、求142.3.1性能142.3.2可靠性142.3.3健壮性152.3.4互操作性152.3.5可扩展性152.3.6应急与回退152.3.7帮助153 概要设计173.1总体设计173.1.1应用功能架构183.1.2应用功能设计说明183.1.3系统结构设计193.2数据库设计203.2.1概要模型203.2.2物理模型203.2.3表结构213.3接口设计253.3.1 接口iuserservice253.3.2 接口ipostservice263.3.3 接口ireplyservice273.3.4 接口iorderservice273.4界面设计273.4.1 主要页面273.4.2

6、 页面间跳转284详细设计304.1 登录与注册模块304.1.1功能概述304.1.2业务流程304.1.3代码实现314.1.4界面效果334.2 发帖模块344.2.1 功能概述344.2.2 业务流程344.2.3 代码实现354.2.4 界面效果394.3回复模块404.3.1 功能概述404.3.2 业务流程404.3.3 代码实现414.3.4 界面效果424.4 订单模块434.4.1 功能概述434.4.2 代码实现434.4.3 界面效果455项目总结465.1 首次接触技术465.2 存在缺陷465.3 后期维护计划47参考文献48致 谢49附录50外文原文50中文翻译5

7、51项目概述1.1 项目背景随着人们生活水平不断地提高,养宠物已不是什么新鲜事儿了。宠物用品店、宠物医院、宠物美容店等也随之多了起来。但由于各种原因,许多的宠物会遭遇被遗弃事件。“不喜欢了,就不要在一起耗啦!”现在恋人对于感情的观点越发明确,但是,如果用这种思维来对待宠物显然是不合适的。宠物没有语言能力,没有为自己创造生存资源的能力,被遗弃将对它们造成生命的威胁。某宠物网站负责人介绍,宠物被遗弃的主要原因主要是四点:其一是拆迁,遇到拆迁这种问题,人们想到的更多的是如何能尽快的适应新住所的环境,有的住所环境不适合养宠物,因此,宠物只能遗弃。其二是升学,有的学生喜欢养宠物,在考入大学或出国留学的时

8、候,没有时间和精力来继续养宠物,宠物遭到遗弃。其三是工作调动,职员工作调到外地,外地的各方面自己都需要很长时间去适应,哪来时间养宠物呢?其四是宠物生病,有的主人觉得宠物生病了,对家人健康都有影响,还不如让它自生自灭吧。综上所述,宠物被遗弃的事件越来越多,使得宠物饿死、冻死的事情时有发生。遗弃宠物事件频发,多家宠物用品店及医院大都收留了一些被主人遗弃的猫狗,各地都有宠物被遗弃或被爱心人士收养的新闻。且遗弃宠物事件已引起社会广大的关心与争议。宠物的遭遇为什么会引来这么多关心乃至争议?我认为这一切恰恰说明了社会在进步:人们对于宠物的态度应该是整个社会文明的一部分。爱护宠物和环境保护、野生动物保护实际

9、上是相一致的,这种爱心还会影响到人与人之间的关系是宽容和友爱,还是敌意和猜疑。我们不可想像一个对动物冷漠无情的人,会宽厚大度地爱他的同事、邻居和朋友,会对遭遇困境的素不相识的人伸出援助之手。 正如专家所指出的,饲养并善待宠物,能够增强人们的爱心,使人生活得更健康,更快乐,这也正是我们呼吁全社会都来关心宠物命运的原因。还是那句老话,对于小猫小狗,你可以远离它,但是你绝对不可以虐待它。我们无力全面保护我们深爱的宠物,使它们不受到丝毫伤害,这是件令人痛苦的事,却又是人类无法回避的事实。然而,如果我们知道我们给予了这些小东西最好的照料,而且它们也清楚明白自己一直为我们所深爱,我们就会倍感欣慰。因此,这

10、是我们给予它们的最好礼物,同时也是它们回赠给我们的最好礼物。目前有关宠物交易与领养的网络平台任然很少,且大都以宠物用品的销售为核心,人们获取交易宠物的信息渠道少。 基于以上背景,我的毕业设计选题是宠物交易平台的设计与实现。该系统旨在方便人们发布与寻找有关宠物信息,方便人们信息交流,促进社会公益事业的发展。1.2 功能概述宠物交易系统为用户提供了一个专业的宠物交易平台,用户通过发布和回复信息可以满足出售宠物、购买宠物、赠送宠物、收养宠物。整个网站主要包括登录模块、注册模块、密码找回模块、发帖模块、回复模块、收藏模块、消息模块、订单模块、个人信息模块和日志模块。网站以用户为中心,注重用户体验。用户

11、在注册后即拥有了个人中心,个人中心可以对个人信息、发布的帖子和回复、收到的信息、收藏的帖子和下的订单进行管理。网站还模拟了支付充值等功能。网站以黄绿红为主色调,页面美观大方。1.3设计思路系统设计的主要内容包括系统总体结构设计、前台界面设计、后台结构设计、具体对象实例设计、代码设计等。系统设计的任务大体上分为两个步骤:第一,先将全部任务分为几个具体步骤,先进行结构设计:如系统总体结构的设计、前后台结构设计等,再进行功能模块的功能设计、界面的设计等。其次,利用系统设计工具进行系统的具体设计工作,如具体功能利用什么技术实现,并选择合适的方法来实现。系统借鉴了几个大型的营销网站,在java虚拟机上的

12、环境下,以eclipse开发工具、mysql数据库和tomcat服务器结合。1.3.1准备阶段(1)从windows7系统中的安装tomcat服务器。(2)在中文版windows xp操作系统中安装eclipse。(3)学习eclipse开发工具和数据库mysq 的操作环境,并准备要用到的编程语言。(4)掌握tomcat下java文件的调试运行。 (5) 部署svn服务器(6)文件管理工具准备,mybase1.3.2 设计开发阶段本系统采用j2ee技术的结构设计与解决方案,基于mvc(model-view-control)体系结构的系统设计,mvc主要适用于交互式的web应用,电子门展销系统中

13、存在大量页面数据及多次客户访问的系统。j2ee多层系统主要由架构设计、框架以及多个设计模型组成。为公司服务器提供企业级解决方案的开发、部署和管理等相关问题的一套完整的体系结构。本系统的设计方式优越之处在于:中小企业希望提供网上的营销管理,一来带宽受到限制,二来服务器无法承受大型的软件系统运营成本,但无法来承受大型软件的成本。而采用j2ee解决方案,可以利用servlets作为前端用户接入,jsp提供动态信息展现,同时利用jdbc和jts来进行后台的数据访问和事务封装,这样一个基于j2ee的网上营销系统的基础框架就基本形成了。另外在系统设计过程中还用到了软件工程思想中代码复用和分而治之的基本策略

14、。在看懂代码的基础上进行复用是效率有所提高,而分而治之将大问题分为几个小的方面解决,也是系统实现的可能性大大增加。1.3.3 测试阶段反复运行系统,并且在不同网络环境下尝试,保证系统的正常工作。1.4 软件选型 根据该项目性能和成本需求,软件的流行程度,网络学习资料的多少还有个人技术能力,决定选择如表1.1所示的软件作为开发的主要工具。表 1. 1 软件选型软件类型软件名称系统运行环境服务器:apache-tomcat-7.0.37数据库:mysql 5.6操作系统:windows 7 旗舰版开发工具ide: eclipse 4.4.0数据库: mysql workbench版本控制: svn

15、使用框架springmcvspring3hibernate3简要说明:mysql是一个小型关系型数据库管理系统,开发者为瑞典mysqlab公司,在2008年1月16号被sun公司收购。mysql被广泛地应用在internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了mysql作为网站数据库。spring是一个开源框架,spring是于2003 年兴起的一个轻量级的java 开发框架,由rod johnson在其著作expert one-on-one j2ee development and design中阐述的

16、部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 j2ee应用程序开发提供集成的框架。spring使用基本的javabean来完成以前只可能由ejb完成的事情。然而,spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何java应用都可以从spring中受益。spring的核心是控制反转(ioc)和面向切面(aop)。简单来说,spring是一个分层的javase/eefull-stack(一站式)轻量级开源框架。2需求分析2.1系统设计目标 希望该系统设计和实现达到以

17、下目标: (1) 用户可以方便快捷的浏览对应分类下的帖子; (2) 用户可以方便快捷的发布帖子与回复; (3) 用户可以管理自己的发布信息; (4) 用户可以对个人信息进行修改; (5) 系统有较高的并发性; (6) 系统有较高的可配置性; (7) 系统有较高的扩展性,方便以后的维护;2.2功能需求2.2.1登录模块一、概述该模块为用户提供了登录网站的功能,成功登录后即可进行发帖、回复和进入个人中心进行信息管理。当用户未登录进行发帖时,自动跳转到登录页面。二、前置条件用户已注册三、后置条件登录成功,跳转到网站主页面4、 输入分析登录模块的输入项有三项必填,如表2.1所示。表 2.1 登录模块的

18、输入序号输入项(单位)输入方式是否必填备注1.用户名输入框登录账号2.密码密码输入框登录密码3.验证码输入框5、 输出分析 登录模块的输出项有两种情况,如表2.2所示。表 2.2 登录模块的输出序号输出项(单位)说明备注1.主页登录成功2.登录界面登录失败2.2.2注册模块一、概述游客可以浏览网站,但不能进行发帖、回复等操作。用户只有在进行注册登录后可以进行相关操作二、前置条件点击注册按钮,进入注册页面三、后置条件注册成功,返回登录界面4、 输入分析用户注册模块涉及到的输入项有用户名、密码、邮箱、验证码等,如表2.3所示。序号输入项(单位)输入方式是否必填备注1.用户名输入框登录账号2.邮箱输

19、入框用于密码找回3.密码输入框登录密码4.确认密码输入框5.验证码输入框 表 2.3 用户注册模块的输入6、 输出分析用户注册模块的输出项有两种情况,如表2.4所示。表 2.4 用户注册模块的输出序号输出项(单位)说明备注1.登录界面注册成功2.提示消息,停留在本页面注册失败2.2.3密码找回模块一、概述用户在登录时忘记密码,可以点击忘记密码,输入注册时的邮箱和用户名,点击确定后,系统会根据输入的值进行校验,并且给用户发送邮件。二、前置条件用户进入登录界面,点击忘记密码。三、后置条件返回输入信息的校验结果或邮件的发送状态(当用户信息校验成功后)四、输入分析密码找回模块涉及到的输入项有用户名和邮

20、箱,如表2.5所示。表 2.5 密码找回模块的输入序号输入项(单位)输入方式是否必填备注1.用户名输入框必须是已经注册过的用户名2.邮箱输入框必须与注册的用户名匹配五、输出分析密码找回模块涉及到的输出项有三种情况,如表2.3所示。表 2.6 密码找回模块的输出序号输出项(单位)说明备注1.提示消息此email与用户名不匹配2.提示信息输入的email格式错误,请重新输入!email格式不正确3.发送邮件成功界面,之后跳转到登录界面请登录您的邮箱查看密码邮箱中有随机生成的密码2.2.4发帖模块一、概述注册用户登录后即可进行发帖,用户可以将自己的要购买、出售、赠送和爱心领养的信息发布到网上,供别的

21、用户浏览和回复,以便获得更多的机会去获得和出售宠物。当用户发布购买宠物帖时,会提前付钱。用户可以在用户中心的“我的发布”中管理发布的帖子。二、前置条件用户登录后进入发帖模块。三、后置条件发布成功:跳转到该贴的详情页面。发布失败:留在当前页面,显示提示信息。4、 输入分析发帖模块涉及到的输入项有标题、内容、帖子类别、邮箱、联系电话及交易信息等,如表2.7所示。表 2.7 发帖模块的输入序号输入项(单位)输入方式是否必填备注1标题输入框2帖子类别下拉框出售宠物、该买宠物等3内容多行输入框4种类下拉框联动5品种下拉框6区域二级联动下拉框7邮箱输入框三者必须填写一个8电话输入框9qq输入框10出售价格

22、输入框11 图片上传file可选12 付款方式下拉框13关键字输入框方便全站搜索五、输出分析发布成功:跳转到该贴的详情界面,展示该贴的实际显示效果。发布失败:留在当前页面,显示错误提示信息。2.1.5回复模块一、概述用户登录后可以回复贴子,点击一个帖子进入帖子详情页面,在其中填写回复信息,点击发送,当帖子为出售宠物帖时,用户会提前付钱。以便和发帖用户达成交换和购买协议。用户可以在个人中心的“我的回复”中管理回复信息。二、前置条件用户登录,点击一个帖子进入帖子详情页面。三、后置条件回复成功后:弹出等待发帖人确认的信息;回复成功后:弹出失败信息。4、 输入分析回复模块的输入项有一项必填,如表2.8

23、所示。表 2.8 回复模块的输入序号输入项(单位)输入方式是否必填备注13.回复内容多行输入框五、输出分析回复成功后:弹出等待发帖人确认的信息;回复成功后:弹出失败信息。2.2.6个人信息模块一、概述用户登录成功后进入用户中心,点击个人信息,可以对个人基本信息、密码和邮箱、账户进行修改和管理。在账户管理中可以进行模拟的充值.二、前置条件用户已登录,进入个人中心模块。三、后置条件修改成功后:弹出保存成功;修改失败:提示失败原因。四、输入分析个人信息模块涉及到的输入项有姓名、性别、邮箱、所在地、职业等,如表2.3所示。表 2.9 个人信息模块的输入序号输入项(单位)输入方式是否必填备注1.性别单选

24、按钮2.邮箱输入框3.所在地输入框4.职业输入框5.技能输入框6.手机号码输入框7.qq输入框5.个人简介输入框9.头像按钮10.原始密码输入框6.新密码输入框13.确认新密码输入框11.姓名输入框15.身份证输入框五、输出分析个人信息模块的输出项有三种情况,如表2.10所示。表 2.10 个人信息模块的输出序号输出项(单位)说明备注1.提示消息提示确定修改2.错误提示消息验证错误提示3.个人信息显示修改保存成功后2.2.7收藏模块一、概述用户在进入详情界面后,点击“收藏”,该帖子就会进入用户的收藏,用户在个人中的“收藏管理”中可以对收藏进行管理。二、前置条件用户已登录三、后置条件收藏成功:弹

25、出收藏成功;收藏失败:弹出失败原因。4、 输入分析收藏模块涉及到的的主要操作,如表2.11所示。表 2.11 收藏模块的输入序号输入项(单位)输入方式是否必填备注1.收藏点击五、输出分析收藏模块涉及到的输出项有两种情况,如表2.12所示。表 2.12 收藏模块的输出序号输出项(单位)说明备注1.弹出收藏成功;收藏成功2.弹出失败原因。收藏失败2.2.8消息模块一、概述当用户发出的帖子有回复或用户回复得到确认等情况下,用户会受到信息,且用户不读这些信息时,会一直显示有信息未读。二、前置条件用户已登录三、后置条件进入个人中心读信息。4、 输入分析消息模块涉及到的主要操作,如表2.13所示。表 2.

26、13 消息模块的输人序号输入项(单位)输入方式是否必填备注1.消息点击五、输出分析消息模块涉及到的输出项如表2.14所示。表 2.14 消息模块的输出序号输出项(单位)说明备注1.个人中心进入消息管理对消息进行管理2.2.9 订单模块一、概述用户在与别的用户达成购买或领养协议后,生成订单,且在订单管理中可以查看订单的物流信息。二、前置条件用户与用户间达成协议。三、后置条件对订单进行管理4、 输入分析订单模块涉及到的主要操作,如表2.15所示。表 2.15 订单模块的输入序号输入项(单位)输入方式是否必填备注1.订单管理点击五、输出分析订单模块的输出项如表2.16所示。表 2.16 订单模块的输

27、出序号输出项(单位)说明备注1.对订单进行管理对订单进行管理2.2.10日志模块一、概述用户在进行操作操作时,进行关键信息的记录,每天一个日志文件。以便发生不必要的错误。日志可以方便管理员的查看。二、前置条件 用户访问网站进行操作三、后置条件记录日志4、 输入分析日志模块涉及到的输入项如表2.17所示。表 2.17 输入序号输入项(单位)输入方式是否必填备注1.用户操作用户操作五、输出分析日志模块的输出项如表2.18所示。表 2.18 输出序号输出项(单位)说明备注1.用户操作用户操作2.2.11城市切换模块一、概述用户进入网站地区默认为山西太原。且输出有关该地区的帖子,用户也可以点击切换城市

28、,进行城市的切换。二、前置条件用户浏览网站三、后置条件选择切换后的城市,则跳转本城市的首页,且加载合适的数据。4、 输入分析城市切换模块涉及到的主要操作,如表2.19所示。表 2.19 城市切换模块的输入序号输入项(单位)输入方式是否必填备注1.切换城市单选按钮2.选择省份下拉框3.输入城市名称输入框4.根据首字母选择城市单选按钮五、输出分析城市切换模块的输入项如表2.20所示。表 2.20 城市切换模块的输出序号输出项(单位)说明备注1.切换城市页面2.首页城市名称要返回的城市名称3.跳转城市的首页2.3非功能需求2.3.1性能系统应该满足并发访问量在1000以上,数据库中可以存储至少100

29、00条发布信息,系统应该尽量提高效率,要点如下:1.打开网页的时间不得超过3s。2.用户登录等待时间不得超过5s。3.跳转到其他页面的时间不得超过2s。2.3.2可靠性系统运行的软硬件环境必须在之前进行了充分的测试,达到24小时持续运行的要求,断电时应通过使用备用发电机等达到不影响系统的运行的目的。为了保证线程的流畅,平均失效时间设置为2min,延迟时间在10s内。为了保证用户的信息安全等,设置5分钟不操作自动退出登录。2.3.3健壮性需要有日志记录,对恢复系统数据有相当重要的作用。对于用户的暴力输入,应有一定的限制,比如在用户注册的时候有校验码,可以一定程度上限制不断注册。系统持续运行时间不

30、低于3年。个别服务器或子系统的故障不影响整体系统的运行。系统要保证数据的一致性,完整性,防止数据丢失。对人工输入的数据及传输数据进行一定的校验,给出一定提示,防止非法数据入侵。如出现并发量超过一定数值,及时通知维护人员,并停止相关服务,以免数据丢失。2.3.4互操作性可以与其他系统或软件平滑地交互,留出一定的接口.2.3.5可扩展性系统的每个模块应该相互独立,遵循低耦合,高内聚的原则,以便以后有效扩展业务需求或者去掉些不需要的功能。2.3.6应急与回退应具有完善的数据备份和数据恢复机制,使得任何一个子交易在发生错误时,整个交易的事务都回滚,确保数据的一致性。用户登录进去的所有操作都要进行日志记

31、录,以便及时恢复。数据备份每周一次全备份,必须在两小时内完成,每天有增量备份,必须在三十分钟内完成,避免断电导致的数据丢失。2.3.7帮助相关专业人员需要编写用户手册,包括系统运行的软硬件环境,以及出现问题时的解决办法。还需要在系统中为系统用户提供新手指导,常见问题解决办法等指导页面。3 概要设计3.1总体设计本系统是典型的java ee三层架构。三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:表现层(presentation layer)、业务逻辑层(business logic layer)、数据访问层(data access layer)

32、。区分层次的目的即为了高内聚低耦合的思想。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有b/s应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。数据访问层:主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务业务逻辑层:主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻

33、辑处理,如果说数据层是积木,那逻辑层就是对这些积木的搭建。表示层:主要表示web方式,也可以表示成winform方式,web方式也可以表现成:aspx,如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。在本系统中,表示层采用springmvc的解决方案,输入访问采用的是hibernate的解决方案。选择以上解决方案主要是基于以下考虑。spring mvc的优点具有以下优点1,清晰的角色划分:控制器(controller)、验证器(validator)、命令对象(command obect)、表单对象(form object)、模型对象(model object)、s

34、ervlet分发器(dispatcherservlet)、处理器映射(handler mapping)、试图解析器(view resoler)等等。每一个角色都可以由一个专门的对象来实现。2,强大而直接的配置方式:将框架类和应用程序累都能作为javabean配置,支持跨多个context的引用,例如,在web控制器中对业务对象和验证器validator)的引用。3,可适配、非侵入:可以根据不同的应用场景,选择何事的控制器子类(simple型、command型、from型、wizard型、multi-action型或者自定义),而不是一个单一控制器(比如action/actionform)继承。

35、4,可定制的handler mapping和view resolution:spring提供从最简单的url映射,到复杂的、专用的定制策略。与某些web mvc框架强制开发人员使用单一特定技术相比,spring显得更加灵活。对于选择hibernate作为数据库访问方案是由于,hibernate简单易学,可配置性高,性能稳定和它强大的缓存机制,当然也少不了springmvc与其完美的整合。3.1.1应用功能架构 系统主要功能有发帖、回复、个人信息管理、消息模块与订单模块,系统的功能架构如图3.1所示。图 3.1 系统功能架构 登录模块、注册模块、密码找回模块主要负责用户的授权认证,通过认证的用户

36、可以访问受保护的资源。发帖模块、回复模块、收藏模块、订单模块是系统的主要功能,只有通过认证的用户才可以进入。消息模块穿插于以上模块之中。个人中心模块负责对用户信息进行管理。日志模块穿插于整个系统中,负责监控系统的运行。3.1.2应用功能设计说明 系统各功能模块的设计说明如表3.1所示。表 3.1 应用功能说明模块名主要功能登录模块验证用户输入账号有密码是否匹配,在用户进入个人中心或进行发帖时拦截请求判断是否已登录。注册模块初始化用户信息,将用户的登录信息记录到数据库密码找回模块验证用户名与邮箱是否匹配,生成随机密码,向用户发送邮件消息模块当用户发布的帖子或回复得到应答时,系统生成一条消息用以提

37、示用户。发帖模块将用户发布的帖子保存到数据库回复模块将用户发布的回复保存到数据库个人信息管理展示个人基本信息、邮箱和账户金额;修改信息;完成充值发布管理将用户发布的帖子按时间倒序查询并展示,可以删除帖子与进入详情页查看回复管理根据时间倒序将回复过的帖子展示;删除回复收藏管理根据时间倒序将收藏的帖子展示;删除收藏订单管理下订单;支付订单;订单状态的变更;用户在权限变更日志管理将系统运行时执行的操作,按每天一次的记录3.1.3系统结构设计系统结构如图3.2所示。图 3.2 系统结构系统主要分为三层:dao层:负责对实体类的增、删、改、查;service层:负责业务逻辑的实现与vo与eo的转换;we

38、b层:负责与接收页面传来的数据、调用合适的业务逻辑和跳转到相应界面。3.2数据库设计3.2.1概要模型 数据库的概要设计是对对用户要求描述的现实世界(可能是一个工厂、一个商场或者一个学校等),通过对其中诸处的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。以扩充的实体(e-r模型)联系模型方法为例,第一步先明确现实世界各部门所含的各种实体及其属性、实体间的联系以及对信息的制约条件等,从而给出各部门内所用信息

39、的局部描述(在数据库中称为用户的局部视图)。第二步再将前面得到的多个用户的局部视图集成为一个全局视图,即用户要描述的现实世界的概念数据模型。该系统的概要设计模型如图3.2所示。图 3.2 数据库概要模型3.2.2物理模型数据库的物理模型设计是根据特定数据库管理系统所提供的多种存储结构和存取方法等依赖于具体计算机结构的各项物理设计措施,对具体的应用任务选定最合适的物理存储结构(包括文件类型、索引结构和数据的存放次序与位逻辑等)、存取方法和存取路径等。这一步设计的结果就是所谓“物理数据库”。本系统使用的mysql数据库,物理模型如图3.2所示。图 3.2 数据库物理模型3.2.3表结构以下是本系统

40、数据库中各表的具体信息。表 3.2 用户表(t_user)行号字段名称字段描述字段类型长度主键说明是否为空1id表的主键int自增长not null2username用户名varchar24用于用户登录not null3pwd用户登录密码char32md5加密后为32位not null4email邮箱varchar255用户用于找回密码not null5password用户登录密码char32md5加密后为32位not null 续表3.2行号字段名称字段描述字段类型长度主键说明是否为空6createdate用于注册时间timestamp用于注册时间not null表 3.3 账户表(t_wa

41、llet)行号字段名称字段描述字段类型长度主键说明是否为空1id表的主键intnot null2activemoney可用的钱数money用户可用的钱,支持整数交易not null3lockmoney被锁定的钱money用户交易宠物是被锁定的钱not null4paymentpassword用户支付密码char32用户交易结束后确认支付的密码(md5加密后为32位)null表 3.6 收藏表(t_favorite)行号字段名称字段描述字段类型长度主键说明是否为空1id表的主键uuidnot null2createdate收藏创建时间timestamp该收藏创建的时间not null3modif

42、ydate修改时间timestamp最后一次修改时间4state是否被删除char1该收藏是否被逻辑删除not null5detail描述varchar255对该收藏的描述null6post_id帖子idchar32外键关联到t_post的idnot null7user_id用户idint外键关联到t_user表的idnot null 表 3.7 订单表(t_order)行号字段名称字段描述字段类型长度主键说明是否为空1id表的主键uuidnot null2orderstatus订单状态char1未发货、已发货、已签收、已确认等状态not null3state是否被删除char1该订单是否被删

43、除(逻辑删除)not null4modifydate修改时间timestamp订单状态变更时间5couriercount运单号varchar20运单号null6createdate创建时间timestamp该订单被创建的时间not null7saleuerid出售者的idint出售者的id,供求关系中的供给方not null8buyuserid购买者的idint购买者的id,供求关系中的需求方not null9post_id关联的帖子char32外键关联帖子idnot null表 3.8 帖子表(t_post)行号字段名称字段描述字段类型长度主键说明是否为空1id表的主键char32not n

44、ull2title帖子标题varchar255帖子标题,描述该帖子的内容not null3type帖子类型char1帖子有卖宠物、买宠物、赠送宠物、收养宠物帖not null4paymentmtd付款方式char1暂时有线上付款和线下付款not null 续表3.85createdate帖子的创建时间tiemstamp帖子创建时间not null6readnumber帖子的浏览次数samllint帖子的浏览次数not null7replynumber帖子的回复次数samllint帖子的回复次数not null8money宠物的价格money只支持整数的交易not null9keyword帖子的

45、关键字varchar40在全局搜索时用到not null10detail帖子中的描述varchar255帖子中的更多细节的描述not null11pettype宠物的种类char9狗狗、猫猫等not null12petvariety宠物的品种varchar18如狗狗的拉布拉多犬not null13province省char12信息发布的省not null14city市varchar18信息发布的市not null15imagenumber帖子中包含的图片数smallint最多包含3个图片not null16modifydate帖子内容修改时间tiemstamp帖子内容修改时间not null1

46、7status帖子的状态char1帖子是否是活跃状态not null18state是否被删除char1帖子是否被删除(逻辑删除)not null19t_user_id用户iduuid外键关联到用户表的idnot null 表 3.9 回复表(t_reply)行号字段名称字段描述字段类型长度主键说明是否为空1id表的主键char32not null 续表3.9行号字段名称字段描述字段类型长度主键说明是否为空2createdate回复创建的时间tiemstamp回复创建的时间not null3content回复内容varchar255回复内容not null4imagenumber回复的图片数sm

47、allint回复的图片数,最多3个not null5modifydate修改回复的时间tiemstamp修改回复的最近时间not null6status回复状态char1该回复是否被同意not null7state是否被删除char1回复是否被删除(逻辑删除)not null8t_post_id帖子idchar32外键关联的帖子的idnot null9t_user_id用户idint外键关联到用户表的idnot null表 3.10 图片表(t_image)行号字段名称字段描述字段类型长度主键说明是否为空1id表的主键uuidnot null2url图片的地址varchar50not null

48、3pk_id所关联的idchar所关联的帖子null3.3接口设计3.3.1 接口iuserservice该接口负责对用户的操作,包括以下主要方法:1,uservo login(uservo uservo) throws userloginexception,该方法负责用户登录,包含用户登录时的密码校验,登录后的数据初始化;2,int register(uservo uservo),方法负责用户注册,放回1表示注册成功,放回0表示注册失败;3,int retrievepassword(uservo uservo),该方法负责用户的忘记密码后,执行的密码找回功能。返回0表示邮件发送失败,1表示发

49、送成功,2表示邮件不匹配 ,3表示用户不存在;4, int modifyuserinfo(userinfovo userinfovo),该方法负责用户的信息修改,返回1表示修改成功,0表示修改失败;5,int modifypande(uservo uservo),该方法负责用户修改登录密码和邮箱,可以只修改其中一项,也可以都修该。返回1表示修改成功,0表示修改失败;6,int modifypaymentpwd(int id, string oldpwd, string newpwd),该方法负责修改用户的支付密码,返回1表示修改成功,0表示修改失败;7,int addmoney(int id, float money),用户充值,该方法负责账号充值,返回1表示充值成功,返回2表示充值失败。3.3.2 接口ipostservice该接口负责对帖子的操作,包括以下主要方法:1,string releasepost(postvo postvo),该方法负责帖子的发布,即将前台传入的数据保存到数据中,保存成功后返

温馨提示

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

评论

0/150

提交评论