




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
攀枝花学院本科毕业设计(论文)毕业设计(论文)题目ATM机银行存取款系统的设计与实现学生姓名: 学生学号: 院 (系) 年级专业: 指导教师: 刘X X 教授 助理指导教师: 李X X 讲师 二一三年六月摘 要随着不断发展的计算机科学技术,整个科学的发展得到了不断的推动和发展,经济信息化和社会信息化的进程得到了明显的加快。社会95%的公司的日常办公已经离不开计算机技术和软件技术。不管是国内还是国外的银行大都花大成本去发展银行自动取款机(ATM),以提高工作效率和降低成本。自动取款机又称ATM,是Automatic Teller Machine的缩写,意思是自动柜员机,因大部分用于取款,又称自动取款机。它是一种高度精密的机电一体化装置,利用磁性代码卡或智能卡实现金融交易的自助服务,代替银行柜面人员的工作。可提取现金、查询存款余额、进行账户之间资金划拨、余额查询等工作;还可以进行现金存款(实时入账)、支票存款(国内无)、存折补登、中间业务等工作。本系统采用MyEclipsc作为系统开发工具,使用Java语言编写程序,通过连接Oracle数据库,编写和模拟银行最基本的存款、取款、转账操作,其架构为B/S结构。可实现用户注册、登录、存款、取款、转账、查询、修改密码和该用户所有的存取款和转账记录的功能。关键词:注册,登陆,存取款,转账,历史记录Abstract With the development of computer science and technology development, the development of science is to promote and develop continuously, economic information and social information process has been significantly accelerated. Social 95% of the companys daily office already cannot do without computer technology and software technology. Whether domestic or foreign banks mostly spend a great cost to develop bank automatic teller machine (ATM), in order to improve work efficiency and reduce the cost. ATM is also called ATM, is Automatic Teller Machine acronym, meaning the ATM, as most for the money, also known as automatic teller machine. It is a highly sophisticated mechanical and electrical integration devices, card to realize the self-service financial transactions using magnetic code card or smart, instead of the bank counter staff. Can withdraw cash, query deposits, funds transfer between accounts, balance inquiries and other work; can also be used for cash deposits (real-time recorded), check deposit (no), passbook board meeting, the intermediate business etc. The system uses MyEclipsc as the system development tool, the use of Java programming language, the Oracle database connection, compilation and Simulation of bank deposits, withdrawals, the most basic transfer operation, the structure of B/S structure. Can realize the user registration, login, deposits, withdrawals, transfers, query, modify the password and the user all the access and transfer money recording function. Key words:Registration,Login, Deposit,Transfer,History32 商丘师范学院2012届本科毕业论文(设计)绪论现代意义上的自动取款机发明人是英国的谢泼德巴伦。谢泼德1925年出生在苏格兰的罗斯郡,毕业于爱丁堡大学。20世纪60年代中期,他是德拉路仪器公司的经理。有一天,他在洗澡时突发灵感。“我常常因为不去银行取不到钱而恼火,为什么不设计一种24小时都能取到钱的机器呢”他见到英国巴克莱银行的总经理,让对方给他90秒时间来听他介绍这个主意,结果对方在第85秒就给了答复:“只要你能把这种机器造出来,我们马上买。” 一年后,谢泼德成功了。1967年6月27日,世界上第一台自动取款机在伦敦附近的巴克莱银行分行亮相。最初,顾客从自动提款机中一次只能取10英镑,因为当时10英镑已足够普通家庭维持周末了。随着市场经济的快速发展,不断深入的经济信息化程度,传统的银行业务已经越来越不能满足银行客户们的需求可。同时,随着国内大量增加的银行机构,我国的银行业面临更加激烈的同行竞争,如何能吸引更多的客户,如何提供更多的经融产品和更加优质的服务,如何使用计算机技术加强对银行账户信息的管理,如何提高银行的业务竞争能力和工作的效率是一个非常迫切需要解决的摆在各家银行面前的问题。Java是一个广泛使用的编程语言,是一种新的计算概念。1995年让全世界程序员都为之疯狂的Java诞生了。Java与以往的任何一种语言都有着无可比拟的优势。Java是一种简单、面向对象、分布式、解释、健壮、安全、结构中立、可移植、高效能、动态的语言。目前,Java已得到了全世界主要计算机软硬件厂商的支持,在计算机领域中得到了广泛应用。本银行存取款系统是基于Java程序设计的,是通过网页模拟银行存取款的管理。一切为使用者着想是设计的指导思想,界面要美观大方,操作尽量简单明了,要有良好的容错性是一个实用的管理系统要具备的,如果出现操作失误时能尽量及时地给出警告,以便用户及时地改正。鉴于本系统的特殊性,还需要本程序有良好的保密性。1银行存取款系统概述1.1背景随着我国金融电子化建设的深入发展和银行客户对金融服务质量要求的提高,自动柜员(ATM机)在金融行业的应用越来越广泛,自动柜员机(ATM机)在拉近客户与银行之间的距离,扩展营业网点,改善用卡环境,提供全天候、全方位的金融服务,降低经营成本,提高金融行业的服务质量和综合竞争实力等方面正发挥着不可替代的作用。 ATM机采用异步转移模式的特征是信息的传输、复用和交换都以信元为基本单位。异步是指属于同一用户的信元并不一定按固定的时间间隔周期性地出现。ATM信元是固定长度的分组,共有53个字节,分为2个部分。前面5个字节为信头,主要完成寻址的功能;后面的48个字节为信息段,用来装载来自不同用户,不同业务的信息。ATM交换是指把入线上的ATM信元,根据其信头上的VPI(虚路径标识符)和VCI(虚通路标识符)转送到相应的出线上去,从而完成交换传送的目的。由于ATM技术简化了交换过程,去除了不必要的数据校验,采用易于处理的固定信元格式,所以ATM交换速率大大高于传统的数据网,如x.25,DDN,帧中继等。此外对不同业务赋予不同的特权,如语音的实时性特权最高,一般数据文件传输的正确性特权最高,网络对不同业务分配不同的网络资源。1.2ATM使用的注意事项 1要严格按ATM的电脑屏幕提示进行操作。不要轻信ATM旁张贴的所谓“告示”或“通知”,更不要按照通知、告示的要求进行操作,必要时可拨打银行服务热线咨询(如农行95599)或向警察求助。2要妥善保管好银行卡密码。任何情况下都不要将自己的密码泄露给他人,即使对方宣称自己是银行工作人员;在输入密码时最好是用手或身体遮挡住,以防密码被窥窃。 3要谨防“热心人帮助”,不要轻易相信陌生人。不法分子往往会一边冒充“好心人”,帮助持卡人操作ATM,一边偷窥密码或乱按键盘造成ATM吞卡假象,伺机盗取密码或银行卡。4要弄清ATM吞卡原因,不要急于离开。一般来说,ATM正常吞卡是因为:信用卡超过有效期限或账户已被冻结;持卡人在ATM上操作完毕后30秒内没有把卡取回;密码错误超过三次(含三次);操作失误或机器故障也可能造成吞卡。ATM正常吞卡,机器会吐出吞卡凭条,屏幕也会有吞卡提示,持卡人可持凭条到管理行领卡。 1.3意义ATM机(自动柜员机)的诞生,对于广大的用户来说,对于以前必须要到定点的银行柜台办理的转账、取款、查询余额等业务,都可以在大街小巷的只有固定取款机前就可以进行办理。对银行来说,自从有了自动柜员机(ATM机)的开通,必将大大提高银行的工作效率,不仅仅可以为银行节省大量的柜台服务人员而且能够极大程度的方便用户朋友们,进而极大程度的降低生产和经营成本。2银行存取款系统需求分析2.1系统需求该系统是一套相似于ATM机的模拟银行系统存取款的计算机软件,本系统采用B/S结构来实现,使用Java语言来编程,当顾客在网页界面进行存、取款、转账操作后,对应的信息会在数据库内进行更新和保存,以方便广大的用户朋友选择查询相应想知道的信息。2.2功能需求根据系统的需求分析,本系统的功能要求如下:2.2.1用户注册和登陆功能新用户必须先要注册,注册时需要填写用帐号和密码; 老用户直接输入帐号和密码就可以登陆,通过读取后台数据库,获得该用户的信息,如果用户不存在则会提示错误。2.2.2用户存取款转账和查询历史功能用户在登录成功后,可以选择存款、取款、查询余额、转账、修改密码或者查询历史记录六项业务,系统会自动进行各种计算,然后将结果返回给用户并将信息存入数据库。 2.3软件属性需求 本系统为银行存取款管理系统,要求程序具有一定的可移植,可扩展,安全性、保密性!2.4业务流程描述3银行存取款系统技术支持3.1B/S架构优势 B/S架构的最大优点就是只需要有一台能够上互联网的电脑或笔记本就可以在任何地方不需要安装任何专门的软件就能够进行操作,零安装、零维护的客户端。系统非常容易的扩展,方便以后加入更多的功能。由于用越来越多软件都使用B/S结构,从而推动了由需求的AJAX和Java技术等的发展,B/S架构的程序也可以在电脑的客户端上进行部分处理,比如说表单的验证,这样就大大的减轻了服务器的负担;而且增加了相互的交互性,能够进行局部的实时的刷新。3.1.1B/S架构同C/S架构的区别1硬件环境不同:C/S 架构一般在专用的网络上建立,网络环境的范围小,在局域网之间再通过专门服务器提供数据的交换和连接服务。B/S架构一般在广域网之上建立,网络硬件环境没有特定的需求,例如可以租用设备、电话上网,信息是自己管理。有更强的适应范围,平常只需要操作系统和浏览器就行。 2对安全要求不同 C/S架构一般面向的用户群相对固定,信息安全的安全性控制能力很强。高度机密的信息系统一般都是采用C/S 结构。但是可以通过B/S来发布部分或则可公开信息。B/S 架构由于建立在广域网之上, 对信息的安全性控制能力是相对较弱,面向的用户可能是不可知的。3软件重用不同 C/S架构的程序对于整体性考虑是可以不可避免, 构件在重用性是不如在B/S架构要求下的构件的重用性好。B/S 架构是多重结构,相对独立的构件。重用性是相对较好的。就如餐桌买来了就可以再利用,而不是做在墙上的石头桌子。4系统维护不同 C/S架构的程序必须整体考察,是由于整体性,在出现问题的处理以及系统升级方面是非常困难的。这样就可能必须再做一个全新的系统。B/S 是由构件组成,可以更换个别方面的构件,系统的升级可以做到无缝隙。对于维护系统方面将开销降低到最小。要实现升级只需要用户在网上自己下载和安装就可以。3.2.Java编程语言的八大优势 1. Java是目前使用最为广泛的网络编程语言之一。它拥有简单,面向对象,稳定,与平台无关,解释型,多线程,动态等特点。2.Java 语言简单是说该门语言不仅好学而且非常好用。不能误解认为为这门语言很干瘪就是简单。可能你是非常赞同这样的观点 英语虽然比朝鲜语言更容易学。但是英语也能表达深刻的思想和丰富的内容,比如英文用作许多文学若贝尔奖的作品的编写。你如果对C+语言有所了解,就应该感觉到 Java非常的眼熟,这是因为 Java中大部分的基本语句的语法都是同C+相似和一样,但是请不要误解认为 Java 就只是 C+的增补版和加强版,Java 同C+是完全独立的两种语言,它们都有各自的优势,也会长期并存下去,软件开发者应当掌握Java 语言和 C+语言两种语言。如果在语言的简单性方面来看,Java肯定是要比 C+简单,C+中会出现许多的混淆的概念,或者Java都弃之不用了,或者用一种更容易理解更加清楚的的方式实现来替代,例如,Java就封装了指针的概念。3.基于对象的编程是更贴合人们的思维模式即面向对象,人们编写程序就更加的容易。在现实生活中,对象是我们时时刻刻都在在打交道的。我们用的手机,骑的电动车,乘坐的出租车等。而我们经常见到的小车,火车,飞机等都会涉及到以下几个重要的物理量可,它们运行的速度,能乘载的人数,发动机的功率,每公里的耗油量,他们本身的自重,有多个轮子等。另外,它们的加速功能,减速功能,转弯,刹车功能等都是几个重要的功能。这些功能我们是可以把统称是它们具有的方法,它们的状态描述就是物理量。但是只用功能或物理量是不能更完整描述它们的。在实际生活中,我们将这些共同拥有的属性和功能给它们一个概念机动车类。一个具体的公共汽车就是机动车类的一个对象,实例 。Java 语言同其它的面向对象语言是一样,引入了用来创建对象模板的类的概念,它包含了对被创建的对象的方法和状态描述的定义。4.Java与平台无关是它最大的优势。其它语言编写的程序都将面临的一个主要问题就是操作系统的变化,在处理器的升级和核心系统资源的改化,都有可能会导致程序出现错误,严重者甚至无法运行。Java的虚拟机就成功地化解了这个问题,只要在任何安装了 Java虚拟机 JVM 的计算机上Java编写的程序可以都可以无误的运行,Sun公司完成了自己的目标 “一次编写成功,处处都能运行”。5.我们都知道C+,C等语言,只有对特定的CPU芯片才能进行编译的,是通过生成机器代码,运行生成的机器代码都和特定的CUP有关。例如,在C语言中,我们都遇到过类似下面的问题 int 型变量的值是10 ,但是在下面代码中输出结果会什么呢 printf(“%d,%d”,x=x+1,x)如果上述语句的计算顺序是从右到左,那么结果是 10,11 但是,有些机器会从左到右计算,那么结果就是10,10。Java不同C+,它是不针对特定的CPU芯片进行编译,而是把程序编译为称做字节码的一个“中间代码”。字节码是很类似于机器码的文件,能够在提供了 Java 虚拟机 JVM 的任何系统上被解释执行。解释执行是Java 被设计成为的程序,即翻译了一句,就执行一句,中间是不产生全部的机器代码程序。只要翻译的过程不出现错误,那么就将一直进行到完毕,否则就会停在错误处停止执行。对于同一个程序,如果是解释执行的,那么它的运行速度一般情况下相对于编译成可执行的机器代码的运行速度可定是要慢一些。然而,对Java来说,两者的差别是不会太大,经过了仔细设计Java的字节码,使用JIT 即时编译方式的编译技术将字节码直接转换成高性能的本地机器码就更加的容易了,Sun 公司在 Java 2发行版中就支持这样一个字节码编译器JIT(Just In Time),它是Java虚拟机的一部分。Java运行系统具有平台独立性即使在提供了JIT的,对此“高效且跨平台”对于Java来说是不矛盾的。6. 对多线程的支持是Java 的特点之一是内置的。即多线程能支持同时完成多个任务。但是多线程能同事支持多个任务同时执行只是错觉,因为,到目前为止的计算机的处理器在同一时刻只能执行一个线程,但是处理器是可以在不同的线程之间非常快速地切换,速度非常快的处理器速度,是远远超过了人们收集信息的速度,这样就给人好象多个任务在同时执行的现象。C+是没有内置的多线程机制,进行多线程程序的设计只能调用操作系统的多线程功能来实现。7.从网络上下载一个程序时,程序中含有大量的恶意代码是非常困扰人们的,例如试图读取本地机上的一些重要信息或删除重要的文件,甚至该程序是一个病毒程序等。如果你是使用兼容Java的浏览器时,不必担心病毒的感染和恶意的企图,你就可以放心地运行Java的小应用程序 Java Applet ,因为Java小应用程序只能在 Java运行环境中,是不允许它去访问计算机的其它部分。8.类是动态 Java 程序的基本组成单元,类可以自己编写,也可以从类库中引入的,然而类是运行时动态装载的,这样 Java 就可以动态地维护程序及类库即使在分布环境中,而不同 C+那样,只要其类库有升级,以之对应的程序都必须重新修改和编译。3.3Oracle数据库优势3.3.1Oracl同Sybase SQL Server的比较 ORACLE和Sybase SQL Server的比较,并行服务器模式是Oracle采用的,虚拟服务器模式是Sybase SQL Server采用的,Sybase SQL Server不可以将一个查询分解成多个子查询,然后在不同的CPU上同时来执行这些子查询。在对称多处理方面Oracle的性能可以说是优于Sybase的性能。系统运行后业务量往往不断提高,当数据库数量达到GB以上时,我们在提高系统的性能方面可以从多方面入手,其一是增加服务器数目,还有就是提高单台服务器的性能等。对于此,假如我们是选择提高单台服务器的性能,那么Oracle 数据库较好,这是因为它们在对称多CPU的系统上提供并行处理。但是,由于Sybase的导航服务器使网上的所有用户都注册到导航服务器并通过导航服务提出数据访问请求,用户的请求由导航服务器分解,然后自动导向由它所控制的多台SQL Server,进而在分散数据的前提上提供并行处理能力,我们就选择它。这些都是在其他条件和环境相同的情况下比较的,这样才有可比性。在数据的分布更新方面,基于服务器的自动的2PC(两阶段提交) 是Oracle采用的,基于客户机DB-Library或CT-Library的可编程的2PC则是Sybase采用的,所以在选择数据库方面,我们必须根据需要进行选择。Oracle服务器由Oracle实例和Oracle数据库组成。Oracle实例由系统全局区内存结构和用于管理数据库的后台进程组成。3.3.2Oracle的特点1、完整的数据管理功能:a.数据具有共享性b.数据具有可靠性c.数据具有大量性d.数据具有保存的持久性2、完备关系的产品:a具有保证访问的准则b. 数据具有物理性和逻辑性的独立准则c. 信息准则-关系型DBMS逻辑上用一种方法操作所有信息,即值显式地在表中表示;d. 视图更新准则-如果形成视图的表中的数据了变化,那么对应的视图中的数据也同时变化3.3.3 Oracle的优点 a.具有很强的可扩展性 b. 具有很强的稳定性c. 具有很强的可用性 d. 数据具有安全性4银行存取款系统总体设计4.1系统设计概述本系统使用MyEclipse8.5作为开发工具,采用Oracle作为后台数据库,操作界面使用网页代替,数据库中会记录所有用户的所有操作记录,简单清新的用户界面,合理严谨的功能,为了力求使用户有更好的操作。4.2注册帐户 填写注册信息(用户姓名、用户姓名(拼音)、密码、身份证号、性别、开户省市、是否是VIP),其中卡号是自动增长的不需要填写,用户姓名(拼音)是26位英文字母,密码是0-9的阿拉伯数字且数字长度为6,余额和透支额度是0-9的阿拉伯数字,注册成功后,把用户信息存进数据库,可以选择是否成为VIP,透支不同额度。4.3登录输入卡号和密码首先进行页面验证,然后根据输入的卡号和密码从数据库中获取内容进行验证,如果存在卡号和密码同后台数据库中的内容一样,则登录成功;如果输入卡号在数据库中不存在,则会提示没有此卡号;如果输入的卡号存在但是输入的密码和后台的不一致,则会提示密码错误;登录成功后可进行存款、取款(快捷取款和手动输入取款)、转账、查询交易明细、修改密码、查询余额;4.4取款取款分为自动取款和手动输入取款,自动取款直接点击相应的页面金额;手动输入取款需要对输入的金额做验证,如果是字母、负数或其他则会提示输入请输入0-9的数字。取款成功后,在数据库中会有一条相应的交易记录供用户进行查询!当余额和透支余额小于取款金额,要会提示,余额不足且操作不成功。(自动取款和手动输入取款都要输入开户的省、市以便模拟不同地方的卡在不同地方取款会收取手续费)4.5存款存款只有手动输入的存款金额并且对输入的金额进行验证,如果是字母、负数或其他则会提示输入请输入0-9的数字,反之会提示操作成功成功,后台数据库修改余额信息,同样也会有一条存款交易记录供用户查询!4.6转账输入对方帐号可以进行转账,首先对输入的帐号和金额进行页面验证,帐号必须全为0-9的数字,如果是字母、负数或其他怎会提示输入错误,金额同帐号的验证一致。然后根据输入的帐号在后台数据库进行查询,如果数据库内存在该帐号,则对输入的金额同自己的余额和透支余额的总和做比较,如果输入的金额小于和等于余额和透支余额的总,则会提示操作成功,自己帐号余额减少相应的金额,转入帐号余额增加对应的金额,并且双方都会有一条交易记录供查询;如果输入的金额大于于余额和透支余额的总,则会提示余额不足。4.7查询交易明细点击查询交易明细则显示用户从注册开始的所有的存款、取款、转账操作时间和操作记录,让用户能清晰明了的知道自己的交易。4.8修改密码 输入原密码,对原密码和新密码进行页面验证,必须全为0-9的数字长度为6位,然后根据后台数据库查询的内容做比较,如果同输入密码相同,则修改原来的密码为新密码,提示操作成功,后台数据库修改相应的信息,如果同输入的密码不一致,则提示原密码错误。4.9查询余额 用户可以在取款、转账前查询余额看是否有足够的余额,取或则转款相应的金额,也可以在取款、转账后查询自己还有多少金额。最主要的还是看取款、转账后金额是否正确,确保用户的权益的到保护。5 Oracle数据库的设计5.1 Oracle数据库设计概论Oracle Database,简称Oracle。是甲骨文公司的一款关系数据库管理系统。是目前全球最流行的数据库。在大多数的银行存取款系统的设计中,使用了Oracle作为存储信息和读取信息的工具是最为普遍的。5.2 表的结构设计在本银行存取款系统的设计中,我们建立了用户表、用户交易表和用户交易类型表用于存储信息;5.2.1用户表Users用户表用于存储用户的卡号、密码、余额、注册信息等,当用户注册成功后这些信息会自动记录在数据库中,以便用户查询。1 用户注册 Users名称字段名类型备注用户id PKUsidNumber(20)卡号 FKUscardNumber(20)密码UspasswordVarchar2(32)姓名UsnameVarchar2(32)姓名(拼音)Usname1Varchar2(32)性别UssexVarchar2(32).女 男身份证UsidentifyCardVarchar2(32)开户省UsprovinceVarchar2(32)开户市UscityVarchar2(32)VIPUsvipVarchar2(32)否.是透支额度UsoverdraftNumber(7,2)余额UsbalanceNumber(15,2)表3-1 用户表5.2.2用户交易表历史表用于存储用户从注册开始的所有用户操作,历史表中的字段HUMING与用户表中的字段HUMING是外键关系,以实现2个表之间的关联。表3-2 用户交易表2 用户交易类型 Deals名称字段名类型备注交易 id PKDidNumber(20)用户卡号 DcardNumber(20)交易时间DtimeVarchar2(32)交易额度DdealMoneyNumber(20)是否转账DtransferAcountsVarchar2(32).否 .是转入卡号DtransferCardNumber(20)5.3 交易手续费类型表 根据用户在注册帐号是的开户省市,我们分我同省不同市和不同省两种汇率类型。表5-2 用户交易表3交易手续费类型表 Rate名称字段名类型备注汇率id PKRidNumber(20)汇率类型 RtypeNumber(3)汇率值 RrateValueNumber(3,2)5.4 数据库的建立存储极大地方便了对数据库的增删改查等操作,因此创建与用户表对应的存储过程4.4.1用户表的建立(Users)create table users( Usid number(20) primary key,-主键 Uscard number(20) not null,-卡号 Uspassword varchar2(32) not null,-密码 Usname varchar2(32) not null,-姓名 Usname1 varchar2(32) not null,-姓名(拼音) Ussex varchar2(32) not null,-性别 UsidentifyCard varchar2(32) not null,-身份证号码 Usprovince varchar2(32) not null,-开户省 Uscity varchar2(32) not null,-开户市 Usvip varchar2(32) not null,-是否是VIP Usoverdraft number(7,2) not null,-透支额度 Usbalance number(15,2) not null-余额 );5.4.2用户交易表的建立-用户交易表DEALS-create table deals( Did number(20) primary key,-主键 Dcard number(20) not null,-卡号 Dtime varchar2(32) not null,-交易时间 DdealMoney number(20) not null,-交易金额 DtransferAcount varchar2(32) not null,-是否转账 DtransferCard number(20) -转入帐号);5.4.3交易手续类型表的建立-汇率表RATES-create table rates( Rid number(20) primary key,-主键 Rtype number(3) not null,-汇率类别 RrateValue number(3,2) not null-汇率值);6 银行存取款系统的实现 6.1用户登陆模块的实现6.1.1界面样式图3-1用户登陆界面6.1.2功能实现(部分代码)登陆功能loginpackage cn.pzhu.servlet.register;import java.io.IOException;import java.io.PrintWriter;import java.math.BigDecimal;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import cn.pzhu.domain.Users;import cn.pzhu.service.impl.registerServiceImpl;import er.registerService;public class loginServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException doPost(request, response);public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException HttpSession session = request.getSession(true); registerService rs = new registerServiceImpl(); String card = request.getParameter(card);/获取卡号String password = request.getParameter(password);/获取密码BigDecimal card1 = new BigDecimal(Integer.parseInt(card);/将卡号转为bigdecimalList list = rs.queryUserExist(card1);Users user = null;String msg =;if(list.size() = 0)msg=帐号不存在;request.setAttribute(msg, msg);request.setAttribute(card, card1);request.getRequestDispatcher(/login.jsp).forward(request, response);elseuser = list.get(0);if(password.equals(list.get(0).getUspassword() )session.setAttribute(userCard, list.get(0).getUscard();request.getRequestDispatcher(/functionPage1.jsp).forward(request, response);elseSystem.out.println(密码错误);msg=密码错误;request.setAttribute(msg, msg);request.setAttribute(card, card1);request.getRequestDispatcher(/login.jsp).forward(request, response); 6.2新用户注册模块的实现新用户在登陆界面点击注册按钮后调转到注册界面。6.2.1界面样式图3-2 新用户注册界面6.2.2功能实现(部分代码)注册功能registerpackage cn.pzhu.servlet.register;import java.io.IOException;import java.math.BigDecimal;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import cn.pzhu.domain.Users;import cn.pzhu.service.impl.registerServiceImpl;import er.registerService;public class registerServlet extends HttpServlet private static final long serialVersionUID = 1L; private registerService rs = new registerServiceImpl();public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException doPost(request, response);public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException request.setCharacterEncoding(utf-8); response.setCharacterEncoding(utf-8);response.setContentType(text/html;charset=utf-8);String name = request.getParameter(name);/获取姓名String name1 = request.getParameter(name1);/获取姓名(拼音)String sex = request.getParameter(sex);/获取性别String identifyCard =request.getParameter(identifyCard);/获取身份证号码String card = request.getParameter(card);/获取卡号String password = request.getParameter(password);/获取密码String province = request.getParameter(province);/获取开户省String city = request.getParameter(city);/获取开户市String vip = request.getParameter(vip);/获取vipString overdraft = request.getParameter(overdraft);/获取透支金额String balance = request.getParameter(balance);/获取透支金额BigDecimal card1 = new BigDecimal(Integer.parseInt(card);/将卡号转为bigdecimalBigDecimal overdraft1 =new Bi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度电商平台运营团队入职培训合同范本
- 二零二五年度光纤宽带接入与宽带提速服务合同
- 二零二五年度国际广告宣传代理合同
- 2025版建筑渣土运输与污水处理服务合同范本
- 二零二五版美容院员工培训与技术交流合同
- 二零二五版海外房地产项目劳务派遣劳动合同
- 2025版咖啡厅租赁合同书(含人力资源管理与培训)
- 2025电商产品研发与运营合作协议书0814
- 2025版房地产广告代理服务与技术支持合作协议
- 二零二五年度返聘研发人员知识产权保护合同
- 腮红画法教学课件
- 二零二五版便利店员工劳动合同模板
- 弱电设备运输方案模板(3篇)
- 2025-2030中国重水市场运行态势与未来竞争力剖析报告
- 企业职工感恩教育
- GB 17051-2025二次供水设施卫生规范
- 品牌管理部组织架构及岗位职责
- 临沧市市级机关遴选真题2024
- 【物化生 高考西北卷】2025年高考招生考试真题物理+化学+生物试卷(适用陕西、山西、青海、宁夏四省)
- 2025-2030中国工控机(IPC)行业应用态势与前景动态预测报告
- 人员出差审批管理制度
评论
0/150
提交评论