版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
杭州国际服务工程学院(信息科学与工程学院)本科生毕业设计(论文)正文
个人信用卡治理系统摘要随着我国经济的快速发,人们的出行活动越来月频繁,对行业服务和支付方式的快捷、便利的需求越来越高。在我国,信用卡业务进展十分迅猛,截止2011年末,我国信用卡新增发卡量5500万张,累计发卡量达2.85亿张,同比增长24.3%;交易笔数28.50亿笔,交易金额达7.56万亿元,较2011年分不增长18.75%和47.95%。由于信用卡的支付的方便、快捷,深受用户的喜爱,一名用户可能拥有多张信用卡。但在信用卡在给我带来便利的同时,银行同样要求持卡人必须保持一定期间的消费次数和额度,但在每次消费都需要繁杂的计算信用卡免息和最后还款日,一步留心信用卡过期还款或者还款金额不够。不但要承担高额的罚款,还会在信用报告中留下逾期记录,阻碍以后到银行贷款。因此开发一个个人信用卡治理系统是有十分的必要性,能够方便用户来治理自己的所拥有的信用卡,方便明了清晰的掌握自己信用卡的详细信息,提醒用户能在规定时刻内及时还款,幸免不必要的损失。论文对个人信用卡治理系统进行需求分析,提出了一个系统实现方案并予以设计和实现。系统利用Internet技术和先进JavaSeverPages(JSP)技术的优势,采纳B/S模式和MVC架构。关键词:信用卡,治理系统,MVC,JSP,B/S
PERSONALCREDITCARDMANAGEMENTSYSTEMABSTRACTWiththerapiddevelopmentofChina’stravelactivitiesbecomemoreandmorefrequent,theindustryserviceandquickpaymentandconvenientdemandalsobecomemoreandmorehigh.InChina,creditcardbusinessdevelopedrapidly.Bytheendof2011,China'snewcreditcardvolumeof55millioncardsamountedto285million,anincreaseof24.3%;pen2.85billionoftransactions,thetransactionamountedto7.56trillionyuanin2011,representinganincreaseof18.75%and47.95%.Duetotheconvenienceofcreditcardpayment,fast,arepopular,ausermayhavemultiplecreditcards..Butthecreditcardconveniencebroughtme,thebankalsorequiresthecardholdermustmaintainacertainperiodofconsumptionfrequencyandtheamountofinterest-free,butineveryconsumerneedcomplicatedcalculationofcreditcardandthefinalrepaymentdate,stepcarefullycreditcardslatepaymentorrepaymentamountisnotenough.Notonlyhavetobearthehighfines,overduerecordwillbeleftinthecreditreport,affectfuturetobankloans.Soitnecessarytodevelopapersonalcreditmanagementsystem,itcanmakesusereasilymanagetheirowncards,easytoknowtheircards’information。Thissystemremindusertobeabletopaytheirbilltimely.ThesystemutilizestheadvantagesofInternettechnologyandadvancedJavaSeverPages(JSP)technology,theuseofB/SmodeandMVCarchitecture.Keywords:CreditCard,ManagementSystem,MVC,JSP,B/S目录第一章 绪论 11.1引言 11.2研究要紧的内容和目标 11.3开发工具和运行环境介绍 11.3.1开发工具介绍 11.3.2运行环境介绍 21.4相关技术知识 21.4.1B/S结构模式 21.4.2MVC 31.4.3Struts 31.4.4Spring 41.4.5Hibernate 41.5术语定义 4第二章 可行性研究 52.1可行性研究 52.1.1技术可行性研究 52.1.2经济可行性 52.1.3操作可行性 62.1.4法律可行性 6第三章 需求分析 63.1系统功能分析 63.2系统流程图 8第四章 系统结构设计 84.1系统分析模型 84.2数据库设计 94.2.1数据库逻辑卷结构设计 94.2.2要紧涉及的数据库 94.3系统功能模块设计 11第五章 详细设计 125.1界面设计 125.1.1登录界面 125.1.2用户注册 135.1.3登录后界面 135.1.4添加信用卡 145.1.5添加银行信息 145.1.6添加消费记录 155.1.7添加信用卡的还款记录 155.1.7查询消费信息 155.1.8还款信息查询 165.1.9账单提醒 165.1.10密码修改 165.1.11个人信息修改 165.2编码设计 165.2.1登录部分代码 165.2.2信用卡部分代码 175.3部署方案 24第六章总结 25参考文献 26致谢 27绪论1.1引言信用卡起源于美国的二十世纪,以金属制成,使用场所和发行对象都特不有限。自1951年大来卡问世以来,奠定了现代信用卡的雏形基础。当时持卡人消费时只要出示卡片,该笔账务就能够由大来卡公司垫付,之后持卡人再将大来卡公司垫付的账款进行还款。近十年,信用卡在台湾真正得到较大规模的普及和进展,国际信用卡组织MasterCard(万事达卡)、VISA(威士卡)、AmericanExpress(美国运通卡)、DinnersCard(大来卡)、JCB(吉世美卡)等都在费尽心机攻占和抢占当今市场。从1979年,中行广东分行首先同香港东亚银行签订协议,开始代理东美信用卡业务。1985年中国银行在我国发行了第一张信用卡。信用卡在中国2003年开始流行。据统计部门分析,至2010年,我国信用卡的发卡量从300万张,增加到2.3亿张,是2003年信用卡发卡量的77倍【1】。据相关媒体报道,中国银行(601988)业协会近日公布了《2012年中国信用卡产业进展蓝皮书》,蓝皮书显示2011年我国信用卡新增发行量5500万张,累计发行量已达2.85亿张,交易笔数达到28.5亿笔,交易金额达7.56万亿元,连续了2010年的快速增长【2】。近段时刻内,新卡进展将会在发卡量上增速放缓,这比起之前几年的一味着重数量增长,是一个理性的进展策略。不再单纯在竞争发卡数量,而是对信用卡行业开始精耕细作。这将作为近时期信用卡进展的趋势【3】。在现今社会中,信用卡的用户一般拥有多张信用卡,因此对信用卡有效的治理和对信用卡信息的详细、准确的掌握,是十分有必要的。1.2研究要紧的内容和目标本系统的目的是方便用户治理个人的信用卡。要紧功能有:注册用户账户、用户的登录、用户新增信用卡操作、对信用卡额度的设置查询、信用卡还款查询、信用率查询、添加消费记录、还款提醒的功能。1.3开发工具和运行环境介绍1.3.1开发工具介绍(1)MyEclipseMyEclipse是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能特不强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。能够讲MyEclipse几乎囊括了目前所有主流开源产品的专属eclipse开发工具。(2)TomcatTomcat服务器是一个免费的开放源代码的Web应用服务器。Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。(3)MYSQLMySQL是一个开放源码的小型关联式数据库治理系统,开发者为瑞典MySQLAB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。1.3.2运行环境介绍名称版本语种服务器操作系统WindowsServer2003SP2中文客户端操作系统WindowsXP/7SP3中文数据库平台MySQL10G应用平台Tomcat6.x邮件系统无客户端软件InternetExplorerFireFoxChrome8.03.01.4相关技术知识1.4.1B/S结构模式B/S结构(Browser/Server,扫瞄器/服务器模式),是WEB兴起后的一种网络结构模式,WEB扫瞄器是客户端最要紧的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个扫瞄器(Browser),如NetscapeNavigator或InternetExplorer,服务器安装Oracle、Sybase、Informix或SQLServer等数据库。扫瞄器通过WebServer同数据库进行数据交互。传统的基于C/S(客户/服务器)机构的Windows引用程序总是让客户面临一些令人头疼的问题,如部署问题、升级困难、维护困难、安全性等。为了解决那个问题,同时伴随着Internet的高速进展,出现了基于Web服务器的B/S结构,客户端也就成了“瘦客户端”。这种形式的客户端结构,解决了许多与应用程序部署和维护相关联的问题。瘦客户端应用程序是在中央Web服务器上部署和更新的,因此,它们消除了,将应用程序的任何部分显式部署到客户计算机并加以治理的必要性。B/S模式是一种以Web技术为基础的新型的MIS系统平台模式。把传统C/S模式中的服务器部分分解为一个数据服务器与一个或多个应用服务器(Web服务器),从而构成一个三层结构的客户服务器体系。图1-1三层构架B/S模式的最大缺点是无法利用客户计算机充足的内存和强大的计算能力,单靠服务器全然无法承载需要耗费大量内存的计算能力。鉴于B/S相关于C/S的先进性,B/S逐渐成为一种流行的MIS系统平台。各软件公司纷纷推出自己的Internet方案,基于Web的财务系统、基于Web的ERP。一些企业差不多领先一步开始使用它,同时收到了一定的成效。B/S模式的新颖与流行,和在某些方面相关于C/S的巨大改进,使B/S成了MIS系统平台的首选。本系统也采纳B/S结构开发。1.4.2MVCMVC是Model-View-Controller的简写。"Model"代表的是应用的业务逻辑(通过JavaBean,EJB组件实现),"View"是应用的表示面(由JSP页面产生),"Controller"是提供应用的处理过程操纵(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件能够进行交互和重用。1.4.3StrutsStruts是Apache软件基金会(ASF)赞助的一个开源项目。它最初是Jakarta项目中的一个子项目,并在2004年3月成为ASF的顶级项目。它通过采纳JavaServlet/JSP技术,实现了基于JavaEEWeb应用的Model-View-Controller〔MVC〕设计模式的应用框架〔WebFramework〕,是MVC经典设计模式中的一个经典产品。在Struts中,差不多由一个名为ActionServlet的Servlet充当操纵器(Controller)的角色,依照描述模型、视图、操纵器对应关系的struts-config.xml的配置文件,转发视图(View)的请求,组装响应数据模型(Model)。在MVC的模型(Model)部分,经常划分为两个要紧子系统(系统的内部数据状态与改变数据状态的逻辑动作),这两个概念子系统分不具体对应Struts里的ActionForm与Action两个需要继承实现超类。在那个地点,Struts能够与各种标准的数据访问技术结合在一起,包括EnterpriseJavaBeans(EJB),JDBC与JNDI。在Struts的视图(View)端,除了使用标准的JavaServerPages(JSP)以外,还提供了大量的标签库使用,同时也能够与其他表现层组件技术(产品)进行整合,比如VelocityTemplates,XSLT等。通过应用Struts的框架,最终用户能够把大部分的关注点放在自己的业务逻辑(Action)与映射关系的配置文件(struts-config.xml)中。1.4.4SpringSpring框架提供了构建Web应用程序的全功能MVC模块。使用Spring可插入的MVC架构,能够选择是使用内置的SpringWeb框架还能够是Struts如此的Web框架。通过策略接口,Spring框架是高度可配置的,而且包含多种视图技术,例如JavaServerPages(JSP)技术、Velocity、Tiles、iText和POI。SpringMVC框架并不明白使用的视图,因此可不能强迫您只使用JSP技术。SpringMVC分离了操纵器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。1.4.5HibernateHibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了特不轻量级的对象封装,使得Java程序员能够为所欲为的使用对象编程思维来操纵数据库。Hibernate能够应用在任何使用JDBC的场合,既能够在Java的客户端程序使用,也能够在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate能够在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。图1-2采纳Struts+Spring+Hibernate3种框架整合技术的整体架构设计示图1.5术语定义【信用额度】指银行在批准你的信用卡的时候给予你信用卡的一个最高透支的限额,你只能在那个额度内刷卡消费,超过了那个额度就无法正常刷卡消费。信用额度是依据您申请信用卡时所填写的资料和提供的相关证明文件综合评定核定的,主卡、附属卡共享同一额度。一般情况下,双币信用卡的额度中人民币额度和美元额度是能够互相换算的,例如:您的额度是30,000人民币,当你在境外用卡时,您的信用额度就大约等值于5,000美元。信用额度将由银行定期进行调整,但您能够主动提供相关的财力证明要求调整信用额度。此外,当您在出国旅游、乔迁新居等情况在一定时刻内需要较高额度时,可要求调高临时信用额度。【第二额度】第二额度,也确实是所谓的要分期才用的上的额度,他是一个不占用你原本额度的一个外用额度。据了解目前支持分期使用第二额度的银行还有光大银行、中国银行。【交易日】持卡人实际用卡交易的日期。【记账日】又称入账日,是指持卡人用卡交易后,发卡银行将交易款项记入其信用卡账户的日期,或发卡银行依照相关约定将有关费用记入其信用卡账户的日期。【账单日】账单日是指发卡银行每月定期对持卡人的信用卡账户当期发生的各项交易、费用等进行汇总,并结计利息、计算持卡人当期应还款项的日期。【还款日】持卡人实际向银行偿还信用卡账款的日期。【免息还款期】非现金交易,从银行记账日起至到期还款日之间的日期为免息还款期。免息还款期最短20天,最长56天。在此期间,您只要全额还清当期对账单上的本期应还金额,便不用支付任何非现金交易由银行代垫给商店资金的利息(预借现金则不享受免息优惠)。【到期还款日】发卡银行规定的持卡人应该偿还其全部应还款或最低还款额的最后日期。可行性研究2.1可行性研究2.1.1技术可行性研究技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。基于J2EE技术的个人治理系统JSP进行开发,开发和调试相对简单,想在的电脑配置完全无压力的运行,因此在技术上是绝对可行的。软件方面:由于目前BS模式软件相对进展成熟,故软件的开发平台成熟可行,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。2.1.2经济可行性随着现在社会的快速进步和经济的告诉进展,人们的生活水平不断的提高,电脑和互联网差不多走进千家万户了,如此关于用户的使用成本大大的降低了,几乎能够不计。本系统是学校的毕业设计来开发的,在经济上的开发费用忽略不计,硬件上的成本知识自己的电脑、宽带、电费、书,这些费用都不大。因此经济上是可行的。2.1.3操作可行性该系统设计清晰,有良好的用户界面,操作简洁,有完善的异常处理机制和提示信息机制,用户只要简单看下讲明就能对系统能使用了,因此操作方面可行。2.1.4法律可行性(1)所查看的所有技术资料都为合法。(2)开发过程中没有知识产权问题。(3)本系统没有违反国家相关法律规定。综上所述,本系统的开发从技术上、从经济上、从法律上差不多上完全可靠的。需求分析3.1系统功能分析本系统要紧是方便信用卡用户治理所拥有的信用卡,及时掌握信用卡的信息。通过信用卡的治理系统建设,能实现对信用卡的信息治理,消费治理,让用户对自己的信用卡用详细的了解,提醒用户及时的还款。用户所拥有的功能如下图:图3-1用户的所拥有功能(1)账户治理:用户进行账户注册,用户的登录对账户信息进行修改,对密码进行修改,退出系统;用户注册:用户使用本系统时必须要有自己的账户,因此使用前必须先注册一个自己的账号来使用本系统,用户注册时候能够填写相关信息,也能够以后再填写,然而密码和账号一定要填写。用户登录:用户使用自己所注册过的账号进行登录,从而使用本系统来添加注册自己的信用卡,来治理自己所注册的信用卡。用户信息和密码:用户能够修改自己的用户信息和用户密码。(2)信用卡治理:用户登录后能够对账户下进行添加注册信用卡,对信用卡的信息进行添加,添加信用卡的消费信息,添加信用卡的还款信息,添加信用卡的银行信息,能够依照自己的需要对自己的信用卡的信息进行查询。信用卡的注册:用户添加信用卡的信息从而才能治理信息,设置指定信用卡的信用额度,账单日、还款日等信息。信用卡的消费信息添加:用户每消费一次信用卡,能够通过本系统对消费的信用卡进行消费信息登录,系统会录入消费金额和消费信息,从而生成相应的账单信息。信用卡还款信息添加:用户还款后能够对还款信用卡进行登记。消除账单提醒。信用卡信息查询:查询信用卡消费(还款)记录,依照信用卡卡号和消费(还款)日期来查询。信用卡的信息的编辑:在信用卡信息的表中有编辑按钮来选择要修改信息的信用卡。选择要修改信用卡后面的编辑按钮来编辑。信用卡删除:用户能够删除不需要的信用卡。(3)银行信息治理:用户在自己的账户能够为自己的信用卡天添加银行信息,用户还能够对差不多添加的银行信息进行修改。添加银行信息:用户能够添加相应的银行信息修改银行信息:用户能够修改相应的银行信息3.2系统流程图图3-2业务流程图系统结构设计4.1系统分析模型系统实现对个人信用卡的治理,用户对自己所拥有的信用卡进行治理是系统实现的要紧目标。用户必须拥有自己的帐号才能进行对自己的所拥有的卡进行注册和操作,信用卡有对应相应的银行信息,用户能够对银行信息进行添加设置,每张卡有相应的信息,如信用额度、使用金额、还款日、账单日、消费信息、还款信息。现将他们的关系E-R图画出:图4-1E-R图4.2数据库设计4.2.1数据库逻辑卷结构设计用户(账户ID,账号,密码,姓名,性不,年龄,电话号码,地址)信用卡(信用卡ID,信用卡卡号,信用卡名字,信用额度,账单日,还款日,使用金额,所属银行ID,用户ID)银行信息(银行ID,银行名字,客服号码,备注)消费信息(消费ID,消费日期,消费金额,对应账单日,对应还款日,备注,所属信用卡ID)还款信息(还款ID,还款日期,还款金额,备注,所对应还款日,所属的信用卡ID)4.2.2要紧涉及的数据库表4-1用户数据库表设计名称字段名数据类型主键非空账户IDuserIdintYESYES账号userNamevarcharNOYES密码userRealNamevarcharNOYES性不sexvarcharNONO年龄ageintNONO地址addressvarcharNONO电话号码phonevarcharNONO表4-2信用卡数据库表设计名称字段名数据类型主键非空信用卡IDcardIdintYESNO信用卡卡号cardNointNONO信用卡名字cardNamevarcharNONO信用额度cardMoneydoubleNONO账单日zdDatevarcharNONO还款日payDatevarcharNONO使用金额usedMoneydoubleNONO用户IDuseridintNONO银行IDbankIdintNONO表4-3银行数据库表设计名称字段名数据类型主键非空银行IDbankIdintYESNO银行名字bankNamevarcharNONO客服号码phoneintNOYES备注bankRemarkvarcharNOYES表4-4消费信息数据库表设计名称字段名数据类型主键非空消费IDoutIdintYESNO消费金额outMoneydoubleNONO消费日期outDatevarcharNONO还款日期outDateHkvarcharNONO账单日期outDateZdvarcharNONO备注outRemarkvarcharNOYES信用卡IDcardIdintNONO表4-5还款信息数据库表设计名称字段名数据类型主键非空还款IDinIdintYESNO还款金额inMoneydoubleNONO账单日期zdDatevarcharNONO备注inRemarkvarcharNOYES4.3系统功能模块设计图图4-2个人信用卡治理系统功能模块图详细设计5.1界面设计5.1.1登录界面图5-1登录界面那个是登录界面,用户使用自己的账户和密码来进行登录,假如登录失败会有相应的信息提示在登录框中显示,如用户不存在,密码错误等信息。图5-2登录错误信息—用户不存在5.1.2用户注册图5-3注册页面用户在登录界面点注册进入注册页面进行注册。5.1.3登录后界面图5-4系统主界面那个是用户正确登录后的界面。用户能够通过左边的导航栏进行相应的操作。5.1.4添加信用卡图5-5添加信用卡信息这是对信用卡信息进行添加,在发卡银行按钮那儿选择所属银行信息添加。添加卡号,和信用卡名称,每个月的还款日和账单日,信用卡信用额度等信息。5.1.5添加银行信息图5-6添加银行信息5.1.6添加消费记录图5-7添加消费记录用户在选择要添加的信用卡来添加这张卡的信用卡的消费信息,选择这张信用卡时候,信用卡的信用卡名称、信用卡卡号和账单日、还款日、信用额度都会在页面中显示,用户需要输入消费金额和消费时刻。5.1.7添加信用卡的还款记录图5-8添加还款记录相应的操作如添加消费记录功能差不多。5.1.7查询消费信息图5-9消费信息查询用户能够依照消费的卡卡号和时刻来查询相关信息。5.1.8还款信息查询图5-10还款信息查询用户可依照卡号和时刻来查询相应的还款的时刻5.1.9账单提醒图5-10账单提醒对还没有还款的账单打印出来,提醒用户哪些信用卡要进行还款,幸免额外的罚息。5.1.10密码修改图5-11密码修改用户要输入旧密码和重复确认输入新密码两次,确认新密码填写无误,在只有就密码正确和两次新密码填写一致的情况下才能修改密码。5.1.11个人信息修改用户在这张页面上能够进行信息修改。5.2编码设计5.2.1登录部分代码推断是否输入帐号和密码<script> functiondoAdd(){ if(document.login.userName.value==""){ alert("用户名不能为空。"); returnfalse; } if(document.login.userPwd.value==""){ alert("密码不能为空。"); returnfalse; } document.login.submit(); }</script>显示登录信息 <divclass="alertalert-info"> <s:iftest="#request.erro!=null"> <s:propertyvalue="#request.erro"/> </s:if> <s:else> 请输入用户名和密码 </s:else> </div>推断request获得是否为空值,为空值的时候div中显示“请输入用户名和密码”,否则就显示request中的erro属性5.2.2信用卡部分代码推断信用卡信息输入格式正确否<scripttype="text/javascript"> functiondoAdd() { if(document.getElementById("cardNo").value==""){ alert("请输入银行卡号!"); returnfalse; } if(document.addCard.cardName.value==""){ alert("请输入银行名称"); returnfalse; } if(document.addCard.cardMoney.value==""){ alert("请输入信用额度!"); returnfalse; } if(document.addCard.zdDate.value==""){ alert("请输入账单日期!"); returnfalse; } if(document.addCard.payDate.value==""){ alert("请输入还款日期!"); returnfalse; } if(isNaN(document.addCard.cardMoney.value)){ alert("请输入正确的信用额度"); returnfalse; } if(isNaN(document.addCard.zdDate.value)){ alert("请输入正确的账单日"); returnfalse; } if(isNaN(document.addCard.payDate.value)){ alert("请输入正确的还款日期"); returnfalse; } if(document.addCard.bankName.value==""){ alert("请选择发卡银行!"); returnfalse; } document.addCard.submit(); }</script>添加信用卡数据处理部分CardAction;publicStringaddCard()throwsIOException{ HttpServletRequestrequest=ServletActionContext.getRequest(); HttpServletResponseresponse=ServletActionContext.getResponse(); response.setContentType("text/html;charset=UTF-8"); request.setCharacterEncoding("UTF-8"); PrintWriterout=response.getWriter();// Userloginuser=mySession.get("loginuser");// System.out.println("user1!!"+loginuser.getUserId()); System.out.println("User"+card.getUserInfo().getUserId()); System.out.println("bank"+card.getBankInfo().getBankId()); CardSvcIfcardsvc=newCardSvcImpl(); if(cardsvc.addCard(card)){ out.print("<script>"); out.print("alert('添加成功!');"); out.print("window.location.href='/s2sh/card/addCard.jsp'"); out.print("</script>"); out.flush(); out.close(); System.out.println("1111"); return"success"; }else{ out.print("<script>"); out.print("alert('失败');"); out.print("window.location.href='/s2sh/card/addCard.jsp'"); out.print("</script>"); out.flush(); out.close(); return"failed"; } }CardDaoImpl: publicCardaddCard(Cardcard){ //TODOAuto-generatedmethodstub System.out.println("daocard"+card.getCardNo());// session.merge(card); session.save(card); returncard; }删除信用卡publicbooleandelCard(intcardId){ //TODOAuto-generatedmethodstub try{ Carddelcard=(Card)session.get(Card.class,cardId); session.delete(delcard); returntrue; } catch(Exceptione){ //TODO:handleexception returnfalse; } }修改信用卡信息 publicCardeditCard(Cardcard){ System.out.println("daocard"+card.getCardNo()); inti=card.getCardId(); CardnewCard=(Card)session.merge(card); session.update(newCard); System.out.println("daocar1111d"+card.getCardId()); returnnewCard; }查询信用卡信息通过卡号查询信用卡:publicList<Card>findCardByNo(intcardNo){ //TODOAuto-generatedmethodstub HttpServletRequestrequest=ServletActionContext.getRequest(); HttpSessionmysession=request.getSession(); UserloginUser2=(User)mysession.getAttribute("loginuser"); Stringhql="selectcFromCardcwherec.cardNo=?andc.userInfo.userId=?"; Queryquery=session.createQuery(hql); query.setParameter(0,cardNo); query.setParameter(1,loginUser2.getUserId()); List<Card>searchCard=(List<Card>)query.list(); returnsearchCard; }查询消费信息代码:通过卡号查询 publicList<OutInfo>findOutInfoByCard(intcardNo){ //TODOAuto-generatedmethodstub Stringhql="selectoutFromOutInfooutwhereout.cardInfo.cardNo=?orderbyout.outDate"; Queryquery=session.createQuery(hql); query.setParameter(0,cardNo); List<OutInfo>outinfo=(List<OutInfo>)query.list(); returnoutinfo; }同时使用卡号和日期查询: publicList<OutInfo>findOutInfoByCard_Date(intcardNo,Stringstart, Stringend){ //TODOAuto-generatedmethodstub Stringhql="selectoutFromOutInfooutwhereout.cardInfo.cardNo=?andout.outDatebetween?and?"; Queryquery=session.createQuery(hql); query.setParameter(0,cardNo); query.setParameter(1,start); query.setParameter(2,end); List<OutInfo>outinfo=(List<OutInfo>)query.list(); returnoutinfo; }通过消费日期查询: publicList<OutInfo>findOutInfoByDate(Stringstart,Stringend){ //TODOAuto-generatedmethodstub Stringhql="selectoutFromOutInfooutwhereout.outDatebetween?and?"; Queryquery=session.createQuery(hql); query.setParameter(0,start); query.setParameter(1,end); List<OutInfo>outinfo=(List<OutInfo>)query.list(); returnoutinfo; }生成账单代码 publicListListHKZD(Pagepage,intuserId){ //TODOAuto-generatedmethodstub Stringhql="selectout.outDateHk,max(out.outId),max(out.cardInfo.cardNo),max(out.cardInfo.cardName),max(out.cardInfo.bankInfo.bankName),"+ "max(out.cardInfo.zdDate),max(out.cardInfo.payDate),sum(out.outMoney),max(out.outDateZd)"+ "fromOutInfooutwhereout.cardInfo.userInfo.userId=?groupbyout.outDateHk"; Queryquery=session.createQuery(hql); query.setInteger(0,userId); List<OutInfo>list=query.list(); ArrayListlist12=newArrayList(); for(Iteratoriterator=list.iterator();iterator.hasNext();){ Object[]eles=(Object[])iterator.next(); HashMapmap=newHashMap(); map.put("outDateHk",eles[0]); map.put("outid",eles[1]); map.put("cardNo",eles[2]); map.put("cardName",eles[3]); map.put("bankName",eles[4]); map.put("zdDate",eles[5]); map.put("payDate",eles[6]); map.put("usedmoney",eles[7]); map.put("outDateZd",eles[8]); list12.add(map); } Stringcsql="selectdistinctout.outDateHkfromOutInfooutwhereout.cardInfo.userInfo.userId=?)"; System.out.println(page.getFirstResult()+"====="+page.getMaxResult()); Listlist2=session.createQuery(csql).setInteger(0,userId).list(); intcount=list12.size(); page.setTotalResult(count); returnlist12; }5.3部署方案图5-12部署方案第六章总结几个月来的学习和在这段时刻中完成的毕业设计,在这断时刻中紧张忙碌但又专门充实,学到了专门多平常没有在课堂上学到的知识,使我有机会对本专业的基础知识系统化的复习下,有了更进一步深入的了解和体会,对往常不能理解的知识有了新的理解,能将学到知识能真正的学以致用。在那个几个月中,我更加学会了如何去学习一项自己从遇到过的知识,并亲手自己去动手实践,不再停留在书上的理论,不在空谈。本系统采纳了基于B/S模式,MVC框架,基于JSP技术,使用Spring、Hibernate、struts来完成本系统的实现。采纳MYSQL数据库和TOM
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论