基于javaweb的汽车租车管理系统(java+ssm+html+jsp+bootstrap+layui+mysql)
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明






基于javaweb+mysql的汽车租车管理系统(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项目:否;
技术栈
- 后端:Spring+SpringMVC+Mybatis 2. 前端:HTML+CSS+JavaScript+jsp+jquery+bootstrap+layui
使用说明
- 使用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 descriiption
@param pic
@return
*/
@RequestMapping(value = “/adminUpdate”, method = RequestMethod.GET)
@ResponseBody
public JsonMsg updateAdmin(int id,String username,String password,String email,String descriiption,String pic)
int status=0;
JsonMsg jsonMsg=new JsonMsg();
AdminBean ub=new AdminBean();
ub.setUsername(username);
ub.setPassword(password);
ub.setEmail(email);
ub.setDescriiption(descriiption);
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(namenull||pricenull)
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 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 parkBeans=parkService.getIdlePark();
jsonMsg.setCode(“200”);
jsonMsg.setData(parkBeans);
catch (Exception e)
jsonMsg.setCode(“404”);
jsonMsg.setData(“-1”);
e.printStackTrace();
return jsonMsg;


