




已阅读5页,还剩49页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
i基于java的小额支付管理平台的设计与实现摘要随着计算机技术的不断发展,计算机作为知识经济时代的产物,已被广泛应用于社会各个行业和领域。目前我国国企改革的深入和社会主义市场经济的日趋繁荣,金融体系的规模更是日益庞大,客户对银行的服务要求也在不断提高,模拟一个快捷方便安全智能的小额支付系统有很高的实用价值。由于现在各大银行的全国联网,异地存款,取款,存钱,在全国任何地方可以及时查询自己帐户等,甚至在家里,打开电脑,登录自己的小额支付,还可以实现足不出户,了解自己帐户信息,给人们的生活和社会的经济带来了空前的变化。在这样的一个背景下,为了适应网络的普及以及当今社会发展的需要,本次我利用毕业之际,设计和模拟小额支付,以备以后作技术上的参考。出于系统的安全性等因素的考虑,一个系统设计之前,需要进行方案和技术论证。所以不是一朝一夕能解决的。所以本次设计的系统主要是模拟小额支付电子交易,为广大的客户提供转账等功能。我利用自己所学的计算机专业知识,模拟设计一个类似与农业银行的银行个人小额支付系统,使自己进一步掌握运用JSP语言编程的能力,并更深一步的了解有关小额支付电子交易的相关知识。关键词:计算机技术;小额支付;JSPThedesignandimplementationofmicropaymentmanagementplatformAbstractAlongwithcomputertechnologysunceasingdevelopment,thecomputertakestheeraofknowledgeeconomytheproduct,hasbeenwidelyappliedinsocialeachprofessionandthedomain.Atpresentourcountrystateenterprisereformthoroughandsocialistmarketeconomysday-by-dayprosperous,financialsystemsscaleisdaybydayhuge,thecustomerunceasinglyisalsoenhancingtothebankservicerequest,simulatesonetofacilitatethesecurityintelligenceon-linebanktotransferthesystemquicklytohavetheveryhighusevalue.Asaresultofthepresenteachbigbanksnationalnetworking,thedifferentdeposit,drawsmoney,savesmoney,mayinquireoneselfaccountpromptlyinnationalanyplaceandsoon,evenathome,turnsonthecomputer,registersownon-linebank,butmayalsorealizeisconfinedathome,understoodthatoneselfaccountinformation,hasbroughttheunprecedentedchangeforpeopleslifeandsocietyseconomy.Underasuchbackground,toadaptthenetworkpopularizationaswellasnowthesocialdevelopmentneed,thisIusewhenthegraduation,thedesignandthesimulationon-linebank,willpreparelatermakeintechnicalthereference.Stemmingfromsystemsfactorandsoonsecurityconsiderations,beforeasystemdesign,needstocarryontheplanandthetechnicalproof.ThereforethisdesignssystemmainlysimulatesAgricultureBankofChinason-linebankelectrontransaction,providestheinquiryremainingsumforthegeneralcustomers,todrawmoney,functionsandsoonaccounttransfer.Iusethecomputerspecializedknowledgewhichonestudy,thesimulationdesignonetobesimilarwithAgriculturalbankson-linebankingsystem,causesitselftofurthergrasputilizestheJSPlanguageprogrammingability,anddeeperstepunderstandingrelatedon-linebankelectrontransactionrelatedknowledge.Keywords:Computertechnology;On-linebank;JSP目录摘要.iAbstract.ii1.绪论.11.1系统开发的背景.11.2系统开发的目的.11.3系统开发的现实意义.11.4国内外现状.21.5主要研究内容.21.6系统功能.22.系统分析.32.1系统可行性分析.32.1.1技术可行性.32.1.2经济可行性.32.1.3社会可行性.32.2系统需求分析.33.系统架构设计.53.1架构设计目标.53.2系统架构设计.53.3系统架构图.83.3.1系统架构类图.83.3.2注册新用户流程图.93.3.3系统用例图.103.4数据库设计.113.4.1数据库的完整性.113.4.2ER图.123.4.3物理表结构图.123.4.4客户实体图.144.系统详细设计.154.1用户模块设计.154.1.1用户登录.154.1.2用户注册.154.1.3会员管理界面.174.2管理员界面设计.224.2.1管理员登陆.224.2.2管理员管理界面.234.2.3注册用户管理.244.2.4系统公告管理.254.2.5银行管理.274.2.6信息记录管理.284.3开发环境的选择.294.3.1系统开发工具.294.3.2数据库的选择.304.3.3服务器的选择.304.3.4系统网络架构设计.32结论.33参考文献.34致谢.35外文原文.36中文翻译.4401.绪论随着计算机技术的不断发展,计算机作为知识经济时代的产物,已被广泛应用于社会各个行业和领域。目前我国国企改革的深入和社会主义市场经济的日趋繁荣,金融体系的规模更是日益庞大,同时也由于网上购物的兴起,带动了网上支付的热潮,在我们周围也就出现了很多的网上支付平台,如支付宝、财付通等,给人们带来了很多便利。与此同时,客户对银行的服务要求也在不断提高,为了方便客户管理自己的财产,模拟一个快捷方便安全智能的小额支付系统有很高的实用价值。本系统模拟银行帐户的管理,开发一个小额支付系统,设计主要实现用户在银行正常交易的一些功能而且作为一个实用的管理系统,要有良好的容错性,在出现误操作能尽量地给出警告,以便用户及时地更正,计算机地资源是受到限制的,因此要充分利用JSP的功能,设计出功能强大的软件,同时要尽可能的减少对系统的资源的占用,签于本系统的特殊性,还需要本程序有良好的保密性。由于现在各大银行的全国联网,异地存款,取款,存钱,在全国任何地方可以及时查询自己帐户等,甚至在家里,打开电脑,登录自己的小额支付,还可以实现足不出户,了解自己帐户信息,给人们的生活和社会的经济带来了空前的变化。在这样的一个背景下,为了适应网络的普及以及当今社会发展的需要,本次我利用毕业之际,设计和模拟小额支付,以备以后作技术上的参考。出于系统的安全性等因素的考虑,一个系统设计之前,需要进行方案和技术论证。所以不是一朝一夕能解决的。所以本次设计的系统主要是模拟中国农业银行的小额支付电子交易,为广大的客户提供查询余额、取款、转账等功能。我利用自己所学的计算机专业知识,模拟设计一个类似与农业银行的小额支付系统,使自己进一步掌握运用JSP语言编程的能力,并更深一步的了解有关小额支付电子交易的相关知识。1.1系统开发的背景当今世界经济是我们综合国力的主要象征,而作为经济发展的支柱,各大银行先后进行了全国联网,实现了异地存款,取款等业务。在全国任何地方都可以及时查询自己帐户,甚至在家里,打开电脑,登录自己的小额支付,还可以实现足不出户,了解自己帐户信息,给人们的生活和社会的经济带来了空前的变化。在这样的一个背景下,为了适应网络的普及以及当今社会发展的需要,本次我利用毕业之际,设计和模拟小额支付,以备以后作技术上的参考。出于系统的安全性等因素的考虑,一个系统设计之前,需要进行方案和技术论证。所以不是一朝一夕能解决的。所以本次设计的系统主要是模拟中国农业银行的小额支付电子交易,为广大的客户提供转账、查询银行卡、发放工资等功能。1.2系统开发的目的小额支付管理平台设计的目的是使客户能够足不出户就完成对自己账户的管理工作,为用户提供便利,同时也减轻了银行银行的压力。通过对于各大银行网银的研究以及对于一些第三方支付平台的调查,搜集了一些资料。通过进行可行性分析、需求分析等确定了开发该程序的可行性以及市场的需求性,并在农业银行网上银行的基础上加以改进,增删一些功能,使得我创建的小额支付管理平台能够更好的起到方便用户的作用。11.3系统开发的现实意义(1)方便了客户,使客户能够足不出户就可以管理自己的银行账户(2)改变了以前不同银行不同账户不好管理的问题,通过同一平台进行操作,更加方便管理(3)减轻了银行的压力,一些简单的转账业务客户就可以在家解决1.4国内外现状自网银产生以来,小额支付发展迅速,交易额成倍增长。1994年全球网上小额交易总额仅为12亿美元,1997年达到26亿美元,2000年达到3000亿美元。虽然受到经济危机的影响,但是发展依然迅猛。世界各国公司通过因特网进行交易在2006年达到了4.3万亿美元。从世界各国小额支付的发展来看,北美和欧洲发展比较早,发展速度也比较完善。亚太地区信息产业发达的日本、新加坡、韩国,小额支付发展也很迅猛。经过十余年的努力,我国发展小额支付的基础环境逐步完善,截止2010年,使用小额支付进行网上转账的用户总人数一达到11100万人,与上年同期相比增长18.1%。网上商务信息资源的不断丰富也大大促进了我国电子商务的发展。1.5主要研究内容1综述小额支付管理平台对用户管理自己账户所带来的便利2了解实现小额支付管理的相关技术;3熟悉小额支付管理平台的开发环境;4设计小额支付管理平台对用户提供的功能,大致分为五个模块:客户及管理人员模块a)后台系统模块b)跨行转账模块c)发放工资模块(用于企事业单位可以向员工账户发放工资)d)记录模块5.深入分析实现小额管理平台的的关键技术与编写语言java的具体方法;6熟练掌握基于java的小额支付管理平台代码编写;7设计与实现可供用户使用和管理员管理的小额支付管理平台。1.6系统功能根据上述对于系统开发目的的介绍,整个系统抽象出以下几个功能模块,如图1-3所示。下面模块划分只是抽象意义上的划分,各模块之间需要共享数据,相互协作,完成整个系统流程,单一事物功能模块间是相互独立的。2小额支付系统管理员用户会员管理系统维护管理用户操作账号管理跨行转账工资发放交易明细图1-1系统功能模块32.系统分析2.1系统可行性分析2.1.1技术可行性根据所要设计的小额支付管理平台所要完成的功能,以及实现该系统的各种约束条件,根据新系统目标来衡量所需要的技术。本系统是一个B/S系统,很多主要是服务器端的技术。现有的该项技术已经较为完善,硬件、软件的性能都十分良好,估计利用现有条件应该可以达到该系统的功能目标。2.1.2经济可行性系统的开发是本人对java程序开发的时间学习而来,软件开发成本不高,企业不需要在投入经费,因此开发费用很少,可以被接受。2.1.3社会可行性本系统的社会可行性主要从法律因素、用户使用可行性两方面进行研究。(1)法律因素本系统是根据网上小额支付、网银等开发研制的,是通过大量的调研得出的,系统的软件设计是在独立的环境下完成的,无可供抄袭的软件产品。(2)用户使用可行性本系统对用户的要求很低,除了需要具备使用电脑的能力外,并不需要特别的技术能力。在使用过程中,并不需要安装特定的软件,只要通过浏览器进行操作就可以办到。这样既减少投入成本又简化了操作环节。因此,小额支付管理平台具有社会可行性。2.2系统需求分析通常,需求陈述的内容包括:问题范围,功能需求,性能需求,应用环境及假设条件等。总之,需求陈述应该阐明“做什么”而不是“怎样做”。它应该描述用户的需求而不是提出解决问题的方法。应该指出哪些是系统必要的性质,哪些是任选的性质。应该避免对设计策略施加过多的约束,也不要描述系统的内部结构,因为这样做将限制实现的灵活性。对系统性能及系统与外界环境交互协议的描述,是合适的需求。此外,对采用的软件工程标准、模块构造准则、将来可能做的扩充以及可维护性要求等方面的描述,也都是适当的需求。下面以农业银行小额支付中的电子交易模块为例说明如何进行系统需求陈述。本系统需要具有以下功能:(1)由于一项新的软件在被使用之前,对于使用者来说是陌生和崭新的,所以要求系统具有良好的人机界面。(2)能够实现转账功能,能成功的对各种信息进行查询及管理。(3)查询数据方便,数据的稳定性和可靠性好。系统采用B/S模式。整个系统最关键的就是数据库系统,一个强大的数据库可以支持完善一个优秀的软件设计,通过软件系统与数据库系统的连接来实现通过软件界面观察和处理操作数据。系统任务确定之后,下面的工作就是进行系统分析。面向对象的分析的主要任务是分析问题领域,找出问题解决方案,发现对象,分析对象的内部构成和外部关系,建立软件系统的对象模型。分析问题领域是软件系统开发的一项基本工作,是项目开发之初必须首先进行的4重要工作。分析问题领域的结果是对问题领域的清晰,精确的定义,明确目标系统将做什么。分析问题领域的主要任务是:对问题领域进行抽象,提出解决方案;对未来的系统进行需求分析,确定系统的职责范围,功能需求,性能需求,应用环境及假设条件等。实施面向对象分析的一般步骤如下:1分析用户需求,建立UseCase并通过用例图来描述用户的需求。2通过建立域模型以识别类与对象,从而识别系统中的各种对象。3确定对象的内部特征,从而定义出各个属性与服务,以进一步细化类的结构。4识别对象之间的关系并使用设计模式对类的结构进行优化和改造。5获得对象之间的行为关系,绘制出各种动态图形(顺序图、协作图、状态图等)。53.系统架构设计软件的系统架构是指通过某种特定的技术平台,完成软件系统整体功能的开发过程。也可以通俗地理解为:总体设计和总体结构布局。一般而言,软件系统架构有两个要素:1它是一个软件系统从整体到部分的最高层次的划分。2建造一个系统所做出的最高层次的,以后难以更改的,商业和技术的决定。3.1架构设计目标软件架构设计要达到如下的目标:1.可行性(Feasible)。架构具有可行性是架构设计的基石。2.可靠性(Reliable)。软件系统对于用户的商业经营和管理来说极为重要,因此软件系统必须非常可靠。3.安全行(Secure)。软件系统所承担的交易的商业价值极高,系统的安全性非常重要。4.可定制化(Customizable)。同样的一套软件,可以根据客户群的不同和市场需求的变化进行调整。5.可扩展性(Extensible)。在新技术出现的时候,一个软件系统应当允许导入新技术,从而对现有系统进行功能和性能的扩展。6.可维护性(Maintainable)。软件系统的维护包括两方面,一是排除现有的错误,二是将新的软件需求反映到现有系统中去。一个易于维护的系统可以有效地降低技术支持的花费。7.可升级性(Scalable)。软件必须能够在用户的使用率、用户的数目增加很快的情况下,保持合理的性能。只有这样,才能适应用户的市场扩展得可能性。8.客户体验(CustomerExperience)。软件系统必须易于使用。软件的最终用户很可能是不具有计算机专业技术的人员。3.2系统架构设计下面我们将根据架构设计原则和信息系统原理来建立系统的架构设计模型。将信息系统中比较关心的对象分层,可分为三层:用户界面层、业务层、数据访问层(如下图3-1所示),再把各层中的一些公共部分提出来:权限管理、异常处理。用户界面业务逻辑权限管理数据访问异常处理图3-1电子交易模块包图Fig3-1PackageDiagramofSalesManagementModel61.用户界面包用户界面包的职责是:(1)与用户的交互,接收用户的各种输入以及输出各种提示信息或处理结果。(2)对于输入的数据进行数据校验,过滤非法数据。(3)向业务处理对象发送处理请求。用户界面包图展开如图3-2所示:用户界面输入,输出数据效验发送业务处理请求图3-2用户界面包展开图Fig3-2PackageDiagramofUsersInterface用户界面包包含的类见图3-3:+数据效验()+业务处理()#输入输出元素#业务代理对象用户界面类输入界面输出界面图3-3用户界面类图Fig3-3ClassDiagramofUsersInterface2.业务逻辑包业务逻辑包的职责是:(1)实现各种业务处理逻辑或处理算法。(2)验证请求者的权限。(3)向数据访问对象发送数据持久化操作的请求。(4)向用户界面层返回处理结果。业务逻辑包图展开如图3-4所示:业务逻辑实现各种业务处理逻辑或处理算法。验证请求者的权限。向数据访问对象发送数据持久化操作的请求。向用户界面层返回处理结果。图3-4业务逻辑包图展开Fig3-4PackageDiagramofBusiness7业务逻辑包包含的类见图3-5:+业务处理()#数据库连接对象#数据库访问对象业务逻辑类+业务处理()#权限管理对象#业务对象业务代理类图3-5业务逻辑类图Fig3-5ClassDiagramofBusiness3.数据访问包数据访问层的职责是:(1)实现数据的持久化操作。(2)实现事务处理。数据访问包图展开如图3-6所示:数据访问实现数据的持久化操作。实现事务处理。图3-6数据访问包图展开Fig3-6PackageDiagramofDataAccess数据访问包包含的类见图3-7:+开始事务()+提交事务()+回滚事务()数据库连接类+读取()+写入()#数据库连接对象数据库访问类图3-7数据访问类图Fig3-7ClassDiagramofDataAccess对于每一个业务处理中需要持久化操作的对象都可以对应为一个数据库访问对象,在很多业务处理中需要请求多个数据库访问对象来进行数据的读写操作,而这些操作又必须在同一个事务中,这时需要用同一个数据库连接对象来进行统一的事务处理。这里的数据库连接类的创建用到了单件(Singleton)模式,保证一个类仅有一个实例,一个客户在同一时刻只能用一个数据库连接对象。4.权限管理包权限管理的主要职责是:(1)验证请求者的请求权限。(2)提供请求者的权限列表。权限管理包图展开如图3-8所示:权限管理验证请求者的请求权限提供请求者的权限列表图3-8权限管理包图展开Fig3-8PackageDiagramofAccessAuthorization8权限管理包包含的类见图3-9:+登陆()+退出()+是否已构建权限列表()+构建权限列表()-操作员代码-操作员名称-权限列表操作员类+验证权限(in操作员代码,in权限列表)+获取权限列表(in操作员代码)#操作员对象权限管理类图3-9权限管理类图Fig3-9ClassDiagramofAccessAuthorization5.异常处理包异常处理的职责:(1)汇报运行时的详细异常信息。(2)记录异常处理日志。异常处理包图展开如图3-10所示:异常处理汇报运行时的详细异常信息记录异常处理日志图3-10异常处理包图展开Fig3-10PackageDiagramofExceptionProcessing异常处理包包含的类见图3-11:异常处理实现#异常处理对象异常处理类异常处理实现异常处理实现异常处理实现异常处理实现异常处理实现异常处理实现图3-11异常处理类图Fig3-11ClassDiagramofExceptionProcessing因为异常处理类型比较多,如:系统异常、数据库异常、业务逻辑异常等,针对不同类型的异常处理方式也容易变,如:显示错误,记录文本日志,记录数据库日志等,所以这里使用了桥接(Bridge)模式来实现,使各部分的变化比较独立。3.3系统架构图3.3.1系统架构类图将包图展开,得到类图,它是架构的静态结构图,表达了各个类之间的静态联系。农业银行小额支付中的电子交易模块系统架构类图如下图3-12所示。9异常处理实现#异常处理对象异常处理类异常处理实现异常处理实现异常处理实现异常处理实现异常处理实现异常处理实现+登陆()+退出()+是否已构建权限列表()+构建权限列表()-操作员代码-操作员名称-权限列表操作员类+读取()+写入()#数据库连接对象数据库访问类+验证权限(in操作员代码,in权限列表)+获取权限列表(in操作员代码)#操作员对象权限管理类输入界面输出界面+数据效验()+业务处理()#输入输出元素#业务代理对象用户界面类+业务处理()#数据库连接对象#数据库访问对象业务逻辑类+业务处理()#权限管理对象#业务对象业务代理类+开始事务()+提交事务()+回滚事务()数据库连接类图3-12系统架构类图Fig3-12ClassDiagramofSystemArchitecture3.3.2注册新用户流程图输入:用户的用户名、姓名,密码、身份证、性别、年龄、生日。处理:添加会员信息。在这里可以添加会员。添加信息有:用户的户名、姓名,密码、身份证、性别、年龄、生日。输出:添加成功,提示成功信息,不成功则显示错误的信息页面。流程图如下:10图3-13注册用户流程图3.3.3系统用例图客户可以发起转账、发放工资、还可以修改密码和详细资料以及对操作记录的查询工作。发起转账发放工资修改密码修改资料查询记录图3-14客户用例图管理员可以管理注册信息、添加管理员、还可以修改管理员密码和详细资料以及发布及管理系统通知、管理银行信息对操作记录的查询、管理工作。11管理注册用户添加管理员发布系统通知管理银行记录管理操作记录图3-15管理员用例图3.4数据库设计关系型数据库是目前应用最广泛的数据库。既然是面向对象系统设计,数据库设计当然也要是面向对象的。现在要考虑如何对类进行持久化操作,即如何将对象类映射到关系数据库的二维表。目前可以采用数据库建模工具来实现,象PowerDesigner、Rose等。3.4.1数据库的完整性SQL把各种完整性约束作为数据库模式定义的一部分。既有效防止了对数据库的意外破坏,提高了完整性检测的效率,又可以减轻编程人员的负担。SQL对三种不同完整性约束的设置及检测,采取了不同的方式加以实现。实体完整性规定,主码的任何属性都不能为空,因为,概念模型中实体和联系都是可区分的,而且它们以码为唯一性标识。SQL中实体完整性是通过主码来实现的。一旦某个属性或属性组被定义为主码,该主码的每个属性就不能为空值,并且在关系中不能出现主码值完全相同的两个元组。主码的定义是在CreateTable语句中使用PrimaryKey关键字来实现的。方法有两种:a)在属性定义后加上关键字PrimaryKey;b)在属性表定义后加上额外的定义主码的子句:PrimaryKey()参照完整性是对关系间引用数据的一种限制。对于用户自定义完整性约束,SQL提供了非空约束、对属性的CHECK约束、对元组的CHECK约束、触发器等来实现用户的各种完整性要求。提高数据库运行效率的办法:(1)在数据库物理设计时,降低范式,增加冗余,少用触发器,多用存储过程。(2)当计算非常复杂、而且记录条数非常巨大时(例如一千万条),复杂计算要先12在数据库外面,以文件系统方式用C+语言计算处理完成之后,最后才入库追加到表中去。这是电信计费系统设计的经验。(3)发现某个表的记录太多,例如超过一千万条,则要对该表进行水平分割。水平分割的做法是,以该表主键PK的某个值为界线,将该表的记录水平分割为两个表。若发现某个表的字段太多,例如超过八十个,则垂直分割该表,将原来的一个表分解为两个表。(4)对数据库管理系统DBMS进行系统优化,即优化各种系统参数,如缓冲区个数。(5)在使用面向数据的SQL语言进行程序设计时,尽量采取优化算法。总之,要提高数据库的运行效率,必须从数据库系统级优化、数据库设计级优化、程序实现级优化,这三个层次上同时下功夫。3.4.2ER图E-R图如图所示:用户实体管理员实体开户时间登陆账号密码年龄身份证号联系地址账号管理用户账号密码性别真实姓名真实姓名性别联系地址联系电话图3-16实体ER图3.4.3物理表结构图该表用于存储注册用户的基本信息。该表的主要字段有用户编号、用户名、用户密码、申请时间、标志、。其中编号是表中的主键,得到物理表结构如下:表3-1管理员表“admin”列名数据类型长度允许空IdInt4否UsernameNvarchar50否PasswordNvarchar50否addtimeDatetime50否SexNvarchar4否ageint4否addressNvarchar200否telNvarchar50否13表3-2系统记录表“qj”列名数据类型长度允许空IdInt10否membernvarchar50否ztnvarchar500否sjnvarchar50否bznvarchar500否表3-3注册会员表“member”列名数据类型长度允许空IdInt4否Usernamenvarchar50否PasswordNvarchar100否realnameNvarchar50否sexInt4否ageInt4否addressNvarchar50否regtimeDatetime16否ifuseNvarchar50否EmailNvarchar50否表3-4系统通知表“affiche”列名数据类型长度是否空Idint10否TitleNvarchar50否ContentNvarchar100否addtimeNvarchar50否adderNvarchar50否表3-5工资表“gz”列名数据类型长度是否空Idint10否yhnvarchar50否Zhnvarchar50否Jenvarchar50否xmnvarchar50否Smnvarchar50否Membernvarchar50否Sjnvarchar50否表3-6转账表“kh”列名数据类型长度是否空Idint10否yhnvarchar50否Zhnvarchar50否14Jenvarchar50否Membernvarchar50否表3-7记录表“rz”列名数据类型长度是否空Idint10否CzNvarchar100否sjdatetime8否3.4.4客户实体图客户登录密码用户账号真实姓名邮箱联系地址身份证号图3-17客户实体图客户实体所含有的属性有:用户账号、登录密码、真实姓名、身份证号、联系地址、邮箱等。用户账号是唯一区分客户的方式,是客户信息表的主键。一个客户可以申请多个账户,但账户名称不能相同。身份证号会经过一个简单验证,减少人们使用假身份证号的概率。邮箱也会有验证,不符合邮箱格式的会出现提醒。154.系统详细设计4.1用户模块设计4.1.1用户登录在用户登录界面,在用户名对应的文本框中输入用户名,在密码对应的文本框中输入密码,如果用户名和密码同时与数据库中的用户名和密码相对应,点击“确定”后进入系统的主界面。如果输入的信息不正确,则给出提示。输入:用户名和密码。处理:校检字符的有效性。用户要登录本系统需要提供用户名和密码,在这里就是要检验用户是否满足输入的要求,即检验用户名和密码文本框是否为空,若为空,则提示用户输入用户名和密码。检验用户名是否存在或密码是否正确,即是否存在用户输入的用户名,并且密码是否正确。输出:登录成功,进入用户的系统使用资源页面,不成功则显示错误信息页面。界面如下图所示:图4-1登录界面核心代码:if(method.equals(mlogin)/会员登录Stringusername=request.getParameter(username);/接收用户在表单中输入的用户名Stringpassword=request.getParameter(password);/接收用户在表单中输入的密码Stringstr=cBean.getString(selectidfrommemberwhereusername=+username+andpassword=+password+andifuse=在用);/在数据库中查找对应的用户if(str=null)/查找不到,返回错误信息cBUp(insertintorz(cz)values(会员登录+username+);request.setAttribute(message,登录信息错误!);request.getRequestDispatcher(login.jsp).forward(request,response);else/可成功登陆session.setAttribute(member,username);request.getRequestDispatcher(member/index.jsp).forward(request,response);4.1.2用户注册界面如下图所示:16图4-2注册界面用户注册主要代码:if(method.equals(mreg)/会员注册Stringusername=request.getParameter(username);Stringpassword=request.getParameter(password);Stringrealname=request.getParameter(realname);Stringsex=request.getParameter(sex);Stringage=request.getParameter(age);Stringaddress=request.getParameter(address);Stringemail=request.getParameter(email);/设置变量接收用户在表单中输入的所有信息Stringstr=cBean.getString(selectidfrommemberwhereusername=+username+);/在数据库中查找该用户填写的用户名是否已经被使用if(str=null)/如果尚未被使用,则把注册信息插入member表中intflag=cBUp(insertintomember(username,password,realname,sex,age,address,email,regtime,ifuse)+values(+username+,+password+,+realname+,+sex+,+age+,+address+,+email+,+date+,在用);if(flag=Constant.SUCCESS)/插入成功,提示注册成功cBUp(insertintorz(cz)values(新注册会员+username+);request.setAttribute(message,注册成功请登录!);request.getRequestDispatcher(login.jsp).forward(request,response);else/插入失败,返回错误信息request.setAttribute(message,操作失败!);request.getRequestDispatcher(reg.jsp).forward(request,response);else/用户名已经被使用,提示用户request.setAttribute(message,该用户名已存在!);request.getRequestDispatcher(reg.jsp).forward(request,response);17找回密码界面:图4-3丢失密码elseif(method.equals(lost)/丢失密码会将新密码发送到注册时的邮箱,用户可以直接使用新密码登录request.setAttribute(message,新密码已经发到注册邮箱!);request.getRequestDispatcher(login.jsp).forward(request,response);4.1.3会员管理界面会员登录成功后,系统会自动跳转到会员管理界面图4-4会员欢迎界面系统欢迎界面主要是来实现,我这里分为top.jsp,left.jsp,main.jsp三部分,点击左边的导航栏(见图4-5)main.jsp会随着变化。进入不同的管理界面。图4-5导航栏18进入会员界面可以修改会员密码:图4-6修改密码密码修改处理主要代码:elseif(method.equals(muppwd)/会员修改密码Stringmember=(String)session.getAttribute(member);/接受用户名Stringoldpwd=request.getParameter(oldpwd);/接受用户输入的旧密码Stringnewpwd=request.getParameter(newpwd);/接受用户输入的新密码Stringstr=cBean.getString(selectidfrommemberwhereusername=+member+andpassword=+oldpwd+);/在数据库中查询该用户的用户名和旧密码是否匹配if(str=null)/不匹配,返回错误信息request.setAttribute(message,原始密码信息错误!);request.getRequestDispatcher(member/info/editpwd.jsp).forward(request,response);else/匹配,对数据库进行修改操作intflag=cBUp(updatemembersetpassword=+newpwd+whereusername=+member+);if(flag=Constant.SUCCESS)/修改成功request.setAttribute(message,操作成功!);request.getRequestDispatcher(member/info/editpwd.jsp).forward(request,response);elserequest.setAttribute(message,操作失败!);request.getRequestDispatcher(member/info/editpwd.jsp).forward(request,response);/回到修改密码界面图4-7修改详细资料详细资料修改主要代码:elseif(method.equals(mupreg)/会员修改注册资料Stringmember=(String)session.getAttribute(member);Stringrealname=request.getParameter(realname);Stringsex=request.getParameter(sex);Stringage=request.getParameter(age);Stringaddress=request.getParameter(address);Stringemail=request.getParameter(email);/定义变量接收用户在表单中提交的信息intflag=cBUp(updatemembersetrealname=+realname+,sex=+sex+,age=+age+,+address=+address+,email=+email+whereusername=+member+);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 班组安全年度培训内容课件
- 2025年河南省医学科学院智能医学研究所招聘工作人员17名考前自测高频考点模拟试题及答案详解(必刷)
- 2025年度江西各地供电服务有限公司招聘考前自测高频考点模拟试题有答案详解
- 2025湖北襄阳市神农架林区审计局招聘投资审计专业技术人员2名考前自测高频考点模拟试题及参考答案详解
- 2025北京市公安局昌平分局勤务辅警招聘24人模拟试卷附答案详解(模拟题)
- 2025南通醋酸纤维有限公司招聘36人考前自测高频考点模拟试题完整答案详解
- 2025甘肃天水市武山县人力资源和社会保障局招聘城镇公益性岗位人员26人模拟试卷及答案详解(夺冠系列)
- 2025福建南平市山点水园林有限公司招聘及拟进入考前自测高频考点模拟试题附答案详解(完整版)
- 2025内蒙古赤峰市林西县“绿色通道”引进教师7人考前自测高频考点模拟试题及参考答案详解一套
- 2025福建漳州长泰区中医院招聘2人模拟试卷完整参考答案详解
- 本币交易员考试题库
- 安徒生童话题目及答案
- 胃食管反流病的健康教育指导讲课件
- 小儿腹股沟疝麻醉
- 宜宾党校考试试题及答案
- 2025年安徽省农业职业技能大赛(水生物病害防治员)备赛试题库(含答案)
- DB31T 444-2022 排水管道电视和声呐检测评估技术规程
- 演出冠名赞助合同协议
- (新版)智能楼宇管理员考试题库及答案
- 门窗安装工程培训课件
- 2025-2030中国完全同态加密行业市场发展趋势与前景展望战略研究报告
评论
0/150
提交评论