java+mysql 银行信息管理系统MVC架构

1.包含源程序,数据库脚本。代码和数据库脚本都有详细注释。
2.课题设计仅供参考学习使用,可以在此基础上进行扩展完善
开发环境:

 代码已经上传github,下载地址:https://github.com/21503882/bank-info
Eclipse ,MYSQL,JDK1.8,Tomcat 8.5
涉及技术点:
MVC模式、SpringBoot、Mybatis、Redis、HTML、log4j、druid、Bootstrap、
Semantic UI、Thymeleaf、JavaScript、CSS、JQUERY、Ajax等
适合学习J2EE的一段时间的熟手,代码思路清晰,注解详细,数据库用的是mysql5.1,服务器用的tomcat8.5,JDK版本1.8. 编程软件Eclispe J2EE版本。是典型MVC架构,并且前后台分离  
图5-1 登录界面

 
图5-3查看储户信息界面

储户开户信息界面


 
留言问题管理


已开户储户登录界面

储户修改密码界面

package com.linxf.ticketsale.controller;

import com.linxf.ticketsale.pojo.Passenger;
import com.linxf.ticketsale.pojo.User;
import com.linxf.ticketsale.service.UserService;
import com.linxf.ticketsale.util.Md5Util;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import javax.annotation.Resource;
import javax.servlet.http.HttpSession;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Controller
@RequestMapping("/userController")
public class UserController {

    private static final Logger LOG = Logger.getLogger(UserController.class);

    @Resource
    private UserService userService;

    // 跳转到用户登录页面
    @RequestMapping("/loginUi.action")
    public String loginUi() {
        return "WEB-INF/jsp/user/loginUi.jsp";

    }

    // 跳转到用户注册页面
    @RequestMapping("/registerUi.action")
    public String registerUi() {
        return "WEB-INF/jsp/user/register.jsp";

    }

    // 用户注册
    @RequestMapping("/register.action")
    public ModelAndView register(User user) {
        int result = 0;
        user.setPassword(Md5Util.md5(user.getPassword() + Md5Util.KEY));// 密码加密
        ModelAndView modelAndView = new ModelAndView();
        try {
            result = userService.resister(user);
        } catch (Exception e) {
            LOG.info("UserController.register失败 e:" + e);
            e.printStackTrace();
        }
        LOG.info("UserController.register uid:" + user.getUid());
        if (result > 0) {
            modelAndView.addObject("msg", "注册成功!请登录");
            modelAndView.setViewName("WEB-INF/jsp/user/loginUi.jsp");
        } else {
            modelAndView.addObject("msg", "注册失败!该用户名已存在");
            modelAndView.setViewName("WEB-INF/jsp/user/register.jsp");
        }
        return modelAndView;
    }

    // 用户登录验证
    @RequestMapping("/logIn.action")
    public ModelAndView logIn(User user, HttpSession session) throws Exception {
        ModelAndView mv = new ModelAndView();
        User resultUser = new User();
        if (user == null) {
            mv.addObject("msg", "请输入用户名和密码!");
            mv.setViewName("WEB-INF/jsp/user/loginUi.jsp");
            return mv;
        } else {
            user.setPassword(Md5Util.md5(user.getPassword() + Md5Util.KEY));// 密码加密
            String userName = user.getUserName();
            if (userName.length() > 12 || userName.length() < 2) {
                mv.addObject("msg", "用户名或密码长度不规范!");
            } else {
                resultUser = userService.checkLogin(user);
                if (resultUser == null) {
                    mv.addObject("msg", "用户名或密码错误!");
                    mv.addObject("userName", userName);
                    mv.setViewName("WEB-INF/jsp/user/loginUi.jsp");
                } else {
                    session.setAttribute("loginUser", resultUser);
                    mv.setViewName("WEB-INF/jsp/user/usermessage.jsp");
                }
            }
        }
        return mv;
    }

    // 通过登录的用户获取用户信息
    @RequestMapping("/findUserByName.action")
    @ResponseBody
    public User findUserByName(String name) {
        User user = null;
        try {
            user = userService.findUserByName(name);
        } catch (Exception e) {
            LOG.info("findUserByName方法出错:" + e);
            e.printStackTrace();
        }
        return user;

    }

    // 修改用户信息
    @RequestMapping("/updateUser.action")
    public ModelAndView updateUser(int uid, String phone, String address, HttpSession session) {
        User user = new User();
        user.setUid(uid);
        user.setPhone(phone);
        user.setAddress(address);
        ModelAndView model = new ModelAndView();
        if (phone.length() != 11) {
            model.addObject("msg", "输入的手机长度必须为11位");
            model.addObject(address);
            model.addObject(phone);
            model.setViewName("WEB-INF/jsp/user/usermessage.jsp");
        } else {
            try {
                userService.updateUser(user);
                user = userService.findUserById(uid);
            } catch (Exception e) {
                LOG.info("updateUser方法出错:" + e);
                e.printStackTrace();
            }
            model.addObject("msg", "用户信息修改成功!");
            user.setUid(uid);
            session.setAttribute("loginUser", user);
            model.setViewName("WEB-INF/jsp/user/usermessage.jsp");
        }
        return model;
    }

    // 修改用户密码
    @RequestMapping("/updatePass.action")
    @ResponseBody
    public ModelAndView updatePassword(int uid, String oldpass, String password,HttpSession session) {
        ModelAndView model = new ModelAndView();
        User user = new User();
        user.setUid(uid);
        user.setPassword(Md5Util.md5(password + Md5Util.KEY));// 密码加密
        oldpass = Md5Util.md5(oldpass + Md5Util.KEY);
        String pass = null;
        try {
            pass = userService.findUserById(uid).getPassword();
            if (!oldpass.equals(pass)) {
                model.addObject(oldpass);
                model.addObject("msg", "原密码错误");
                model.setViewName("WEB-INF/jsp/user/password.jsp");
            } else if (oldpass.equals(pass)) {
                userService.updatePass(user);
                model.addObject("msgpass", "修改成功!请重新登录");
                model.setViewName("WEB-INF/jsp/user/loginUi.jsp");
            }
        } catch (Exception e) {
            LOG.info("updatePassword方法出错:" + e);
            e.printStackTrace();
        }
        user.setUid(uid);
        session.setAttribute("loginUser", user);
        return model;
    }

    // 通过登录用户查询乘客
    @RequestMapping("/findPassenger")
    @ResponseBody
    public List<Passenger> findPassenger(int uid) throws Exception {
        List<Passenger> list = userService.findPassenger(uid);
        return list;
    }

    // 帐号校验
    @RequestMapping("/logInName.action")
    @ResponseBody
    public String logInNanme(String name) {
        User regUser = null;
        try {
            regUser = userService.findUserByName(name);
        } catch (Exception e) {
            LOG.info("logInNanme方法出错:" + e);
            e.printStackTrace();
        }
        if (regUser != null) {
            return null;
        }
        return "该用户名已存在";
    }

    // 密码校验
    @RequestMapping("/logInPwd.action")
    @ResponseBody
    public String logInPwd(String pwd) {
        if (5 < pwd.length() || pwd.length() < 10) {
            return null;
        } else {
            return "输入的密码长度为5到10位";
        }

    }

    // 电话号码校验
    @RequestMapping("/phone.action")
    @ResponseBody
    public String checkphone(String phone) {
        if (phone.length() == 13) {
            return null;
        } else {
            return "输入的帐号格式不正确";
        }
    }

    // 跳转到乘客信息页面
    @RequestMapping("/topassenger.action")
    public String toPassenger() {
        return "WEB-INF/jsp/user/passenger.jsp";
    }

    // 跳转到密码页面
    @RequestMapping("/topassword.action")
    public String toPassword() {
        return "WEB-INF/jsp/user/password.jsp";
    }

    // 跳转到用户信息
    @RequestMapping("/tousermessage.action")
    public String toUsermessage() {
        return "WEB-INF/jsp/user/usermessage.jsp";

    }

    // 跳转到管理员登陆界面
    @RequestMapping("/toAdminLogin.action")
    public String toAdminLogin() {
        return "WEB-INF/jsp/admin/login.jsp";
    }

    // 跳转到注册页面
    @RequestMapping("/toregister.action")
    public String toRegeister() {
        return "WEB-INF/jsp/user/register.jsp";
    }

    // 跳转到后台管理主页-top.jsp
    @RequestMapping("/toTop.action")
    public String toTop() {
        return "WEB-INF/jsp/admin/top.jsp";
    }

    // 跳转到后台管理主页-left.jsp
    @RequestMapping("/toLeft.action")
    public String toLeft() {
        return "WEB-INF/jsp/admin/left.jsp";
    }

    // 跳转到后台管理主页-index1.jsp
    @RequestMapping("/toIndex1.action")
    public String toIndex1() {
        return "WEB-INF/jsp/admin/index1.jsp";
    }

    // 管理员登录
    @RequestMapping("/adminLogIn.action")
    public ModelAndView adminLogIn(User user, HttpSession session) {
        ModelAndView mv = new ModelAndView();
        User resultUser = new User();
        if (user == null) {
            mv.addObject("msg", "请用输入用户名和密码!");
            mv.setViewName("WEB-INF/jsp/admin/login.jsp");
            return mv;
        } else {
            try {
                user.setPassword(Md5Util.md5(user.getPassword() + Md5Util.KEY));// 密码加密
                user.setUtype(1);
                resultUser = userService.checkLogin(user);
            } catch (Exception e) {
                LOG.info("adminLogIn方法出错:" + e);
                e.printStackTrace();
            }
            if (resultUser == null) {
                mv.addObject("msg", "用户名或密码错误!");
                mv.setViewName("WEB-INF/jsp/admin/login.jsp");
            } else { // 登陆成功
                session.setAttribute("adminUser", resultUser);
                mv.setViewName("WEB-INF/jsp/admin/main.jsp");
            }
        }
        return mv;
    }

    // 管理员退出
    @RequestMapping("/adminExit.action")
    public String adminExit(HttpSession session) {
        session.removeAttribute("adminUser");
        return "WEB-INF/jsp/admin/login.jsp";
    }

    // 用户退出
    @RequestMapping("/userExit.action")
    public String userExit(HttpSession session) {
        session.removeAttribute("loginUser");
        return "WEB-INF/jsp/user/loginUi.jsp";
    }

    // 天转到后台管理页面
    @RequestMapping("/toAdmin.action")
    public String toAdmin() {
        return "WEB-INF/jsp/admin/main.jsp";
    }

    // 添加乘客
    @RequestMapping("/addpassenger.action")
    public ModelAndView addpassenger(String trueName, String idCard, int role, int uid) {
        ModelAndView mv = new ModelAndView();
        // 封装乘客信息
        Passenger passenger = new Passenger();
        // 添加到用户信息中
        User user = new User();
        user.setUid(uid);
        // 接受返回值
        Passenger resPassenger = null;
        Passenger pass = null;
        try {
            pass = userService.findPassengerByIdcard(idCard);
            if (pass == null) { // 数据库中不存在此乘客
                passenger.setTrueName(trueName);
                passenger.setIdCard(idCard);
                passenger.setRole(role);
                userService.addpassenger(passenger, user);
                resPassenger = passenger;
                mv.addObject("resmsg", "添加成功!");
                mv.addObject("passenger", resPassenger);
            } else {
                String realname = pass.getTrueName();
                if (!realname.equals(trueName)) {
                    mv.addObject("resmsg", "该乘客的真实姓名输入有误!");
                    mv.addObject("cardNumber", idCard);
                } else { // 数据库中已有此乘客
                    if (realname.equals(trueName)) {
                        mv.addObject("resmsg", "该乘客在列表中已存在!");
                    } else {
                        int pid = pass.getPid();
                        passenger.setPid(pid);
                        List<Passenger> list = new ArrayList<>();
                        list.add(passenger);
                        user.setPassengerList(list);
                        userService.upUserToPassen(user);// 用户关联乘客
                        resPassenger = pass;
                        mv.addObject("passenger", resPassenger);
                    }
                }
            }
        } catch (Exception e) {
            LOG.info("addpassenger方法出错:" + e);
            e.printStackTrace();
        }
        mv.setViewName("WEB-INF/jsp/user/passenger.jsp");
        return mv;
    }

    // 添加乘客--订单页面异步添加
    @RequestMapping("/addpas.action")
    @ResponseBody
    public Map<String, Object> addpas(String trueName, String idCard, int role, int uid) {
        // 封装乘客信息
        Passenger passenger = new Passenger();
        // 添加到用户信息中
        User user = new User();
        user.setUid(uid);
        // 接受返回值
        Map<String, Object> map = new HashMap<>();
        Passenger pass = null;
        try {
            pass = userService.findPassengerByIdcard(idCard);
            if (pass == null) { // 数据库中不存在此乘客
                passenger.setTrueName(trueName);
                passenger.setIdCard(idCard);
                passenger.setRole(role);
                userService.addpassenger(passenger, user);
                map.put("resmsg", "添加成功!");
                map.put("pid", passenger.getPid());
            } else { // 数据库中已有此乘客
                String realname = pass.getTrueName();
                if (!realname.equals(trueName)) {// 数据库中已有此乘客,姓名不同
                    map.put("resmsg", "该乘客已存在,与输入的姓名不符!");
                } else { // 数据库中已有此乘客
                    if (realname.equals(trueName)) {
                        map.put("resmsg", "该乘客已存在!");
                    } else {// 数据库中已有此乘客,未关联
                        int pid = pass.getPid();
                        passenger.setPid(pid);
                        List<Passenger> list = new ArrayList<>();
                        list.add(passenger);
                        user.setPassengerList(list);
                        userService.upUserToPassen(user);// 用户关联乘客
                        map.put("resmsg", "添加成功!");
                        map.put("pid", pid);
                    }
                }
            }
        } catch (Exception e) {
            LOG.info("addpas方法出错:" + e);
            e.printStackTrace();
        }
        return map;
    }

    // 删除用户的某个乘客
    @RequestMapping("/deletepassenger.action")
    @ResponseBody
    public Map<String, String> deletepassenger(int uid, int pid) {
        Map<String, String> map = new HashMap<String, String>();
        try {
            userService.deletepassenger(uid, pid);
        } catch (Exception e) {
            e.printStackTrace();
        }
        map.put("msg", "删除成功!");
        return map;
    }

    // 修改乘客的类型
    @RequestMapping("/updateType.action")
    @ResponseBody
    public Map<String, String> updateType(Passenger passenger) {

        Map<String, String> map = new HashMap<String, String>();
        try {
            userService.updateType(passenger);
        } catch (Exception e) {
            e.printStackTrace();
        }
        map.put("msg", "修改成功!");
        return map;
    }

}
 代码已经上传github,下载地址:https://github.com/21503882/bank-info

发布了38 篇原创文章 · 获赞 10 · 访问量 4163

猜你喜欢

转载自blog.csdn.net/QQ21503882/article/details/101519982