银行储蓄系统课程设计 JAVA数据库网络综合课程设计.doc

上传人:精*** 文档编号:851010 上传时间:2023-09-16 格式:DOC 页数:33 大小:528.32KB
下载 相关 举报
银行储蓄系统课程设计 JAVA数据库网络综合课程设计.doc_第1页
第1页 / 共33页
银行储蓄系统课程设计 JAVA数据库网络综合课程设计.doc_第2页
第2页 / 共33页
银行储蓄系统课程设计 JAVA数据库网络综合课程设计.doc_第3页
第3页 / 共33页
银行储蓄系统课程设计 JAVA数据库网络综合课程设计.doc_第4页
第4页 / 共33页
银行储蓄系统课程设计 JAVA数据库网络综合课程设计.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、 目 录 1 引 言11.1 问题的提出11.2国内外研究的现状11.3任务与分析12.程序的主要功能22.1注册功能22.2登录功能22.3 存取款操作22.4显示功能23 程序运行平台24 总体设计25 程序说明36 模块分析66.1 开户模块66.2 登录模块96.3 存取操作模块146.4 查看用户明细模块267 系统测试327.1 登陆界面327.2 注册界面327.3 用户存取操作界面337.4 用户信息和存款信息界面338 结论349 参考文献34I1 引 言 在计算机技术和网络技术没有得到全面普及以前,哥企业和行政单位,在办公时,都要记录大量的数据,这些数据还要保存到文档里,不

2、仅消耗大量的脑力,还要占据大量的空间。特别是银行工作人员在办理各项业务时,不仅需要大量的计算和统计,而且需要数据准确、精密。所以,工作人员在处理业务时,容易出现不可避免的错误。随着计算机技术和网络技术的快速发展,电脑和网络进入了行政企业,甚至平常家庭。因此,编写一个处理银行储蓄系统是很有必要的。进行计算机计算和管理储户信息,银行存款等数据。避免人为的造成错误工作。关键词:银行 储蓄 系统1.1 问题的提出在现代化的网络交流中,银行储蓄系统有着十分重要的作用。随着网络的不断发展,通过网络来进行的交易也不断的增多,比如网购、转账等。为了让用户能够更方便、快捷的进行各种操作。网络版的银行系统就成了主

3、流。这样,我们就可以随时随地的进行各种交易,不用像以前,还必须到相关银行进行办理,最主要的是人多,等也得等很久。有了这种银行储蓄系统,不仅方便了我们,还减小了银行的工作人员的压力。1.2国内外研究的现状 银行储蓄管理的主要作用是针对各类银行中的储蓄业务进行有效管理。银行储蓄式我们现实生活中常见的活动。就储蓄而言无论国内还是国外,也无论是哪家银行,虽然开展的业务类型有所不同,利息的计算也存在差异,但储蓄的本质是完全相同的。1.3任务与分析本课题主要的任务是通过jsp页面和servlet来访问数据库,同时对数据库进行增加、修改、删除、查询等基本操作。从需求分析来看,这个问题解决的实际问题应用广泛,

4、具有很大的实际意义,因此具有可行性。2. 程序的主要功能2.1注册功能任意用户都可以通过填写相关信息,如账号、密码、姓名和身份证号,来注册一个登录账号。2.2登录功能用户输入账号密码,就可登录系统。2.3 存取款操作能够实现定期存款、取款,活期存款、取款。2.4显示功能显示用户信息和存储信息,主要信息包括用户名,密码,姓名,身份证号码,定期存款信息,活期存款信息。3 程序运行平台开发工具:eclipse具体操作如下:打开eclipse,导入现有项目,打开数据库sql2005。运行程序。客户就可以进行注册、登录等操作。4 总体设计银行储蓄系统注册账号填写信息登录系统定期存取活期存取显示信息 图4

5、.1 系统总体框架图5 程序说明 model类的声明public class model private String uname;private String password;private String name;private String ids;public String getUname() return uname;public void setUname(String uname) this.uname = uname;public String getIds() return ids;public void setIds(String ids) this.ids = ids

6、;public String getName() return name;public void setName(String name) this.name = name;public String getPassword() return password;public void setPassword(String password) this.password = password; list1类的声明public class list1 private String uname;private float money;private int time;private Date end

7、;private float ll;public String getUname() return uname;public void setUname(String uname) this.uname = uname;public float getMoney() return money;public void setMoney(float money) this.money = money;public int getTime() return time;public void setTime(int time) this.time = time;public Date getEnd()

8、 return end;public void setEnd(Date end) this.end = end;public float getLl() return ll;public void setLl(float ll) this.ll = ll; list2类的声明 public class list2 private String uname;private float money;private Date start;private float ll;public String getUname() return uname;public void setUname(String

9、 uname) this.uname = uname;public float getMoney() return money;public void setMoney(float money) this.money = money;public Date getStart() return start;public void setStart(Date start) this.start = start;public float getLl() return ll;public void setLl(float ll) this.ll = ll; 6 模块分析6.1 开户模块用户点击注册,进

10、入注册页面。按要求输入相关用户信息。系统存入数据库。流程图如下:开始进入注册输入账号输入密码Y输入姓名N判空输入身份证注册结束思想:用户输入数据,提交前判断有无空值,有空值不提交,无空则提交给他的servlet,然后连接数据库,将数据存入数据库中。Register.jsp页面关键代码:function check() /检查用户名和密码是否录入var a=document.getElementById(uname); var b=document.getElementById(upass); var c=document.getElementById(pass); var d=document

11、.getElementById(name); var y=document.getElementById(ids);if (a.value=| b.value=|c.value=|d.value=|y.value=|(b.value!=c.value)window.alert(输入不正确,请重新输入!);return false;elsereturn true;Servlet页面代码:String uname,upass,pass,name,id;tryuname=request.getParameter(uname); /获得用户名和密码,为了防止空指针,进行了异常处理upass=reque

12、st.getParameter(upass);pass=request.getParameter(pass);name=request.getParameter(name);id=request.getParameter(ids);catch( NullPointerException e)System.out.println(非法传递参数);return;String url=jdbc:sqlserver:/localhost;integratedSecurity=true;databaseName=users; ;Connection con;try /必须进行异常处理Class.forN

13、ame(com.microsoft.sqlserver.jdbc.SQLServerDriver); /向虚拟机注册驱动SimpleDateFormat sdf = new SimpleDateFormat(yyyy-MM-dd);Date ti=new Date();con=DriverManager.getConnection(url); /建立连接String q=use users insert into users values(?,?,?,?) insert into huoqi values(?,0.0,?,0.02);PreparedStatement pstmt2 = con

14、.prepareStatement(q);pstmt2.setString(1,uname);pstmt2.setString(2, upass);pstmt2.setString(3, name);pstmt2.setString(4, id);pstmt2.setString(5, uname);pstmt2.setDate(6, new java.sql.Date(ti.getTime();int r=pstmt2.executeUpdate();request.getRequestDispatcher(login.jsp).forward(request, response);catc

15、h(Exception e)e.printStackTrace();6.2 登录模块用户输入账号,密码,就可以登录系统流程图如下:YN结束判空登录输入密码输入账号开始Login.jsp关键代码:function check() /检查用户名和密码是否录入if (document.getElementById(uname).value=| document.getElementById(upass).value=)window.alert(请输入用户名或者密码);return false;elsereturn true;var str=欢迎来到银行储蓄;var a=;var i=0;functi

16、on text()if(i=str.length) i=0; a=; if(istr.length) a=a+str.charAt(i);i+;document.getElementById(div2).innerHTML=a;Servlet关键代码:String uname,upass;tryuname=request.getParameter(uname); /获得用户名和密码,为了防止空指针,进行了异常处理upass=request.getParameter(upass);catch( NullPointerException e)System.out.println(非法传递参数);r

17、eturn;/设置jdbc的连接URLString url=jdbc:sqlserver:/localhost;integratedSecurity=true;databaseName=users; ;Connection con;try /必须进行异常处理Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver); /向虚拟机注册驱动con=DriverManager.getConnection(url); /建立连接String sql = use users select * from users where uname=? a

18、nd upass=?;PreparedStatement pstmt = con.prepareStatement(sql); /准备执行的pstmt.setString(1, uname); /设置用户名pstmt.setString(2, upass); /设置密码ResultSet rs=pstmt.executeQuery(); /执行查询if(rs.next() /如果记录集非空String q=use users select mmoney from huoqi where uname=?;PreparedStatement pstmt2 = con.prepareStatemen

19、t(q);pstmt2.setString(1,uname);ResultSet rs2=pstmt2.executeQuery();float money=0;if(rs2.next() money=rs2.getFloat(1); HttpSession session=request.getSession();session.setAttribute(uname, uname);request.setAttribute(money, money); request.getRequestDispatcher(operation.jsp).forward(request, response)

20、;else/登录失败request.setAttribute(info,用户名和密码错误);request.getRequestDispatcher(login.jsp).forward(request, response);catch(Exception e)e.printStackTrace();finallySystem.out.println(over!);6.3 存取操作模块如果定期存款,则输入金额和期限,如果定期取款、活期存款、取款,则输入金额。点击即可进行业务处理。开始流程图如下:活期取款活期存款定期取款查看明细定期存款页面跳转回到操作界面存取款操作关键代码:function c

21、heck1() /检查用户名和密码是否录入if (document.getElementById(a).value=| document.getElementById(time).value=)window.alert(请输入金额和期限!);return false;elsereturn true;function check2() /检查用户名和密码是否录入if (document.getElementById(b).value=)window.alert(请输入金额!);return false;elsereturn true; function check3() /检查用户名和密码是否录

22、入if (document.getElementById(c).value=)window.alert(请输入金额!);return false;elsereturn true;function check4() /检查用户名和密码是否录入if (document.getElementById(d).value=)window.alert(请输入金额!);return false;elsereturn true;几个servlet关键代码:定期存款代码:HttpSession session=request.getSession();String uname=(String)session.g

23、etAttribute(uname); float money=0;SimpleDateFormat sdf = new SimpleDateFormat(yyyy-MM-dd);Date ti=new Date();String k,j;tryj=request.getParameter(money); /为了防止空指针,进行了异常处理 k=request.getParameter(time);catch( NullPointerException e)System.out.println(非法传递参数);return;if(j.trim().equals() | k.trim().equa

24、ls() /服务器端检查,看是否为空request.setAttribute(infer1,请填写金额和期限);request.getRequestDispatcher(operate.jsp).forward(request, response);String url=jdbc:sqlserver:/localhost;integratedSecurity=true;databaseName=users; ;Connection con;try /必须进行异常处理Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver); /向虚拟

25、机注册驱动con=DriverManager.getConnection(url); /建立连接float h=new Float(j).floatValue();int tm=Integer.parseInt(k);long y=tm*365+ti.getTime();String sql = use users insert into dingqi values(?,?,?,?,0.025);PreparedStatement pstmt = con.prepareStatement(sql); /准备执行的查询pstmt.setString(1,uname );pstmt.setFloa

26、t(2,h );pstmt.setInt(3, tm);pstmt.setDate(4, new java.sql.Date(y);int rs=pstmt.executeUpdate();request.setAttribute(inter,操作成功!);request.getRequestDispatcher(change.jsp).forward(request, response);catch(Exception e)e.printStackTrace();定期存款代码:HttpSession session=request.getSession();String uname=(Str

27、ing)session.getAttribute(uname); float money=0;SimpleDateFormat sdf = new SimpleDateFormat(yyyy-MM-dd);Date ti=new Date();String j;tryj=request.getParameter(money); /为了防止空指针,进行了异常处catch( NullPointerException e)System.out.println(非法传递参数);return;String url=jdbc:sqlserver:/localhost;integratedSecurity=

28、true;databaseName=users; ;Connection con;float h=new Float(j).floatValue();try /必须进行异常处理Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver); /向虚拟机注册驱动con=DriverManager.getConnection(url); /建立连接String s1 = use users select mmoney,times from dingqi where endtime=h)x=1;break;if(i0&x=1)/钱够System

29、.out.println(money);PreparedStatement pstmt2=con.prepareStatement(use users delete from dingqi where ?=endtime insert into dingqi values(?,?,0,?,0.02) );pstmt2.setDate(1, new java.sql.Date(ti.getTime();pstmt2.setString(2,uname);float mo=money-h;pstmt2.setFloat(3,mo);pstmt2.setDate(4, new java.sql.Da

30、te(ti.getTime();int rs2=pstmt2.executeUpdate();elserequest.setAttribute(infer5,金额不足!请重新操作!);request.getRequestDispatcher(operate.jsp).forward(request, response);request.setAttribute(inter,操作成功!);request.getRequestDispatcher(change.jsp).forward(request, response);catch(Exception e)e.printStackTrace()

31、;活期存款代码:HttpSession session=request.getSession();String uname=(String)session.getAttribute(uname); float money=0;SimpleDateFormat sdf = new SimpleDateFormat(yyyy-MM-dd);Date ti=new Date();String j;tryj=request.getParameter(money); /为了防止空指针,进行了异常处理catch( NullPointerException e)System.out.println(非法传递

32、参数);return;String url=jdbc:sqlserver:/localhost;integratedSecurity=true;databaseName=users; ;Connection con;float h=new Float(j).floatValue();String s2=use users select mmoney,start,ll from huoqi where uname=?;try /必须进行异常处理Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver); /向虚拟机注册驱动con=Dri

33、verManager.getConnection(url); /建立连接PreparedStatement pstmt3= con.prepareStatement(s2); /准备执行的查询pstmt3.setString(1,uname );ResultSet rs3=pstmt3.executeQuery();float total=0;if(rs3.next()float mn=rs3.getFloat(1);Date t3=rs3.getDate(2);float l=rs3.getFloat(3);int y=(ti.getYear()-t3.getYear()*12*30+(ti

34、.getMonth()-t3.getMonth()*30;/获取时间差(单位天)mn=(mn*l*y)+mn;total=mn+h;elsetotal=h;System.out.println(total);System.out.println(uname);PreparedStatement pstmt2 = con.prepareStatement(use users update huoqi set mmoney=?,start=? where uname=?);pstmt2.setFloat(1, total); pstmt2.setDate(2,new java.sql.Date(t

35、i.getTime() );pstmt2.setString(3, uname);int rtn=pstmt2.executeUpdate();request.setAttribute(inter,操作成功!);request.getRequestDispatcher(change.jsp).forward(request, response);catch(Exception e)e.printStackTrace();活期取款代码:HttpSession session=request.getSession();String uname=(String)session.getAttribut

36、e(uname); float money=0;SimpleDateFormat sdf = new SimpleDateFormat(yyyy-MM-dd);Date ti=new Date();String j;tryj=request.getParameter(money); /为了防止空指针,进行了异常处理catch( NullPointerException e)System.out.println(非法传递参数);return;String url=jdbc:sqlserver:/localhost;integratedSecurity=true;databaseName=user

37、s; ;Connection con;float h=new Float(j).floatValue();try /必须进行异常处理Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver); /向虚拟机注册驱动con=DriverManager.getConnection(url); /建立连接String s2=use users select mmoney,start,ll from huoqi where uname=?;PreparedStatement pstmt3= con.prepareStatement(s2); /

38、准备执行的查pstmt3.setString(1,uname );ResultSet rs3=pstmt3.executeQuery();if(rs3.next()float mn=rs3.getFloat(1);Date t3=rs3.getDate(2);float l=rs3.getFloat(3);int y=(ti.getYear()-t3.getYear()*12*30+(ti.getMonth()-t3.getMonth()*30;/获取时间差(单位天)mn=(mn*l*y)+mn;float total=0;if(mnh) request.setAttribute(infer5

39、,金额不足!请重新操作!);request.getRequestDispatcher(operate.jsp).forward(request, response); elsetotal=mn-h;PreparedStatement pstmt2 = con.prepareStatement(use users update huoqi set mmoney=?,start=? where uname=?);pstmt2.setFloat(1, total); pstmt2.setDate(2,new java.sql.Date(ti.getTime() );pstmt2.setString(3, uname);int rtn=pstmt2.executeUpdate();r

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 技术资料 > 课程设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922