基于JavaWeb的房租管理系统的设计与实现_第1页
基于JavaWeb的房租管理系统的设计与实现_第2页
基于JavaWeb的房租管理系统的设计与实现_第3页
基于JavaWeb的房租管理系统的设计与实现_第4页
基于JavaWeb的房租管理系统的设计与实现_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

---5详细设计与实现5.1用户功能模块5.1.1登录/注册实现用户必须注册一个帐号,否则只能看到房屋信息,无法看到其他的诸如订单、评论等功能。登记的函数更容易实现。因此,在注册时,只要按照输入账号,输入密码,输入姓名等基础信息就可以了。这个系统会判断注册时的使用者名称,在登陆时,使用者名称已出现,将会提示使用者名称已出现,否则,将会弹出一个“祝贺使用者名称可以使用”的对话框,让使用者可以在这个网页上进行注册。在加入了相应的资料之后,请单击“注册”键。如图5-1所示。图5-1系统注册界面以下为本功能实现的代码显示。@IgnoreAuth@PostMapping(value="/register")publicRregister(@RequestBodyUserEntityuser){if(userService.selectOne(newEntityWrapper<UserEntity>().eq("username",user.getUsername()))!=null){returnR.error("用户已存在");}userService.insert(user);returnR.ok();}注册流程图如图5-2所示。图5-2用户注册流程图用户登录界面如图5-3所示图5-3系统登录界面以下为本功能实现的代码。@IgnoreAuth@PostMapping(value="/login")publicRlogin(Stringusername,Stringpassword,Stringcaptcha,HttpServletRequestrequest){UserEntityuser=userService.selectOne(newEntityWrapper<UserEntity>().eq("username",username));if(user==null||!user.getPassword().equals(password)){returnR.error("账号或密码不正确");}Stringtoken=tokenService.generateToken(user.getId(),username,"users",user.getRole());returnR.ok().put("token",token);}在输入用户名或密码出现错误时点击“登录”按钮,会弹出错误提示对话框,点击“确定”后输入正确用户名和密码即可登录,登录流程图如图5-4所示。图5-4系统登录流程图5.1.2租房用户可以浏览首页,在登录之后挑好房源就可以点击租赁按钮,之后会进入到提交信息的表单界面,如图5-5所示。图5-5用户租房界面以下为租房界面实现的代码。 @IgnoreAuth@RequestMapping("/list")publicRlist(@RequestParamMap<String,Object>params,FangwuchuzuEntityfangwuchuzu,HttpServletRequestrequest){EntityWrapper<FangwuchuzuEntity>ew=newEntityWrapper<FangwuchuzuEntity>(); PageUtilspage=fangwuchuzuService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,fangwuchuzu),params),params)); request.setAttribute("data",page);returnR.ok().put("data",page);}租赁功能是本系统的核心功能之一,其系统流程图如图5-6所示。图5-6用户租赁流程图5.1.3购房用户可以浏览首页,点击喜欢的房源之后显示房源详情,如果确认购买可以继续点击购买按钮,房源详情如图5-7所示。图5-7房源详情界面以下为房源详情界面实现的代码。@IgnoreAuth@RequestMapping("/list")publicRlist(@RequestParamMap<String,Object>params,FangwuchushouEntityfangwuchushou,HttpServletRequestrequest){EntityWrapper<FangwuchushouEntity>ew=newEntityWrapper<FangwuchushouEntity>();PageUtilspage=fangwuchushouService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,fangwuchushou),params),params));request.setAttribute("data",page);returnR.ok().put("data",page);}5.1.4浏览房屋资讯用户在任何状态下都可以浏览本系统的资讯页面,这里提供了本系统的一些实时消息,包括房源信息、其他公告等,如图5-8所示。图5-8房屋浏览资讯界面以下为本功能实现的代码。@IgnoreAuth@RequestMapping("/list")publicRlist(@RequestParamMap<String,Object>params,FangwuzixunEntityfangwuzixun,HttpServletRequestrequest){EntityWrapper<FangwuzixunEntity>ew=newEntityWrapper<FangwuzixunEntity>(); PageUtilspage=fangwuzixunService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,fangwuzixun),params),params)); request.setAttribute("data",page);returnR.ok().put("data",page);}5.1.5留言板用户在登录之后可以在留言板进行留言,只需要输入内容点击提交即可,如图5-9所示。图5-9用户留言界面以下为添加留言的实现代码。@RequestMapping("/add")publicRadd(@RequestBodyMessagesEntitymessages,HttpServletRequestrequest){messages.setId(newDate().getTime()+newDouble(Math.floor(Math.random()*1000)).longValue());messages.setUserid((Long)request.getSession().getAttribute("userId"));messagesService.insert(messages);returnR.ok();}5.1.6个人中心用户如果在登录之前点击个人中心,系统会自动跳转到登录页面,进行登录之后才能进入个人中心,在这里用户可以修改自己的信息,如图5-10所示。图5-10个人中心界面以下为修改个人信息的代码。@RequestMapping("/update")publicRupdate(@RequestBodyUserEntityuser){userService.updateById(user);returnR.ok();}5.1.7查看订单用户可以对自己购买或者租赁的订单进行查看或删除的操作,查看订单界面如图5-11所示。图5-11用户查看订单界面以下为用户查看订单界面的代码。@RequestMapping("/list")publicRlist(@RequestParamMap<String,Object>params,GoumaidingdanEntitygoumaidingdan,HttpServletRequestrequest){EntityWrapper<GoumaidingdanEntity>ew=newEntityWrapper<GoumaidingdanEntity>();PageUtilspage=goumaidingdanService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,goumaidingdan),params),params));request.setAttribute("data",page);returnR.ok().put("data",page);}5.2房东功能模块管理员是整个系统的最高权威,也是整个系统的操纵者。该系统的首页由上、左、下三部分组成。上方为系统的标题,左边为功能菜单。当系统管理员成功登陆时,也会在这个区域区中出现一个带有权限的操作菜单;右边为该系统的主页。在管理员按下对应的操作菜单后,就会在显示屏上出现对应的动作。当这个操作结束时,这个区域会出现操作结果。管理员可以在系统网页顶端迅速地链接到登录页。它的具体实现方法与普通用户相似。管理员登录页面如图5-12所示。图5-12管理员登录页5.2.1管理用户信息管理员在登录之后可以对用户进行管理,包括增删改查的操作,如图5-13所示。图5-13管理员管理用户界面以下为管理员管理用户界面的实现代码@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,FangwuzixunEntityfangwuzixun,HttpServletRequestrequest){EntityWrapper<FangwuzixunEntity>ew=newEntityWrapper<FangwuzixunEntity>();PageUtilspage=fangwuzixunService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,fangwuzixun),params),params));request.setAttribute("data",page);returnR.ok().put("data",page);}5.2.2管理房东信息管理员还可以对房东信息管理进行管理,这里显示了房东的全部信息,方便管理员进行下一步操作,如图5-14所示。图5-14管理房东界面以下为本功能实现的代码。@RequestMapping("/list")publicRlist(@RequestParamMap<String,Object>params,FangdongEntityfangdong,HttpServletRequestrequest){EntityWrapper<FangdongEntity>ew=newEntityWrapper<FangdongEntity>();PageUtilspage=fangdongService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,fangdong),params),params));request.setAttribute("data",page);returnR.ok().put("data",page);}5.2.3管理房屋类型管理员可以对房屋的类型进行增加、删除和修改的操作,如图5-15所示。图5-15管理房屋类型界面以下为本功能实现的代码。@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,FangwuleixingEntityfangwuleixing,HttpServletRequestrequest){EntityWrapper<FangwuleixingEntity>ew=newEntityWrapper<FangwuleixingEntity>();PageUtilspage=fangwuleixingService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,fangwuleixing),params),params));request.setAttribute("data",page);returnR.ok().put("data",page);}5.2.4管理房屋资讯网站管理人员可以及时更新房屋的相关资讯,管理员通过该页面进入后台登录系统可对后台的信息进行实时更新操作。管理房屋资讯如图5-16所示。图5-16管理员房屋资讯管理界面以下为本功能实现的代码显示。@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,FangwuzixunEntityfangwuzixun,HttpServletRequestrequest){EntityWrapper<FangwuzixunEntity>ew=newEntityWrapper<FangwuzixunEntity>();PageUtilspage=fangwuzixunService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,fangwuzixun),params),params));request.setAttribute("data",page);returnR.ok().put("data",page);}5.3管理员功能模块5.3.1管理房屋信息房东在登录之后可以管理房屋信息,对房源进行增删改查的操作,还可以上架成出租或者出售两种类型,如图5-18所示。图5-18房东管理房屋界面以下为本功能实现的代码显示。@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,FangwuxinxiEntityfangwuxinxi,HttpServletRequestrequest){StringtableName=request.getSession().getAttribute("tableName").toString();if(tableName.equals("fangdong")){fangwuxinxi.setFangdonghao((String)request.getSession().getAttribute("username"));}EntityWrapper<FangwuxinxiEntity>ew=newEntityWrapper<FangwuxinxiEntity>();PageUtilspage=fangwuxinxiService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,fangwuxinxi),params),params));request.setAttribute("data",page);returnR.ok().put("data",page);}5.3.2管理出租房屋房东还可以单独对出租类型的房屋进行管理,如果房源比较多的话还可以用搜索功能快速找到想查看的房屋信息,如图5-19所示。图5-19房东管理出租房屋界面以下为本功能实现的代码显示。@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,FangwuchuzuEntityfangwuchuzu,HttpServletRequestrequest){StringtableName=request.getSession().getAttribute("tableName").toString();if(tableName.equals("fangdong")){fangwuchuzu.setFangdonghao((String)request.getSession().getAttribute("username"));}EntityWrapper<FangwuchuzuEntity>ew=newEntityWrapper<FangwuchuzuEntity>();PageUtilspage=fangwuchuzuService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,fangwuchuzu),params),params));request.setAttribute("data",page);returnR.ok().put("data",page);}5.3.3管理出售房屋房东还可以单独对出售类型的房屋进行管理,如果房源比较多的话还可以用搜索功能快速找到想查看的房屋信息,如图5-20所示。图5-20房东管理出售房屋界面以下为本功能实现的代码显示。@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,FangwuchushouEntityfangwuchushou,HttpServletRequestrequest){StringtableName=request.getSession().getAttribute("tableName").toString();if(tableName.equals("fangdong")){fangwuchushou.setFangdonghao((String)request.getSession().getAttribute("username"));}EntityWrapper<FangwuchushouEntity>ew=newEntityWrapper<FangwuchushouEntity>();PageUtilspage=fangwuchushouService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,fangwuchushou),params),params));request.setAttribute("data",page);returnR.ok().put("data",page);}5.3.4审核订单房东可以对用户提交的订单进行审核,如果信息缺失或者信息错误,可以选择不通过,如图5-21所示。图5-21房东审核订单界面以下为本功能实现的代码显示。@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,ZulindingdanEntityzulindingdan,HttpServletRequestrequest){StringtableName=request.getSession().getAttribute("tableName").toString();if(tableName.equals("fangdong")){zulindingdan.setFangdonghao((String)request.getSession().getAttribute("username"));}if(tableName.equals("yonghu")){zulindingdan.setYonghuming((String)request.getSession().getAttribute("username"));}EntityWrapper<ZulindingdanEntity>ew=newEntityWrapper<ZulindingdanEntity>();PageUtilspage=zulindingdanService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,zulindingdan),params),params));request.setAttribute("data",page);returnR.ok().put("data",page);}5.3.5管理留言板房东还可以对用户的一些不当言论进行删除或修改等操作,如图5-22所示。图5-22管理员管理留言板界面以下为本功能实现的代码显示。@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,MessagesEntitymessages,HttpServletRequestrequest){if(!request.getSession().getAttribute("role").toString().equals("管理员")){messages.setUserid((Long)request.getSession().getAttribute("userId"));}EntityWrapper<MessagesEntity>ew=newEntityWrapper<MessagesEntity>();PageUtilspage=messagesService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,messages),params),params));request.setAttribute("data",page);returnR.ok().put("data",page);}6系统测试6.1系统测试的目标和原则系统测试指的是在对房屋租售管理系统的编程完成之后,完成对网站的总体功能和代码的测试。在运行房屋租售管理系统的时候,如果出现了某些问题,就要进行纠正,从而达到一个能够正常运转的房屋租售管理系统的目的。在试验前,制定一份可行的试验方案。系统测试计划指的是把一个测试前的准备工作列出来,并告诉别人,系统测试要进行的是什么,而通过了这个测试,就是对住房租售管理系统的漏洞进行了深入的挖掘。6.2系统测试方法测试是有多种办法的。不过,具体的测试方式,却是要根据系统的要求来决定的。当前,检测技术以黑箱测试和白箱测试为主。以上就是两个重要的检验方式。黑箱测试,首先要用到软件。它主要是站在用户的立场上进行的,而不是站在开发人员的立场上进行的,在进行测试的过程中,不需要完全理解软件的编程的原理,而是要具备一定的测试的经历。而“白盒”则要复杂得多,毕竟是要对编写出来的程序进行检验,这就意味着要对程序的基本理论有一定的了解。不过不管怎么说,最重要的还是看步骤。检验的步骤与所需的相同。6.3系统功能测试用例代码编制完毕并不代表它就完成了。这个项目的整体发展进程应当是相当枯燥的。在第一次编程结束之后,还需对该软件进行一次测试,并对其函数进行优化。毕竟,任何一款软件,只要是一次开发出来的,都有可能出现问题。这也是人之常情。他之所以这么做,就是为了让自己的计划变得更完美。在软件正式发布前,找出软件中26个潜在的问题,并将其纠正。而这正是对项目进行测试所要做的。在软件测试中,最根本的道理是要把软件的开发和软件的测试分离开来。而且,这一次的考核,也不可能一蹴而就。要为多个数据集输入信息。并确保所录入的资料有一定的典型性。只有这样,才能确保软件的精确度。(1)用户注册测试用户在注册的时候,要保证自己的账户的基本的信息是不能是空,因此,在注册的时候,要符合条件的情况下,才能进行注册。表6-1用户注册测试用例编号用例描述测试经过的过程和数据预期的结果01用户注册自己的账号,在未完成信息录入的时候,直接注册不输入任何的信息用户注册失败02用户在注册账号的时候输入的手机号的信息不符合要求输入账号:1输入密码:1联系方式:1真实姓名:苹果用户地址:辽宁沈阳用户注册失败03用户在注册账号的时候各项信息均满足要求输入账号:1输入密码:1联系方式实姓名:苹果用户地址:辽宁沈阳用户注册成功(2)系统登录测试在登陆的过程中,必须要保证输入的账号,密码,以及所选择的身份都是一致的,这样才能成功登陆。表6-2系统登录测试用例编号用例描述测试经过的过程和数据预期的结果01输入的账号、输入的密码为空不输入任何的信息登录失败02输入账号信息为1、输入密码信息为空、然后选择登录的身份是用户登录的账号:1登录的密码:null登录身份:用户登录失败03输入账号信息为空、输入密码信息为1、然后选择登录的身份是用户登录的账号:null登录的密码:1登录身份:租客登录失败04输入正确的用户账号、用户密码然后选择管理员的身份登录的账号:1登录的密码:1登录身份:管理员登录失败05输入正确的租客账号、密码然后选择用户的身份登录的账号:1登录的密码:1登录身份:用户登录成功(3)租房测试在租赁的时候未登录账号只能浏览不能点击,在登录之后的帐号才能点击租赁按钮。表6-3用户租房测试用例编号用例描述测试经过的过程和数据预期的结果01有部分信息没填的用户申请租赁房东的审核状态为“不通过”租赁失败02信息全填的用户申请租赁房东的审核状态为“通过”租赁成功(4)购房测试在购房的时非登录用户不能购房,登录后的帐号才可以点击购房按钮。表6-4用户购房测试用例编号用例描述测试经过的过程和数据预期的结果01有部分信息没填的用户申请购房房东的审核状态为“不通过”购房失败02信息全填的用户申请购房房东的审核状态为“通过”购房成功(5)管理员发布房屋资讯测试管理员可以对网站的资讯进行发布和修改,测试用例如表6-5所示表6-5发布房屋资讯测试用例编号用例描述测试经过的过程和数据预期的结果01管理员发布资讯资讯信息为空发布失败02管理员发布资讯仅填写资讯名称发布失败03管理员发布资讯填写全部必填信息发布成功(6)管理员管理房东测试管理员可以添加、修改和删除房东信息,测试用例如表6-6所示。表6-6管理员管理房东测试用例编号用例描述测试经过的过程和数据预期的结果01管理员添加房东房东信息为空发布失败02管理员添加房东房东信息必填项都填好发布成功03管理员删除房东不勾选房东ID删除失败04管理员删除房东勾选房东ID删除成功(7)用户修改个人信息测试用户注册后可以修改自己的信息,修改个人信息测试用例如表6-7所示表6-7修改个人信息测试用例编号用例描述测试经过的过程和数据预期的结果01用户修改个人信息把个人信息清空点击修改修改失败02用户修改个人信息只修改姓名修改成功03用户修改个人信息保留必填项,修改其他内容修改成功(8)管理员管理房屋类型测试管理员在登录后可以进行房屋类型的添加和修改操作,测试用例如表6-8所示。表6-8管理房屋类型测试用例编号用例描述测试经过的过程和数据预期的结果01添加房屋类型类型名为空添加失败02添加房屋类型类型名不为空添加成功03修改房屋类型修改后类型名为空修改失败04修改房屋类型修改后类型名不为空修改成功(9)管理员管理留言板测试管理员可以修改和删除留言信息,测试用例如表6-9所示。表6-9管理员管理留言板测试用例编号用例描述测试经过的过程和数据预期的结果01管理员修改留言不勾选留言ID修改失败02管理员修改留言勾选留言ID修改成功03管理员删除留言不勾选留言ID删除失败04管理员删除留言勾选留言ID删除成功(10)用户发布测试用户可以发布留言,如表6-10所示。表6-10用户发布留言测试用例编号用例描述测试经过的过程和数据预期的结果01用户发布的留言内容为空发布失败02用户发布的留言有内容发布成功(11)房东管理出租房屋测试房东可以对房屋信息进行编辑的操作,如表6-11所示。表6-11房东管理出租房屋测试用例编号用例描述测试经过的过程和数据预期的结果01房东添加出租房屋内容为空添加失败02房东添加出租房屋有内容,但必填项没填添加失败

温馨提示

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

评论

0/150

提交评论