精华内容
下载资源
问答
  • 本科毕业论文设计 银行存取款系统的设计与实现 I 毕业设计论文原创性声明和使用授权说明 原创性声明 本人郑重承诺所呈交的毕业设计论文是我个人在指导教 师的指导下进行的研究工作及取得的成果尽我所知除文中特别加 ...
  • 本科毕业论文设计 银行存取款系统的设计与实现 I 毕业设计论文原创性声明和使用授权说明 原创性声明 本人郑重承诺所呈交的毕业设计论文是我个人在指导教 师的指导下进行的研究工作及取得的成果尽我所知除文中特别加 ...
  • 数据库课程设计在线银行系统设计实现转账功能实现,JSP数据库链接,日期获取ATM存取款功能实现,登出功能的实现登录注册功能实现,session跳转个人信息查询功能实现系统采用了可视化集成开发环境...
  • 数据库应用系统设计与实现 实验类型:设计型 实验地点:2楼312 实验时间:12月14日、21日周五1-3/5-7节 实验内容: 系统概述: 某银行需要开发ATM存取款系统实现如下功能: 1)开户(到银行填写开户申请单,卡号...
  • 银行ATM(取款机)系统系统代替银行柜面人员工作。可提取现金、查询存款余额、进行账户之间资金划拨、余额查询等工作;根据密码办理自动取款、查询余额、转账、存款、开户、挂失、更改密码、打印凭条、查询等...
  • 摘 要:随着银行业务的不断发展,出现了人们对于银行排队服务的日益不满,对此,项目组在基于当前银行叫号排队系统的基础上,设计银行叫号手机排队系统,该系统是为了满足广大储户办理存取款业务,实现方便快捷...
  • 银行储蓄系统 有mysql代码 整个项目包 以及课程设计文档。数据库用mysql来进行管理存储数据,后端用servlet写。主要实现的功能有注册登录,定期存钱取钱,活期存钱取钱。以及明细表。主要功能有: 1.用户注册 2....

    银行储蓄系统 有mysql代码 整个项目包 以及课程设计文档。数据库用mysql来进行管理存储数据,后端用servlet写。主要实现的功能有注册与登录,定期存钱取钱,活期存钱取钱。以及明细表。主要功能有:
    1.用户注册
    2.用户登录(余额查询、取款、存款、转账、个人操作记录查询)
    3.管理员登录(用户列表展示、用户信息修改、用户信息删除、用户冻结、解冻、添加用户)

    涉及到的知识点有:
    1.JDBC 2.Servlet 3.过滤器 4…EL与JSTL表达式

    项目结构:
    在这里插入图片描述
    操作主界面:在这里插入图片描述
    在这里插入图片描述
    主要界面:
    在这里插入图片描述
    在这里插入图片描述
    部分代码实现:loginservlet.java

    package com.hc.bank.servlet;
    
    @WebServlet("/LoginServlet")
    public class LoginServlet extends HttpServlet {
    
      private static final long serialVersionUID = 1L;
    
      @Override
      protected void doPost(HttpServletRequest request, HttpServletResponse response)
          throws ServletException, IOException {
        this.doGet(request, response);
      }
    
      @Override
      protected void doGet(HttpServletRequest request, HttpServletResponse response)
          throws ServletException, IOException {
        /** 设置编码 */
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");
        // 接收表单信息
        String user_name = request.getParameter("name");
        String password = request.getParameter("pass");
        String verifyc = request.getParameter("verifycode");
        /*回显 测试是否可以依靠回显设置在servlet之间进行数据的流动 此处设置了id,name,pass回显*/
        HttpSession session = request.getSession();
        request.setAttribute("user_name", user_name);
        request.setAttribute("password", password);
        request.setAttribute("verifycode", verifyc);
        // 获取验证码
        String svc = (String) request.getSession().getAttribute("sessionverify");
    
        if (user_name == null || user_name.trim().isEmpty()) {
          request.setAttribute("loginError", "用户名不能为空");
          request.getRequestDispatcher("login.jsp").forward(request, response);
          return;
        }
        if (password == null || password.trim().isEmpty()) {
          request.setAttribute("loginError", "密码不能为空");
          request.getRequestDispatcher("login.jsp").forward(request, response);
          return;
        }
        if (verifyc == null || verifyc.trim().isEmpty()) {
          request.setAttribute("loginError", "验证码码不能为空");
          request.getRequestDispatcher("login.jsp").forward(request, response);
          if (!svc.equalsIgnoreCase(verifyc)) {
            request.setAttribute("loginError", "* 验证码错误");
            request.getRequestDispatcher("login.jsp").forward(request, response);
            return;
          }
        }
    
        try {
          int i = ManagerImpl.getInstence().login(user_name, password);
          if (i == 1) {
            request.setAttribute("loginError", "*用户不存在,请重注册");
            request.getRequestDispatcher("login.jsp").forward(request, response);
          }
          if (i == 2) {
            request.setAttribute("loginError", "密码错误,请重新输入");
            request.getRequestDispatcher("login.jsp").forward(request, response);
          }
          if (i == 3) {
            request.setAttribute("loginError", "该账户已被冻结,请联系管理员");
            request.getRequestDispatcher("login.jsp").forward(request, response);
          }
          if (i == 4) {
            int user_id = ManagerImpl.getInstence().findIdbyName(user_name);
            request.getSession().setAttribute("user_id", user_id);
            request.getSession().setAttribute("user_name", user_name);
            response.sendRedirect("main.jsp");
          }
        } catch (Exception e) {
          e.printStackTrace();
        }
      }
    }
    

    百度网盘链接:

    链接:https://pan.baidu.com/s/1PryJyn9xAhUPfIPGS3kTSA
    提取码:hasv
    复制这段内容后打开百度网盘手机App,操作更方便哦

    展开全文
  • 系统:模拟实现一个无人值守ATM机系统。该系统能够提供用户识别,资金查询,存款与取款等功能。 主要功能: ⑴用户管理:建立客户文件,保存所用合法客户信息,对于请求使用ATM机客户,使用密码对其身份实施...
  • 3.2.3 数据表的设计 9 4系统详细设计 11 4.1管理员登入模块 11 4.2 银行业务查询 11 4.3开设账户 12 4.4 客户业务查询 14 4.5客户销户 14 4.6 客户/取款 16 4.7客户转账/贷款区 19 4.8客户还贷区 20 5 结束语 22 ...
  • 用java实现一个ATM机系统(2.0版)

    千次阅读 2021-01-02 15:08:55
    java实现银行ATM自助取款机,实现功能:用户登录、余额查询、存钱、取钱、转账(真)、修改密码、退出系统。 文章目录Java实现银行ATM机(2.0版)设计思路源码 设计思路 设计五个类包括测试类: 1,ATM类也是主要类...

    用java实现一个ATM机系统(2.0版)

    java实现银行ATM自助取款机,实现功能:用户登录、余额查询、存钱、取钱、转账、修改密码、退出系统。

    设计思路

    设计五个类包括测试类:
    1,ATM类也是主要的类,负责实现用户一系列的操作;
    2,Data类,作为ATM类的一个属性,主要实现从java文件user中获取用户全部信息,并返回要找的用户,再将修改完之后的用户信息写入文件中。
    这个类是ATM机与文件之间的桥梁;
    3,Bank类,有ATM机(has-a),欢迎用户来使用ATM机;
    4,User类,使用ATM机(use-a);
    5,Demo类,测试类,创建一个环境,让类产生关系。

    源码

    需要注意java文件user的位置,Data类要进行操作它。

    package newBank;
    
    import java.util.Scanner;
    
    //ATM类
    public class ATM {
        //有一个类操作数据的类
        private Data data = new Data();
        //ATM机里的数据
        private String userName;//用户账号且唯一
        private String userPassword;//用户密码
        private double userMoney;//用户账户里的钱
        private double money;//变量,存,取,转账的钱
        private String user;//使用该台ATM机的用户全部信息
    
        //ATM界面
        public void show(){
            System.out.println("欢迎使用ATM机");
            //使用登录方法,输入账号和密码
            int number = login();
            //如果登录成功
            if(number == 4)
                working();//ATM机办理业务
    
        }
        //登录方法
        private int login(){
            int number = 3;//用户输入次数
            while(number > 0) {
                Scanner input = new Scanner(System.in);
                System.out.println("请输入账号:");
                //输入账号
                String inUserName = input.nextLine();
                //输入密码
                System.out.println("请输入密码:");
                String inUserPassword = input.nextLine();
                String x = data.backUser(inUserName);
                //判断账户是否存在
                if(!x.equals("null")){
                    user = x;//获取用户所有信息
                    String[] str = user.split("\\*");//将用户信息分割
                    userName = str[0];//用户名
                    userPassword = str[1];//用户密码
                    userMoney = Double.parseDouble(str[2]);//用户余额
                    //密码正确
                    if(userPassword.equals(inUserPassword)){
                        System.out.println("登录成功");
                        number = 4;//次数变为4
                        break;
                    }
                }
                number --;//次数减一
                System.out.println("账号或密码输入错误。。。");
                System.out.println("您还有" + number + "次机会");
            }
            return number;//是否登录成功
        }
    
        //功能界面
        private void functionShow(){
            System.out.println("**********************");
            System.out.println("\t欢迎使用ATM");
            System.out.println("1,账户余额查询\n2,存钱\n3,取钱\n4,转账\n5,修改用户密码\n6,退出系统\n");
            System.out.println("**********************");
        }
    
        //用户要进行的操作
        private void working(){
            String index;//业务序号
            do{
                functionShow();//调用功能界面
                System.out.println("请输入要办理的业务序号:");
                Scanner input = new Scanner(System.in);
                index = input.nextLine();
                switch(index){
                    case "1":
                        look();
                        break;
                    case "2":
                        saveMoney();
                        break;
                    case "3":
                        getMoney();
                        break;
                    case "4":
                        giveMoney();
                        break;
                    case "5":
                        changePassword();
                        break;
                    case "6":
                        System.out.println("欢迎下次光临!");
                        user = changeUser(userName,userPassword,userMoney);
                        data.saveData(user,true);//用户退出后保存用户信息
                        break;
                    default:
                        System.out.println("您输入有误,请重新输入。。。。");
                }
            }while(!index.equals("6"));
        }
    
        //是否继续某项操作
        private boolean isContinue(){
            System.out.println("继续办理该项业务:请输入Y/y");
            System.out.println("返回上一级:请输入N/n");
            Scanner input = new Scanner(System.in);
            String str = input.nextLine();
            if(str.equalsIgnoreCase("Y"))
                return true;
            else
                return false;
        }
    
        //存钱,取钱,转账共用
        private void howMuch(String str){
            System.out.println("欢迎办理"+ str +"业务。。。。。。");
            System.out.println("请输入金额(只能是整数且是100的倍数,最多为10000):");
            Scanner input = new Scanner(System.in);
            Double money = input.nextDouble();
            if(money%10 != 0) {
                System.out.println("您输入有误!");
                this.money = 0;
            }
            else
                this.money = money;
        }
    
        //查询实现
        private void look(){
            System.out.println("用户余额为:" + userMoney);
            try{
                Thread.sleep(2000);
            }catch(Exception e){
                e.printStackTrace();
            }
        }
    
        //存钱实现
        private void saveMoney(){
            howMuch("存钱");
            if(money != 0) {//如果存的钱正确
                userMoney = userMoney + money;//存上
                System.out.println("已存入");
                look();//显示余额
            }
            if(isContinue())
                saveMoney();
        }
    
        //判断余额是否充足
        private boolean isEnough(){
            if(money <= userMoney){
                userMoney = userMoney - money;
                return true;
            }
            else{
                System.out.println("您的余额不足!");
                return false;
            }
        }
    
        //取钱实现
        private void getMoney(){
            howMuch("取钱");
            //如果取的钱正确且如果转账账户余额够
            if(money != 0 && isEnough()){
                look();
                System.out.println("请收好您的钱");
            }
            if(isContinue())
                getMoney();
        }
    
        //转账实现
        private void giveMoney(){
            //只判断用户账户是否存在
            Scanner input = new Scanner(System.in);
            System.out.println("请输入要转账账号:");
            //输入账号
            String inUserName = input.nextLine();
            String str = data.backUser(inUserName);
            //如果该账户存在
            if(!str.equals("null")) {
                String antherUser = str;//获取被转账账户所有信息
                String[] str1 = antherUser.split("\\*");//分割
                Double x = Double.parseDouble(str1[2]);//获取被转账账户余额
                howMuch("转账");
                //如果转的钱正确且如果转账账户余额够
                if (money != 0 && isEnough()) {
                    x = x + money;
                    antherUser = changeUser(str1[0], str1[1], x);//改变被转账账户信息
                    data.saveData(antherUser,false);//将用户信息传给Data类保存被转账账户信息
                    System.out.println("转账成功");
                    look();
                }
            }
            else
                System.out.println("被转账账户不存在。。。");
            if(isContinue())
                giveMoney();
        }
    
        //修改密码实现
        private void changePassword(){
            System.out.println("请输入新密码:");
            Scanner input = new Scanner(System.in);
            userPassword = input.nextLine();
            System.out.println("密码修改成功!");
        }
    
        //办完业务后修改用户信息
        private String changeUser(String n,String w,Double d){
            String str = n + "*" + w + "*" + d;
            return str;
        }
    }
    
    
    package newBank;
    
    import java.io.*;
    import java.util.HashMap;
    import java.util.Map;
    import java.util.Set;
    
    //数据类是文件和ATM机之间操作用户信息的桥梁
    public class Data {
        //Map储存数据库里所有用户的全部信息
        Map<String,String> userData = new HashMap();
        //返回用户的信息
        private String user;
    
        //创建数据类加载所有用户信息
        public Data(){
            getUsers();
        }
    
        private void getUsers(){
            String str;
            String[] string;
            File file = new File("src\\newBank\\user");
            FileReader fileReader = null;
            BufferedReader bufferedReader = null;
            try{
                fileReader = new FileReader(file);
                bufferedReader = new BufferedReader(fileReader);
                while((str = bufferedReader.readLine())!=null){
                    string = str.split("\\*",2);
                    userData.put(string[0],string[1]);
                }
            }catch(Exception e){
                e.printStackTrace();
                if((fileReader!=null)&&(bufferedReader!=null)){
                    try {
                        bufferedReader.close();
                        fileReader.close();
                    } catch (IOException e1) {
                        e1.printStackTrace();
                    }
                }
            }
        }
    
        //告诉用户名,如果找到返回该用户所有信息,没找到返回null
        public String backUser(String userName){
            String str = "null";
            if(userData.containsKey(userName))
                str = userName + "*" + userData.get(userName);
            user = str;
            return user;
        }
        //修改用户数据并储存在userData图里
        public void saveData(String user,boolean aBoolean){
            String[] string = user.split("\\*",2);
            userData.remove(string[0]);
            userData.put(string[0],string[1]);
            if(aBoolean)//判断用户是否操作结束
                changeUser();
        }
    
        //用户操作完,将userData里所有的用户再写入文件里
        private void changeUser(){
            String str,string="";
            Set<String> keys = userData.keySet();
            for(String key : keys){
                str = key + "*" + userData.get(key);
                string = string + str + "\n";
            }
            File file = new File("src\\newBank\\user");
            FileWriter out = null;
            try {
                out = new FileWriter(file);
                out.write(string);
                out.flush();
            } catch (IOException e) {
                e.printStackTrace();
            }finally{
                if(out != null){
                    try {
                        out.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    }
    
    
    package newBank;
    
    //银行类
    public class Bank {
        //银行有ATM机供给用户使用
        private ATM atm = new ATM();
        //欢迎用户使用
        public void welcome(User user){
            System.out.println("欢迎用户来我行使用ATM机");
            user.useATM(atm);
        }
    
    }
    
    
    package newBank;
    
    //用户类
    public class User {
        //用户使用ATM机办理业务
        public void useATM(ATM atm){
            atm.show();
        }
    }
    
    //java文件当数据库
    李四*123*1000.0
    张三*456*10000.0
    王五*789*100000.0
    
    
    package newBank;
    
    //测试类
    public class Demo {
    
        public static void main(String[] args){
            //创建一个银行
            Bank bank = new Bank();
            //创建一个用户
            User user = new User();
            //银行欢迎用户
            bank.welcome(user);
    
        }
    }
    
    
    展开全文
  • http://img.pconline.com.cn/images/pconline/dlc/dlc_img/20082/21/1203565517329.jpg<br><br><br>软件简介: <br>迅潮进销软件 是广西南宁市迅潮科贸有限责任公司专门为中小型商铺零售而设计的一种货物管理...
  • 1、科普的观点 操作系统是计算机系统的管理和控制中心,它依照设计者制定的各种调度策略组织和管理计算机系统资源,使之能高效地运行。 2、功能的观点 操作系统是一个计算机资源管理系统,它负责计算机系统的全部...
  • 《小超工程项目管理系统》是小超软件为中小型施工企业打造项目管理整体解决方案...专业实施人员,自定义的系统设计,可按你需求进行高效实施,快速帮助你企业进入全新项目管理时代,开创企业高速成长未来
  • 我们到银行存取款时, 银行工作人员将根据我们帐号去找我们存款单, 找到之后在存单上写入存款、取款金额。在这里,帐号就是存单指针, 存款数是存单内容。对于一个内存单元来说,单元地址即为指针, ...
  • 6. 计算机专业课程在线考试管理系统的设计 随着考试类型的不断增加及考试要求的不断提高,传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,人们迫切要求进行在线考试,以...
  • java源码包---java 源码 大量 实例

    千次下载 热门讨论 2013-04-18 23:15:26
    例如,容易实现协议的设计。 Java EJB中有、无状态SessionBean的两个例子 两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等;...
  • 例如,容易实现协议的设计。 Java EJB中有、无状态SessionBean的两个例子 两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等;在...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
    例如,容易实现协议的设计。 Java EJB中有、无状态SessionBean的两个例子 两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等;...
  • 事务处理原理 第2版

    热门讨论 2012-12-30 10:49:38
    可帮助读者理解事务处理系统的内部情况,并描述了它们的工作原理以及如何最佳地使用它们。包括应用服务器的体系结构、事务通信范式,以及事务故障和系统故障的恢复机制。  《事务处理原理(第2版)》第1版发行以来的...
  • java源码包2

    千次下载 热门讨论 2013-04-20 11:28:17
    例如,容易实现协议的设计。 Java EJB中有、无状态SessionBean的两个例子 两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等;...
  • java源码包3

    千次下载 热门讨论 2013-04-20 11:30:13
    例如,容易实现协议的设计。 Java EJB中有、无状态SessionBean的两个例子 两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等;...
  • java源码包4

    千次下载 热门讨论 2013-04-20 11:31:44
    例如,容易实现协议的设计。 Java EJB中有、无状态SessionBean的两个例子 两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等;...
  • 例如,容易实现协议的设计。 Java EJB中有、无状态SessionBean的两个例子 两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等;在...
  • 例如,容易实现协议的设计。 Java EJB中有、无状态SessionBean的两个例子 两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等;在...
  • 介绍了应用Visual Basic进行程序开发多方面知识和技巧,主要包括Visual Basic多媒体开发、数据库应用、网络技术Web开发、安全防护入侵破解、打印技术报表图表、程序控制磁盘管理和系统与硬件设备等...
  • 介绍了应用Visual Basic进行程序开发多方面知识和技巧,主要包括Visual Basic多媒体开发、数据库应用、网络技术Web开发、安全防护入侵破解、打印技术报表图表、程序控制磁盘管理和系统与硬件设备等...

空空如也

空空如也

1 2
收藏数 27
精华内容 10
关键字:

银行存取款系统的设计与实现