Java项目:汽车租车管理系统(java+SSM+HTML+JSP+bootstrap+layui+Mysql)

源码获取:俺的博客首页 "资源" 里下载!

项目介绍

本项目包含管理员、普通用户两种角色;
管理员主要功能包括:
后台首页、停车位信息管理、车辆求租信息审核、车辆出租信息审核、管理员广播等;

普通用户主要功能包括:
个人信息管理、租入订单(租入的车、租入的车位)、租出订单、发布车辆出租信息、我要租车、我要租车位、留言、来自管理员的公告等内容;

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 
5.数据库:MySql 5.7版本;
6.是否Maven项目:否;


技术栈

1. 后端:Spring+SpringMVC+Mybatis
2. 前端:HTML+CSS+JavaScript+jsp+jquery+bootstrap+layui


使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中util/DBUtil.java配置文件中的数据库配置改为自己的配置;
4. 运行项目,输入localhost:8080/ssm_qiche_rentsys/ 登录

 

 

 

 

 

后台管理员控制层: 

@Controller
@RequestMapping(value = "/admin")
public class AdminManageController {

    public static void main(String[] args) {
    }

    AdminService adminService = new AdminService();

    SendMailService sendMailService = new SendMailService();

    /**
     * Code:200 Data=id (id是String类型)管理员信息正确
     * Code:205 Data=0 管理员不存在
     * Code:206 Data=-3 管理员密码错误
     * Code:207 Data=-2 管理员账户被重复
     * Code:404 Data=-1 catch异常
     *
     * @param username
     * @param password
     * @return
     */
    @RequestMapping(value = "/adminLogin", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg adminLogin(String username, String password) {
        JsonMsg jsonMsg = new JsonMsg();
        try {
            if (adminService.getAdminByName(username).size() == 0) {
                jsonMsg.setCode("205");
                jsonMsg.setData(0);
            } else if (adminService.getAdminByName(username).size() != 1) {
                jsonMsg.setCode("207");
                jsonMsg.setData(-2);
            }
            else{
                int id;
                if(!adminService.getAdminByName(username).get(0).getPassword().equals(password))
                {
                    jsonMsg.setCode("206");
                    jsonMsg.setData(-3);
                } else {
                    id = adminService.getAdminByName(username).get(0).getId();
                    jsonMsg.setCode("200");
                    jsonMsg.setData(adminService.getAdminById(id));
                }
            }
        } catch (SQLException e) {
            jsonMsg.setCode("404");
            jsonMsg.setData(-1);
            e.printStackTrace();
        }
        return jsonMsg;
    }

    /**
     * Code=404 Data=-1 抛出异常不做改变
     * Code=202 Data=0 不变/修改无效
     * Code=202 Data=-2 id不存在
     * Code=202 Data=-3 名字修改时产生重复
     * Code=200 Data>=1 修改成功 Data=修改的信息数量
     * 参数都可以为null,但是id为null无法更新
     * null的参数不做更新
     *
     * @param id
     * @param username
     * @param password
     * @param email
     * @param description
     * @param pic
     * @return
     */
    @RequestMapping(value = "/adminUpdate", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg updateAdmin(int id,String username,String password,String email,String description,String pic)
    {
        int status=0;
        JsonMsg jsonMsg=new JsonMsg();
        AdminBean ub=new AdminBean();
        ub.setUsername(username);
        ub.setPassword(password);
        ub.setEmail(email);
        ub.setDescription(description);
        ub.setPic(pic);
        try {
            status = adminService.updateUserById(id, ub);
            jsonMsg.setData(status);
            if (status >= 1) {
                jsonMsg.setCode("200");
            } else {
                jsonMsg.setCode("202");
            }
        } catch (SQLException e) {
            jsonMsg.setCode("404");
            jsonMsg.setData(-1);
            e.printStackTrace();
        }
        return jsonMsg;
    }

    /**
     * 向user的email发邮件
     *
     * @param email
     * @param username
     * @return
     */
    @RequestMapping(value = "/sendEmail", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg sendEmail(String email, String username) {
        JsonMsg jsonMsg = new JsonMsg();
        try {
            if (sendMailService.sendmail(email, username)) {
                jsonMsg.setCode("200");
                jsonMsg.setData("Send Email Success");
            } else {
                jsonMsg.setCode("205");
                jsonMsg.setData("Send Email Failed");
            }

        } catch (Exception e) {
            jsonMsg.setCode("404");
            e.printStackTrace();
        }
        return jsonMsg;
    }


//    @RequestMapping(value = "/login", method = RequestMethod.GET)
//    @ResponseBody
//    public JsonMsg login(String username, String password) {
//        JsonMsg jsonMsg = new JsonMsg();
//        try {
//            if (adminService.getAdminByNamePassword(username, password).size() == 0) {
//                jsonMsg.setCode("205");
//            } else {
//                jsonMsg.setCode("200");
//            }
//            jsonMsg.setData(adminService.getAdminByNamePassword(username, password));
//        } catch (Exception e) {
//            jsonMsg.setCode("404");
//            e.printStackTrace();
//        }
//        return jsonMsg;
//    }
//
//    @RequestMapping(value = "/getAdminByid", method = RequestMethod.GET)
//    @ResponseBody
//    public JsonMsg login(String id) {
//        JsonMsg jsonMsg = new JsonMsg();
//        try {
//            jsonMsg.setCode("200");
//            jsonMsg.setData(adminService.getAdminById(id));
//        } catch (Exception e) {
//            jsonMsg.setCode("404");
//            e.printStackTrace();
//        }
//        return jsonMsg;
//    }


//    /**
//     * 这个是用来注册管理员
//     * 我加了一个Deprecated的annotation
//     *
//     * @param username
//     * @param password
//     * @param email
//     * @return
//     */
//    @RequestMapping(value = "/register", method = RequestMethod.GET)
//    @ResponseBody
//    @Deprecated
//    public JsonMsg addAdmin(String username, String password, String email) {
//        JsonMsg jsonMsg = new JsonMsg();
//        try {
//            jsonMsg.setCode("200");
//            jsonMsg.setData(adminService.addAdmin(username, password, email));
//        } catch (Exception e) {
//            jsonMsg.setCode("404");
//            e.printStackTrace();
//        }
//        return jsonMsg;
//    }
//
//    /**
//     * 用来注册普通用户
//     *
//     * @param username
//     * @param password
//     * @param email
//     * @return
//     */
//    @RequestMapping(value = "/registerUser", method = RequestMethod.GET)
//    @ResponseBody
//    public JsonMsg addUser(String username, String password, String email) {
//        JsonMsg jsonMsg = new JsonMsg();
//        jsonMsg.setCode("200");
//        jsonMsg.setData(1);
//        return jsonMsg;
//    }
//
//    @RequestMapping(value="/userLogin",method=RequestMethod.GET)
//    @ResponseBody
//    public JsonMsg userLogin(String username, String password){
//        return null;
//    }

}

车辆管理控制层:

@Controller
@RequestMapping(value = "/car")
public class CarController {
    CarService orderService = new CarService();
    CarOutService outOrderService = new CarOutService();


    /**
     * Code = "200"  成功存入
     * Code = "202"  输入存在问题
     * Code = "203"  系统错误
     * @param sender_id
     * @param carName
     * @param stringPrice
     * @return
     */
    @RequestMapping(value = "/userAddCar", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg userAddCar(int sender_id, String carName, String stringPrice) {
        int price = 0;
        try {
            price = Integer.parseInt(stringPrice);
        } catch (Exception e) {
            System.out.println("Chenjie Debug");
            e.printStackTrace();
        }
        JsonMsg jsonMsg = new JsonMsg();
        if (price < 0 || carName == null) {
            jsonMsg.setCode("202");
            jsonMsg.setData(0);
        }
        try {
            int i = orderService.addCar(carName, price, "还没有实现照片上传");
            System.out.println("addCar之后的返回值是:"+i);
            if (i >= 1) {
                int r = outOrderService.add(sender_id, carName, price, "还没有实现照片上传");
                if (r == 1) {
                    jsonMsg.setCode("200");
                    jsonMsg.setData(1);
                } else {
                    jsonMsg.setCode("2031");
                    jsonMsg.setData(-1);
                }
            } else {
                jsonMsg.setCode("2032");
                jsonMsg.setData(-1);
            }
        } catch (SQLException e) {
            jsonMsg.setCode("2033");
            jsonMsg.setData(-1);
            e.printStackTrace();
        }
        return jsonMsg;
    }

}

停车位管理控制层:

@Controller
@RequestMapping(value = "/park")
public class ParkController {

    ParkService parkService=new ParkService();

    /**
     * 添加park
     *自动生成id
     * Code200 1成功添加
     * Code404 -1 添加失败/异常/price格式错误/缺少参数
     * @param name
     * @param price
     * @return
     */
    @RequestMapping(value = "/parkAdd", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg parkAdd(String name,String price)
    {
        JsonMsg jsonMsg=new JsonMsg();
        try {
            if(name==null||price==null)
            {
                throw new Exception("缺少参数");
            }
            int i=parkService.addPark(name,Integer.parseInt(price));
            jsonMsg.setCode("200");
            jsonMsg.setData(1);
        } catch (Exception e) {
            jsonMsg.setCode("404");
            jsonMsg.setData(-1);
            e.printStackTrace();
        }
        return jsonMsg;
    }

    /**
     *利用id删除park
     * code200 1找到并删除成功
     * code200 0没有找到
     * code202 0车位正在被使用,不可以删除
     * code404 -1删除异常
     * @param id
     * @return
     */
    @RequestMapping(value = "/parkDelete", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg parkDelete(int id)
    {
        JsonMsg jsonMsg=new JsonMsg();
        try {
            ParkBean park=parkService.getParkById(id);
            if(park.getStatus()==0)
            {
                int i=parkService.deleteParkById(id);
                jsonMsg.setCode("200");
                jsonMsg.setData(i);
            }
            else{
                jsonMsg.setCode("202");
                jsonMsg.setData(0);
            }

        }
        catch (Exception e)
        {
            jsonMsg.setCode("404");
            jsonMsg.setData("-1");
            e.printStackTrace();
        }
        return jsonMsg;
    }

    /**
     *Code 200 得到所有parks
     * Code 404  -1异常
     * @return
     */
    @RequestMapping(value = "/parkTraversal", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg parkTraversal()
    {
        JsonMsg jsonMsg=new JsonMsg();
        try {
            List<ParkBean> parks=parkService.getAllPark();
            jsonMsg.setCode("200");
            jsonMsg.setData(parks);
        }
        catch (Exception e)
        {
            jsonMsg.setCode("404");
            jsonMsg.setData("-1");
            e.printStackTrace();
        }
        return jsonMsg;
    }

    /**
     *id必须设置
     * 其他参数不设置代表不更新
     * Code 200 data=1更新成功
     * Code 200 data=0 没有更新
     * Code 404 异常
     * @param id
     * @param name
     * @param price_per_day
     * @param status
     * @return
     */
    @RequestMapping(value = "/parkUpdate", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg parkUpdate(int id,String name,String price_per_day,String status)
    {
        JsonMsg jsonMsg=new JsonMsg();
        try {
            ParkBean parkBean=new ParkBean();
            if(name!=null)
            {
                parkBean.setName(name);
            }
            if(price_per_day!=null)
            {
                parkBean.setPrice_per_day(Integer.parseInt(price_per_day));
            }
            if(status!=null)
            {
                parkBean.setStatus(Integer.parseInt(status));
            }
            int i=parkService.updateParkById(id,parkBean);
            jsonMsg.setCode("200");
            jsonMsg.setData(1);
        }
        catch (Exception e)
        {
            jsonMsg.setCode("404");
            jsonMsg.setData("-1");
            e.printStackTrace();
        }
        return jsonMsg;
    }

    /**
    *Code 200 得到所有空闲状态的park
     * Code 404 异常
    * @return
    */
    @RequestMapping(value = "/parkIdleTraversal", method = RequestMethod.GET)
    @ResponseBody
    public JsonMsg parkIdleTraversal()
    {
        JsonMsg jsonMsg=new JsonMsg();
        try {
            List<ParkBean> parkBeans=parkService.getIdlePark();
            jsonMsg.setCode("200");
            jsonMsg.setData(parkBeans);
        }
        catch (Exception e)
        {
            jsonMsg.setCode("404");
            jsonMsg.setData("-1");
            e.printStackTrace();
        }
        return jsonMsg;
    }

}

源码获取:俺的博客首页 "资源" 里下载!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

beyondwild

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值