二手车交易管理系统的设计与实现 (含源码+sql+视频导入教程)

👉文末查看项目功能视频演示+获取源码+sql脚本+视频导入教程视频

1 、功能描述

  二手车交易管理系统拥有两种角色

  管理员:车辆管理、用户管理、回复管理、类别管理、品牌管理、评估查询、售后查询、需求查询、询价查询、预约管理等
  
用户:注册登录、预约车辆、联系平台、发布买车需求、发布车辆出售信息、车辆询价、查看买车需求、分类查询等

1.1 背景描述

  二手车交易管理系统是一个针对二手车交易市场进行管理的软件系统。这个系统旨在提高二手车交易的效率和安全性,同时降低交易成本。该系统主要包括车辆信息管理、交易流程管理、客户信息管理、支付管理等功能。车辆信息管理模块允许工作人员录入和更新车辆的基本信息,包括车辆的品牌、型号、年份、里程数、维修记录等。交易流程管理模块涵盖了二手车交易的全过程,包括车辆的检测、估价、拍卖、成交等环节。客户信息管理模块则记录了客户的姓名、联系方式、购车历史等信息。支付管理模块负责处理交易的支付事宜,包括在线支付、线下支付等。

2、项目技术

后端框架: Servlet、mvc模式

前端技术:jsp、css、JavaScript、JQuery

2.1 MVC模式

  MVC(Model-View-Controller)模式是一种常用的软件设计模式,它把应用程序分为三个主要组成部分:模型(Model)、视图(View)和控制器(Controller),以实现应用程序的可维护性和可重用性。

2.2 mysql

  MySQL是一款Relational Database Management System,直译过来的意思就是关系型数据库管理系统,MySQL有着它独特的特点,这些特点使他成为目前最流行的RDBMS之一,MySQL想比与其他数据库如ORACLE、DB2等,它属于一款体积小、速度快的数据库,重点是它符合本次毕业设计的真实租赁环境,拥有成本低,开发源码这些特点,这也是选择它的主要原因。

3、开发环境

  • JAVA版本:JDK1.8
  • IDE类型:IDEA、Eclipse都可运行
  • tomcat版本:Tomcat 7-10版本均可
  • 数据库类型:MySql(5.x和8.x版本都可)
  • maven项目:否
  • 硬件环境:Windows 或者 Mac OS

4、功能截图+视频演示+文档目录

4.1 登录注册

后台登录

用户-注册

4.2前端 模块

前端-首页

前端-分类查询

前端-车辆详情

前端-买车需求查看

4.3 用户模块

用户-预约车辆

用户-联系平台

用户-发布买车需求

用户-发布车辆出售信息

4.4 管理员模块

管理员-预约管理

管理员-用户管理

管理员-询价查询

管理员-需求查询

管理员-售后查询

管理员-确认查询

管理员-评估查询

管理员-品牌管理

管理员-轮播图管理

管理员-类别管理

管理员-回复管理

管理员-管理员管理管理员-车辆管理

5 、核心代码实现

package control;

import dao.CommDAO;
import dao.Query;
import java.io.*;
import java.util.*;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import util.Info;

/**
 * 前台、后台、登录。
 * 和修改密码项
 */
public class LoginCtrl extends HttpServlet {

    // 构造函数
    public LoginCtrl() {
        super();
    }

    // 析构函数
    public void destroy() {
        super.destroy(); // Just puts "destroy" string in log
        // Put your code here
    }

    // get 访问得时候运行这个方法
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 将get 方法得内容运行到Post 方法中
        this.doPost(request, response);
    }

    // 输出弹出框、并跳转到指定页面
    public void go(String url, HttpServletRequest request, HttpServletResponse response) {
        try {
            // 获取输出流
            PrintWriter out = response.getWriter();
            // 输出到控制台
            System.out.println(request.getAttribute("error"));
            // 判断有没有错误、有得话就输出弹出框
            if (request.getAttribute("error") != null) {
                out.println("<script>alert('" + request.getAttribute("error") + "');location.href='" + url + "'</script>");
                out.close();
                return;
            }
            // 加载指定jsp 页面、
            request.getRequestDispatcher(url).forward(request, response);
        } catch (ServletException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    // 跳转到某个页面
    public void gor(String url, HttpServletRequest request, HttpServletResponse response) {
        try {
            // 执行页面跳转
            response.sendRedirect(url);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    // 执行post 方法
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 设定编码为 utf-8
        response.setContentType("text/html;charset=utf-8");
        // 获取输出流
        PrintWriter out = response.getWriter();
        // 判断执行那个 if 判断内容
        String ac = request.getParameter("ac");
        if (ac == null) ac = "";
        // 生成数据库查询对象
        CommDAO dao = new CommDAO();
        // 获取当前时间
        String date = Info.getDateStr();
        // 获取当前日期
        String today = date.substring(0, 10);
        // 获取当前年月
        String tomonth = date.substring(0, 7);

        // 前台登录代码
        if (ac.equals("login")) {
            // 获取前台填写得账号
            String username = request.getParameter("username");
            // 获取前台填写得密码
            String password = request.getParameter("pwd");
            // 判断页面上选择的权限
            String utype = request.getParameter("cx");
            // 获取填写得验证码
            String pagerandom = request.getParameter("pagerandom") == null ? "" : request.getParameter("pagerandom");
            // 获取生成验证码时保存在session 中得验证码
            String random = (String) request.getSession().getAttribute("random");
            // 对比验证码是否正确、不正确则输出验证码错误
            if (!pagerandom.equals(random) && request.getParameter("a") != null) {
                request.setAttribute("error", "验证码错误");
                go("index.jsp", request, response);
            } else {
                String sql1 = "";
                if (utype.equals("用户")) {
                    sql1 = "select * from yonghu where yonghuming='" + username + "' and mima='" + password + "' ";
                }

                // 查询数据库中得信息判断账号密码得正确性
                Map map = dao.find(sql1);
                // map 不为空则是登录成功
                if (!map.isEmpty()) {
                    // 获取数据循环
                    Iterator iter = map.keySet().iterator();
                    // 设置session
                    request.getSession().setAttribute("username", username);
                    request.getSession().setAttribute("login", utype);
                    request.getSession().setAttribute("cx", utype);

                    while (iter.hasNext()) {
                        // 这个循环设置用户得信息进session 中
                        String key = (String) iter.next();
                        String val = (String) map.get(key);
                        request.getSession().setAttribute(key, val);
                    }
                    // 跳转到index.jsp
                    gor("index.jsp", request, response);
                } else {
                    // 否则提示账号或密码错误
                    request.setAttribute("error", "账号或密码错误");
                    go("index.jsp", request, response);
                }
            }
        }
        // 后台登录
        if (ac.equals("adminlogin")) {
            // 后台管理员登录
            // 获取前台填写得账号
            String username = request.getParameter("username");
            // 获取前台填写得密码
            String password = request.getParameter("pwd");
            // 判断页面上选择的权限
            String utype = request.getParameter("cx");
            // 获取填写得验证码
            String pagerandom = request.getParameter("pagerandom") == null ? "" : request.getParameter("pagerandom");
            // 获取生成验证码时保存在session 中得验证码
            String random = (String) request.getSession().getAttribute("random");
            // 对比验证码是否正确、不正确则输出验证码错误
            if (!pagerandom.equals(random) && request.getParameter("a") != null) {
                request.setAttribute("error", "验证码错误");
                go("login.jsp", request, response);
            } else {
                String sql1 = "";

                if (utype.equals("管理员")) {
                    sql1 = "select * from admins where username='" + username + "' and pwd='" + password + "' ";
                }

                // 查询数据库中得信息判断账号密码得正确性
                Map map = dao.find(sql1);
                // map 不为空则是登录成功
                if (!map.isEmpty()) {
                    // 获取数据循环
                    Iterator iter = map.keySet().iterator();
                    // 设置session
                    request.getSession().setAttribute("username", username);
                    request.getSession().setAttribute("cx", utype);
                    request.getSession().setAttribute("login", utype);
                    while (iter.hasNext()) {
                        // 这个循环设置用户得信息进session 中
                        String key = (String) iter.next();
                        String val = (String) map.get(key);
                        request.getSession().setAttribute(key, val);
                    }
                    // 跳转到main.jsp
                    gor("main.jsp", request, response);
                } else {
                    // 否则提示账号或密码错误
                    request.setAttribute("error", "账号或密码错误");
                    go("login.jsp", request, response);
                }
            }
        }

        //修改密码
        if (ac.equals("adminuppass")) {
            // 获取前台填写得原密码
            String olduserpass = request.getParameter("ymm");
            // 获取前台填写得新密码
            String userpass = request.getParameter("xmm1");
            // 获取前台填写得确认密码
            String copyuserpass = request.getParameter("xmm2");
            //  println(Info.getUser(request).get("id").toString());
            // 判断当前权限p
            String cx = (String) request.getSession().getAttribute("login");
            //String oldPassword = "";
            // 获取当前登录用户的账号
            String username = request.getSession().getAttribute("username").toString();
            Map m = null;
            String biao = "";
            if (cx.equals("管理员")) {
                biao = "admins";
                m = Query.make(biao).where("username", username).where("pwd", olduserpass).find();
                // dao.getmaps("username", (String) request.getSession().getAttribute("username"), "admins");
            }
            if (cx.equals("用户")) {
                biao = "yonghu";
                m = Query.make(biao).where("yonghuming", username).where("mima", olduserpass).find();
                // dao.getmaps("yonghuming", (String) request.getSession().getAttribute("username"), "yonghu");
            }

            // 尝试登录一下原密码、如果为null  或 空map则提示原密码错误
            if (m == null || m.isEmpty()) {
                // 提示原密码错误
                request.setAttribute("error", "原密码错误");
                go("mod.jsp", request, response);
            } else {
                //String id = (String)user.get("id");
                // 否则更新成新密码
                String sql = "";
                if (cx.equals("管理员")) {
                    sql = "UPDATE admins SET pwd='" + userpass + "' WHERE username='" + username + "'";
                }
                if (cx.equals("用户")) {
                    sql = "UPDATE yonghu SET mima='" + userpass + "' WHERE yonghuming='" + username + "'";
                }

                //执行更新密码
                dao.commOper(sql);
                //  提示密码修改成功
                request.setAttribute("error", "密码修改成功");
                go("mod.jsp", request, response);
            }
        }

        dao.close();
        out.flush();
        out.close();
    }

    public void init() throws ServletException {
        // Put your code here
    }
}

6 、功能视频演示

二手车交易管理系统

7 、 获取方式

👇 大家点赞、收藏、关注、评论啦 👇🏻获取联系方式,后台回复关键词:二手车👇🏻

请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值