校园失物招领网站的设计与实现_第1页
校园失物招领网站的设计与实现_第2页
校园失物招领网站的设计与实现_第3页
校园失物招领网站的设计与实现_第4页
校园失物招领网站的设计与实现_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

摘要PAGEI校园失物招领网站的设计与实现摘要拾金不昧一直是我国优良的传统美德。在各大校园中,常常有人遗失物品或捡拾物品,他们没有一个合适的信息交流平台,只能在QQ群或微信群中发布,很容易使得发布的信息被淹没,导致失主未能及时找到失物,给生活带来极大的不便。为了帮助更多学生更加方便快捷地找回他们丢失的物品,故而搭建一个校园失物招领网站平台。在这个网络日益发达的年代,网上寻物成为众多学生更加青睐,更为简单方便的方式,只要有个手机或者电脑就能清楚知道自己丢失物品的情况,节约时间成本。本网站是基于Spring+SpringMVC+MyBatis框架技术所设计,用IDEA作为开发工具,以主流的MySQL作为数据库,使用常用的Java开发语言,页面采取JSP动态页面开发技术。该网站主要实现普通用户的注册、登录、发布失物招领、对相应物品的认领以及关键词查询等,管理员对物品的新增、修改、删除以及对用户和类别的更新操作等等。该系统界面简单,操作方便,容易维护,更为重要的是容易让大学生接受。关键词:失物招领;校园;MyBatis;web开发ABSTRACTPAGEIABSTRACTIthasalwaysbeenafinetraditionalvirtueofourcountrytoreturnmoney.Ineverycampus,peopleoftenloseorpickupthings,theydon'thaveaproperinformationexchangeplatform,canonlybepublishedinQQgrouporwechatgroup,it'seasytooverwhelmthepublishedinformation,theownerfailedtofindthelostpropertyintime,bringgreatinconveniencetolife.Inordertohelpmorestudentsfindtheirlostitemsmoreeasilyandquickly,therefore,buildalostandfoundwebsiteplatformoncampus.Inthiseraofincreasinglydevelopednetwork,searchingforthingsonlinehasbecomeamorepopular,simpleandconvenientwayformanystudents,aslongasyouhaveamobilephoneorcomputer,youcanclearlyknowyourlostitemsandsavetimeandcost.ThiswebsiteisdesignedbasedonSpring+SpringMVC+MyBatistechnology,usingideaasdevelopmenttool,takethemainstreamMySQLasthedatabase,usecommonjavadevelopmentlanguage,pageadoptsJSPdynamicpagedevelopmenttechnology.Thewebsitemainlyrealizestheregistration,login,releaseoflostandfound,claimofcorrespondingitemsandkeywordqueryofordinaryusers,Administratorsadd,modify,deleteitems,updateusersandcategories,etc.Theinterfaceofthesystemissimple,easytooperate,easytomaintain,moreimportantly,easyforcollegestudentstoaccept. KEYWORDS:Lostandfound;Campus;MyBatis;Webdevelopment目录PAGE32目录TOC\o"1-3"\u1绪论 11.1课题研究的背景和意义 11.2课题国内外研究现状 11.3论文的章节介绍 22网站开发环境及技术介绍 22.1网站概述及开发环境 32.2网站技术介绍 32.2.1Spring框架 32.2.2MyBatis框架 52.2.3MySQL数据库 52.2.4JSP技术 62.3本章小结 73需求分析与总体设计 83.1需求分析 83.1.1可行性分析 83.2需求的提出 83.3系统功能设计 93.3.1注册以及登录个人信息 93.3.2发布失物招领 93.3.3查找失物招领信息 93.3.4认领失物 93.3.5编辑个人信息 93.4用例分析 93.4.1用户 93.4.2管理员 103.5业务流程分析 103.6系统功能结构图 113.6.1注册、登录账号 123.6.2发布失物招领 123.6.3认领失物 123.6.4查看检索失物信息 123.6.5编辑个人信息 123.6.6失物管理 133.6.7用户管理 133.7数据库设计 133.7.1数据库配置 133.7.2概念模型设计 133.8本章小结 154系统功能实现 164.1登录、注册界面 164.1.1注册验证代码实现 174.1.2登录验证代码实现 184.2首页界面 194.3失物招领信息展览与模糊查询实现 194.4查看失物详情信息 214.5发布失物招领功能 214.6认领失物 234.7编辑个人信息 234.8本章小结 265系统测试 265.1测试目的 265.2环境测试 275.3测试用例 275.3.1用户注册测试 275.3.2用户登录测试 275.3.3发布失物招领测试 275.3.4认领失物测试 285.3.5管理员登录测试 285.3.6失物管理测试 285.4本章小结 286总结与展望 29参考文献 30致谢 32校园失物招领网站的设计与实现1绪论随着二十一世纪的到来,网络已经进入到每个人的生活当中。网络交流的形式已经被众多人所接受。甚至在某些方面利用网络的便利已经可以替代传统的张贴启示,充当失主与拾主之间的媒介。用极小的开销,利用网络方式进行失物招领,通过虚拟的形式将失主与拾主关联。目前,各式各样的失物招领网站已屡见不鲜,如河北失物招领、中国失物招领等。1.1课题研究的背景和意义在校园平时的生活当中,老师和学生在每一天的活动,来往于较多的区域和场所,经常发生遗失物品无法及时找回的情况,以及捡拾到失物难以归还失主的情况。虽然在校园的各大食堂可以看到各种失物招领或寻物启事,但由于缺少关注度和覆盖范围小,失物招领的效果不太理想。在QQ群铺天盖地的失物招领、寻物启事等信息中,由于信息传播的局限性、及时效性短,招领效果差强人意,这些常见的招领方式并不能很好地全面地解决问题。随着现代网络迅速发展,在校大学生都会在宿舍准备一台电脑,学生习惯性地会从网上获取信息。基于以上情况建立一个在线的校园失物招领网站,将失主和失物的信息收集和发布,提供一个双方能及时沟通的平台,在缩减时间和精力的同时,也能提高物品被找回的概率,同时也提高了失物招领处工作人员的工作效率。拾金不昧是中华民族的传统美德,不管身在何时何处,作为当代大学生,我们不仅要怀揣这份精神,更要把这份精神传播下去。在校园失物招领网站的基础上,每个人都能成为一个活雷锋,把这份失而复得的喜悦带给身边的每一个人。1.2课题国内外研究现状当今我国正处于建设和谐校园,关于学校学生道德素质方面极度重视。所以,促进各大高校的文明化管理,实现校园高素质文化是学校义不容辞的一项责任。而从国内的研究现状可知,失物招领作为一种常见的社会现象已经存在了几千年,国内外在失物招领处理方式上差异并不大,对于大部人而言,只能通过张贴或者网上发布言论消息,通过取得网友的关注度来获取最新消息。在这些方式下,每天存在高速度高流量的信息,被淹没的几率非常大。若是在人流量大的地方张贴寻物启事,其他人也不一定能发现。这也有很大的局限性,要花费大量的纸和大量的时间,也影响市容,可能会被当做垃圾信息处理掉的风险。不仅浪费时间和精力,还不能高效地把事情处理得当,不能得到有效的信息,数据也无法积累。所以我们应该尽快建立起属于自己的校园失物招领网站,满足失主与拾主的相关需求,使失物招领能够尽快地进入到学生的日常生活当中,从而提升学生的道德修养与自身素质。1.3论文的章节介绍第一章绪论大概讲述了本课题来源、研究的背景和意义,并分析了国内外研究现状。网站开发环境及技术介绍以Spring+SpringMVC+MyBatis开发框架设计,在Tomcat8.5+MySQL5.5的环境下进行开发,用JSP动态页面显示。第三章需求分析与总体设计第四章系统功能实现第五章系统测试第六章总结与展望本文章节的主要流程如下图1-1所示绪论绪论网站开发环境及技术介绍总结与展望系统测试系统总结与展望系统测试系统功能实现需求分析与总体设计图1-1章节流程图

2网站开发环境及技术介绍图1-1章节流程图2.1网站概述及开发环境校园失物招领网站主要是面向各大高校的业务系统,主要面向者分为两类,一是在校全体学生与老师,二是失物招领管理人员。一旦有学生或者是老师捡拾到了某样物品,可以使用该网站根据相关信息发布失物招领,采用线上招领的方式,在校师生都可以登录该网站查询丢失的物品,若展示有自己的物品可进行认领。管理人员可根据发布的信息进行不定时更新。本网站开发基于Spring+SpringMVC+MyBatis框架,开发人员使用IDEA2018和Navicat开发工具,在Tomcat8.5服务器和JDK1.8的环境下,结合MySQL5.5数据库完成后台数据存储。2.2网站技术介绍2.2.1Spring框架Spring是一个开放源代码的J2EE应用程序框架,是一种轻量级开源框架,Spring是全面和模块化的,具有分层体系结构。由7个已经定义的模块组成,最主要的核心技术是面向切面(AOP)和控制反转(IOC),Spring框架图如下图2-1所示图2-1Spring框架简要介绍7个模块1.SpringCore:Spring框架的基本功能是SpringCore,主要组件为BeanFactory,它是工厂模式的具体表现。2.SpringContext:Spring上下文是一个配置文件,向Spring框架提供上下文信息,Spring上下文具有的业务包括企业服务,有电子邮件、国际化等。3.SpringAOP:主要通过配置管理特性,直接将面向切面(AOP)的编程功能成功集成到Spring框架中,因此可以轻而易举地使Spring框架管理的一切对象支持AOP。SpringAOP基于Spring应用程序的对象中提供了事务管理服务,可以不依赖EJB组件,就能将声明性事务管理集成到应用程序中。4.SpringDAO:JDBCDAO抽象层提供了异常层次结构的功能,该结构一方面可管理异常处理,也可以管理不同数据库供应商抛出的错误信息。异常层次结构不仅简化了错误处理,而且极大地降低了需要编写的异常代码数量(open和close)。5.SpringORM:主要负责映射框架中的对象关系,向ORM接入框架,并提供相关对象管理工具。Spring框架内含了若干个ORM框架,故而提供了ORM的对象关系工具,其中包括JDO、Hibernate和IbatisSQLMap。所有这些都要遵从Spring的通用事务和DAO异常层次结构。6.SpringWeb:Web上下文模块之所以搭建在应用程序上下文模块之上,目的是为基于Web的应用程序提供上下文。故而Spring框架支持与JajartaStruts的集成,此外,Web模块还简化了其它一些,例如处理多部分请求以及将请求参数绑定到域对象的工作。7.SpringMVC:MVC框架是一个全功能的构建,为实现Web应用程序的MVC。在接口的策略下,MVC框架已然成为高度可配置的。MVC包含了大量视图技术,其中包括JSP、Titles、POI和iText。Spring框架具有以下特点1.方便解耦,简化开发:提供了IOC容器,既可以由Spring控制对象之间的依赖关系,同时也避免了硬编码造成的过度程序耦合。开发人员不再需要为单实例类、属性文件解析等底层需求而编写编写代码,可以更专注于上层应用。2.支持AOP编程:更方便面向切面编程,替代传统的OOP,能轻松应对。3.支持声明事务:通过声明式方式灵活地进行事务管理,从而达到提高开发效率和质量的目的。4.方便测试程序:在Spring中,测试是随手及做的事情,可进行几乎所有的测试工作。5.降低JavaEEAPI的使用难度:在Spring的简易封装下,提供了一个薄薄的封装层,使得API的使用难度大大降低。2.2.2MyBatis框架MyBatis被称之为优秀的持久层框架,它支持定制化SQL、高级映射以及存储过程,同时避免了大部分JDBC代码和手动设置参数以及获取结果集。可以使用简易的XML配置文件或注解来配置和映射原声信息,将接口和Java的实体类对象映射成数据库中的记录。每个应用程序大部分使用SqlSessionFactory实例化,通过SqlSessionFactoryBuilder来获得SqlSessionFactory实例。获得SqlSessionFactoryBuilder可以配置XML文件或者预定义配置类。可以把MyBatis的功能架构分为三层,MyBatis功能架构图如下图2-2所示图2-2MyBatis功能架构2.2.3MySQL数据库MySQL是主流的关系型数据库管理系统,由瑞典MySQLAB公司开发。MySQL使用最主流的标准化语言—SQL语言,用于访问数据库。因为其关联数据库不是单纯地将数据存放在一个大仓库内,而是将数据保存在不同的表中,大大增强了速度与灵活性。由于其体积小、速度快、总体拥有成本低,最重要的是开放源码这一特点,大部分中小型网站都选择MySQL作为网站数据库。主要有以下几大特点:1.既能够作为一个单独的应用程序存在于客户端服务器网络环境中,又能够作为一个库嵌入到其他软件中;2.支持大型数据库,可以同时处理拥有上千万条记录的大型数据库;3.可以运行在多个系统上,32位系统表文件最大可支持4GB,64位系统表文件最大可支持8TB;4.MySQL是可以定制的,在GPL协议的基础上,可以修改源码来开发自己的MySQL系统。2.2.4JSP技术JSP的全称为JavaServerPages,由SunMicrosystems公司开发的一种动态网页技术标准。JSP与PHP、ASP等其他语言类似,是一种部署在网络服务器上的语言。在客户端发送的请求下响应,并根据请求内容动态地生成HTML等其他格式文档的Web网页,最后返回给请求者。JSP的本质为Servlet,每个JSP会编译成一个.class文件。JSP页面由Java代码和特定变动的内容嵌入到静态的HTML页面中,以实现动态地生成网页部分内容。在JSP中,既可以产生数据,也可以格式化数据,不过最主要的目的是显示数据。JSP技术使用Java编程语言编写,用来处理逻辑,以达到封装产生动态网页的目的。当访问JSP网页时,请求会发送给Web服务器端,首先执行程序段,然后将执行结果和JSP文件中的HTML代码一起返回给客户。JSP存在四个阶段生命周期,类似于Servlet生命周期,区别在于JSP生命周期包括将JSP文件编译成Servlet。JSP生命周期图如下图2-3所示图2-3JSP生命周期JSP简单易学,跨平台性强,主要有以下几大优点:1.以模板化的方式高效、快捷地添加动态网页内容。2.与其他企业级Java技术相互配合,专门负责页面中的数据呈现,分层开发。3.开发人员可以选择在适合自己的系统平台上开发JSP项目,在所有的客户端上都能成功访问。2.3本章小结本章节主要介绍了校园失物招领网站所使用的的技术,包括了Spring框架,MyBatis框架,JSP技术以及MySQL数据库。着重讲解了这些技术的底层原理和优点特性。Spring框架提供对其他开源框架的集成支持,简化了开发。而MyBatis框架采用XML文件配置,解除了SQL与代码的耦合。采用SSM框架极大地降低了系统开发难度,提高了开发人员的开发效率。

3需求分析与总体设计3.1需求分析3.1.1可行性分析对于经济可行性分析,由于本网站采用的是SSM框架,对于开发人员而言,开发难度较小,经济上的投入不大。系统网站建成之后,将为各大高校的失物招领管理人员提供极大的方便,并且选择的开发工具和服务器是免费的,基于Web的B/S模式,开发成本较低,只需要有个电脑在线联网即可登录使用。系统开发成本、运行费用在合理范围之内,从经济上来讲是可行的。对于技术可行性分析,开发人员只需要使用目前主流的技术与框架,没有添加任何新技术,配合Tomcat服务器,MySQL数据库,结合Java、JSP语言,调试、测试相对简单,足以完成系统网站,从技术上来讲是可行的。对于操作上的可行性分析,本网站界面美观,直观易懂。在校师生只需在浏览器打开即可使用,对于大多数浏览器比较兼容。管理人员也都能够胜任,从操作上来讲是可行的。3.2需求的提出在校园中,失主丢失物品之后,如果是很重要的物品,往往会急躁苦恼。然后回到之前去过的区域重新寻找,实在没办法则会去失物招领处登记,苦苦等待好心人捡拾到归还。同时,拾主捡拾到后若想归还,也不是那么容易。因此为了帮助校园师生更加方便快捷地找回丢失物品,需开发出校园失物招领网站,为学校师生服务,以减少由此带来的经济和时间损失。需求主要有以下三个方面:1.学生与老师都作为主要普通用户,用户捡拾物品和丢失物品之后都可以根据物品相关信息发布失物招领,也可以对具体物品进行认领。2.用户可以浏览全部失物招领信息,为用户提供模糊查询,缩减查询时间,提高效率。3.用户可以实时编辑个人信息,下架个人发布的失物招领信息。3.3系统功能设计通过对校园失物招领网站的需求分析和设计,本系统的主要功能如下:3.3.1注册以及登录个人信息用户第一次使用本网站需要注册个人账号,要根据系统提示要求才能注册成功,注册成功后即可登录使用。3.3.2发布失物招领用户若捡拾到物品后可以根据相关信息发布失物招领,发布成功之后即可在失物招领信息列表中实时显示查看。3.3.3查找失物招领信息用户在网站注册账号,登录后可以在线浏览失物招领信息,也可以通过类别、具体关键词查询条件进行限定。3.3.4认领失物在失物招领信息列表中若有属于本人丢失的物品,可以点击图片查看具体信息后认领该物品。3.3.5编辑个人信息在失物招领信息列表界面,可以点击个人中心,修改账号、密码,也可以下架个人发布的失物招领信息。3.4用例分析根据网站的系统功能设计,将使用者分为两类:用户、管理员。下面以UML用例图的表示,进行用例分析。3.4.1用户用户作为网站的主要使用者,在捡拾到失物之后,可以登录个人账号,根据捡拾人姓名、电话号码,失物信息、类型、图片以及捡拾地址、时间发布。用户也可以浏览失物招领信息列表,可以通过失物类型或者具体关键词检索符合条件的物品。若用户查询到有属于自己丢失的物品,也可以填写认领人姓名、电话号码,失物图片以及具体认领信息。当然,用户也可以编辑个人信息,如账号、密码等,删除个人发布的失物招领信息。具体用户用例图如下图3-1所示图3-1用户用例图3.4.2管理员管理员主要是针对失物、用户进行管理。管理员可以对用户发布的失物招领信息进行更改、删除。若用户发布了敏感、杂乱信息,可以下架,用户若频繁发布不文明信息,管理员有权删除用户,并给予警告。管理员用例图如下图3-2所示图3-2管理员用例图3.5业务流程分析业务流程分析是按照原有的信息流动和过程,逐个地分析所有环节的业务,包括内容、顺序以及对应处理时间的要求。业务流程分析不仅可以帮助开发人员了解该业务的处理过程,也能发现和处理系统中的错误和疏漏。业务流程分析通过数据流程图来反映,用一些规定的符号来表示某个具体业务处理过程。用户发布失物招领数据流图如下图3-3所示。用户根据姓名,失物图片、类型等信息发布在网站平台上,若发布成功后,则可实时显示查看。图3-3发布失物招领数据流图管理员登录数据流图如下图3-4所示。管理员输入特定的用户名和密码,登录后台系统,通过数据库中的数据查询到对应的数据。图3-4管理员登录数据流图3.6系统功能结构图校园失物招领网站有两种用户身份使用,一种是普通用户,一种是管理员。普通用户包括注册登录、发布失物招领、认领失物、编辑个人信息、查看检索失物信息。管理员包括失物管理、用户管理、失物类型管理、认领管理。具体系统功能结构图如下图3-5所示图3-5系统功能结构图主要功能介绍如下:3.6.1注册、登录账号用户在使用网站之前一定要注册个人账号,包括账号名、密码、手机号、邮箱,两次输入密码要一致,每个信息要按照系统提示要求才能注册成功,注册成功的账号可以进行登录,进入网站首页。3.6.2发布失物招领用户根据捡拾到的物品,填写捡拾人姓名、联系方式,物品具体信息、捡拾时间、图片、类型进行发布。发布成功后返回首页列表界面。3.6.3认领失物用户在首页列表中查看到有属于本人丢失的物品,可以根据认领人姓名、联系方式,物品具体信息、图片进行认领。3.6.4查看检索失物信息用户登录成功后即可在首页查看全部用户发布的失物招领信息,也可以根据类别或者输入关键词筛选符合条件的信息。3.6.5编辑个人信息用户在个人中心查看用户信息、发布以及申领信息,可以修改账号、密码,删除个人发布的失物招领信息。3.6.6失物管理管理员有权限对全部用户发布的失物招领信息进行删除、修改。3.6.7用户管理用户若忘记密码,管理员可以修改用户密码,对用户全部信息均能更新。3.7数据库设计3.7.1数据库配置校园失物招领网站是按照B/S(浏览器/服务器)模式进行设计,设计图如下图3-6所示图3-6设计图数据库在一个系统中占着非常重要的地位,数据库设计的好与坏将直接对系统的实现以及效率产生影响。合理的数据库可以提高数据存储,保证数据的完整和一致。在本校园失物招领网站中,采用免费的开源代码Web应用服务器,应用轻量级服务器Tomcat,以及MySQL作为本网站数据库。3.7.2概念模型设计E-R图,也称为实体-联系模型。E-R图包括三个基本因素:实体、联系、属性,它简洁易懂,能够比较精确地反映现实世界的信息联系,从概念上也能反映出数据库的信息组织情况。作为校园失物招领网站的E-R图,如下图3-7所示图3-7E-R图管理员表有三个字段:adminId、AdminName、adminPass,分别代表管理员ID,管理员账户、管理员密码三个属性。管理员表如下表3-1所示表3-1管理员表字段名称字段类型默认值自增备注adminIdint(11)无是管理员ID,主键adminNamevarchar(255)无否管理员账户adminPassvarchar(255)无否管理员密码用户表有五个字段:userId、userName、userPass、userEmail、userTel,分别代表用户ID、用户账号、用户密码、用户邮箱、用户电话号码五个属性。用户表如下表3-2所示表3-2用户表字段名称字段类型默认值自增备注userIdint(11)无是用户ID,主键userNamevarchar(255)无否用户账号userPassvarchar(255)无否用户密码userEmailvarchar(255)无否用户邮箱userTelvarchar(255)无否用户电话号码物品表有九个字段:goodId、goodName、goodInfor、goodTel、goodDate、goodLocal、goodImage、userId、typeId,分别代表物品ID、捡拾人姓名、物品具体信息、捡拾人号码、捡拾时间、捡拾地点、物品图片、用户ID、类型ID九个属性。物品表如下表3-3所示表3-3物品表字段名称字段类型默认值自增备注goodIdint(11)无是物品ID,主键goodNamevarchar(255)无否捡拾人姓名goodInforvarchar(255)无否物品具体信息goodTelvarchar(255)无否捡拾人号码goodDatedate无否捡拾时间goodLocalvarchar(255)无否捡拾地址goodImagevarchar(255)无否物品图片userIdint(11)无否用户IDtypeIdint(11)无否类型ID申请表有七个字段:applyId、applyName、applyInfor、applyTel、applyImage、userId、goodId,分别代表申请ID、申请人姓名、申请具体信息、申请人号码、申请图片、用户ID、物品ID。申请表如下表3-4所示表3-4申请表字段名称字段类型默认值自增备注applyIdint(11)无是申请ID,主键applyNamevarchar(255)无否申请人姓名applyInforvarchar(255)无否申请具体信息applyTelvarchar(255)无否申请人号码applyImagevarchar(255)无否申请图片userIdint(11)无否用户IDgoodIdint(11)无否物品ID类型表有两个字段:typeId、typeName,分别代表类型ID、类型名称。类型表如下表3-5所示表3-5类型表字段名称字段类型默认值自增备注typeIdint(11)无是类型ID,主键typeNamevarchar(255)无否类型名称3.8本章小结本章节主要讲解了校园失物招领网站的需求以及系统设计,运用用例图和业务流程图分析了功能模块,配合E-R图和数据库表加以辅助分析。4系统功能实现4.1登录、注册界面注册信息包含用户名、邮箱、手机号、密码以及确认密码,登录只需要输入用户名和密码。注册界面如下图4-1所示,登录界面如下图4-2所示图4-1注册界面图4-2登录界面4.1.1注册验证代码实现Controller层@RequestMapping("/valid")@ResponseBodypublicResultVOvalid(@RequestBodyValidVOvalidVO){Useruser1=userService.regName(validVO.getName());/*if("admin".equals(validVO.getName())){returnnewResultVO(false);}*/if(user1!=null){returnnewResultVO(false);}returnnewResultVO(true);}@RequestMapping("/doreg")publicStringdoreg(@ModelAttribute("userVO")@ValidUserVOuserVO,BindingResultbindingResult,Modelmodel){System.out.println(userVO);if(bindingResult.hasErrors()){return"regs";}Useruser1=userService.regName(userVO.getName());if(user1!=null){model.addAttribute("MSG1","用户名重复");return"regs";}if(!userVO.getPassword().equals(userVO.getRepassword())){model.addAttribute("MSG2","密码不一致");return"regs";}Useruser=UserConverter.converter(userVO);userService.reg(user);return"login";}functionvalidTel(th){varerror=document.getElementById("mesTel");if(th.value==""){error.innerHTML="用户名不能为空";error.style.color="red";}elseif(th.value.length<11||th.value.length>11){error.innerHTML="手机号必须11位";error.style.color="red";}else{error.innerHTML="";error.style.color="";}}4.1.2登录验证代码实现Controller层@RequestMapping("/doLogin")publicStringdoLogin(LoginVOloginVO,HttpServletRequestrequest,BindingResultbindingResult,Modelmodel){if(bindingResult.hasErrors()){return"login";}//查到的名字等于输入的名字判断是否存在用户//user1=newUser();Useruser1=userService.regName(loginVO.getName());if(user1==null){model.addAttribute("MSG1","用户名不存在");return"login";}if(!user1.getUserPass().equals(loginVO.getPassword())){model.addAttribute("MSG2","密码错误");return"login";}Useruser=LoginConverter.converter(loginVO);Useruser2=userService.login(user);request.getSession().setAttribute("userName",loginVO.getName());//request.getSession().setAttribute("userId",user.getUserId());//存取对象request.getSession().setAttribute("user",user2);return"index";}4.2首页界面用户此时已登入成功,进入网站首页。网站首页由三个部分组成:用户信息、搜索栏、轮播图。首页如下图4-3所示图4-3首页4.3失物招领信息展览与模糊查询实现用户点击logo图标或者查询按钮即可查询到全部失物招领信息,每一页有5条记录,实现分页查询;也可以输入具体关键词或者类别进行条件筛选,失物招领展览如下图4-4所示图4-4失物招领展览代码实现://搜索失物信息@RequestMapping("/search")publicStringsearch(GoodShowVOgoodShowVO,Modelmodel,IntegerpageNum,HttpSessionsession){if(pageNum==null){pageNum=1;}session.setAttribute("vo",goodShowVO);System.out.println(goodShowVO);GoodSearchVOgoodSearchVO=newGoodSearchVO();goodSearchVO.setSearchName(goodShowVO.getSearchName());goodSearchVO.setSearchType(goodShowVO.getSearchType());PageHelper.startPage(pageNum,Constant.PAGE_SIZE);PageInfo<Good>pageInfo=newPageInfo<>(goodService.search(goodSearchVO));System.out.println("pageinfo=============="+pageInfo.getList().size());for(Objectobject:pageInfo.getList())System.out.println(object);model.addAttribute("pageInfo",pageInfo);return"list";}4.4查看失物详情信息用户在失物招领信息列表中点击图片,即可查看失物详情信息。失物详情信息如下图4-5所示图4-5失物详情信息代码实现://物品细节显示@RequestMapping("/details")publicStringdetails(intgoodId,Modelmodel){Goodgood=goodService.searchDetails(goodId);model.addAttribute("good",good);return"details";}4.5发布失物招领功能用户在首页点击发布失物招领,选择物品种类,填写发布人姓名,输入详情说明,拾取时间,拾取地点,联系方式,添加物品图片,点击发布之后,即可在失物信息列表中实时显示。发布失物招领如下图4-6所示图4-6发布失物招领代码实现:@RequestMapping("/fabu")publicStringfabu(GoodVOgoodVO,HttpServletRequestrequest)throwsIOException{System.out.println("");System.out.println(goodVO);goodVO.getGoodImage().transferTo(newFile(UPLOAD_DIR+goodVO.getGoodImage().getOriginalFilename()));Useruser=(User)request.getSession().getAttribute("user");inttypeid=goodService.queryIdByName(goodVO.getTypeName());Typetype=newType(typeid);Goodgood=GoodConverter.converter(goodVO,goodVO.getGoodImage().getOriginalFilename(),user,type);goodService.fabu(good);return"redirect:/good/search";}4.6认领失物用户在失物招领信息列表中点击图片前去认领,填写申请人姓名,申请理由,联系方式,上传物品旧照片,点击提交申请。认领失物如下图4-7所示图4-7认领失物4.7编辑个人信息用户对于个人的账户信息,例如密码,用户名、手机号可以进行修改,可以删除个人发布的失物招领信息,查看认领信息。如下图所示图4-8用户信息图4-9用户个人发布失物招领信息图4-10用户个人认领信息代码实现://查询个人信息@RequestMapping("/infor")publicStringpersonShow(Modelmodel,HttpServletRequestrequest){Useruser1=(User)request.getSession().getAttribute("user");intuserId=user1.getUserId();Useruser=userService.queryUser(userId);model.addAttribute("user",user);return"infor";}//修改个人信息@RequestMapping("/updateUser")publicStringupdateUser(UpdateVOupdateVO,Modelmodel,HttpServletRequestrequest){System.out.println(updateVO);Useruser=UpdateConverter.converter(updateVO);System.out.println(user);userService.updateUser(user);return"redirect:/user/infor";}//查询密码信息@RequestMapping("/pass")publicStringpassShow(Modelmodel,HttpServletRequestrequest){Useruser2=(User)request.getSession().getAttribute("user");intuserId2=user2.getUserId();Useruser3=userService.queryUser(userId2);model.addAttribute("user3",user3);return"pass";}//修改密码信息@RequestMapping("/updatePass")publicStringupdatePass(PassVOpassVO){Useruser1=PassConverter.converter(passVO);userService.updatePass(user1);return"redirect:/user/pass";}//查询用户发布的物品@RequestMapping("/mygood")publicStringmygood(HttpServletRequestrequest,Modelmodel){Useruser=(User)request.getSession().getAttribute("user");intuserId=user.getUserId();List<Good>good=goodService.queryGood(userId);model.addAttribute("good",good);return"mygood";}//删除用户发布的@RequestMapping("/delete")publicStringdeleteGood(intgoodId){goodService.deleteGood(goodId);return"redirect:/good/mygood";}4.8本章小结本章大概讲解了网站界面的展示以及主要功能代码的整合。5系统测试5.1测试目的在校园失物招领网站开发工程当中,总会存在一些难以避免的问题,需求不够充分,开发人员理解不当会导致系统出现问题。所以,在网站正式上线之前,测试是很有必要的一个步骤。目的在于发现系统中存在的缺陷,以此来减少不必要的麻烦。也防止后期上线维护造成无法挽回的损失。对校园失物招领网站进行测试,主要有以下几个测试目的:1.测试系统的输入和输出是否正常。2.测试系统是否能移植到其他硬件、软件上。3.撰写测试报告,测试数据更有针对性。4.让系统后期维护起来更加方便快捷。5.2环境测试操作系统:Windows10处理器CPUi5及以上内存容量4G硬盘容量500G数据库:MySQL5.5服务器:Tomcat8.5+jdk1.8浏览器:谷歌5.3测试用例5.3.1用户注册测试用户注册测试表如下表5-1所示表5-1用户注册测试表模块名称测试用例预期结果实际结果是否通过用户注册用户名:user1密码:null弹出错误提示:密码不能为空注册失败通过用户注册用户名:null密码:12345678弹出错误提示:用户名不能为空注册失败通过用户注册用户名:user2密码:12345678注册成功,跳转到登录界面注册成功通过5.3.2用户登录测试用户登录测试表如下表5-2所示表5-2用户登录测试表模块名称测试用例预期结果实际结果是否通过用户登录用户名:user1密码:12345678弹出错误提示:用户名不存在登陆失败通过用户登录用户名:user2密码:123456弹出错误提示:密码错误登录失败通过用户登录用户名:user2密码:12345678登录成功,跳转到首页登录成功通过5.3.3发布失物招领测试发布失物招领测试表如下表5-3所示表5-3

温馨提示

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

最新文档

评论

0/150

提交评论