基于javaweb+mysql的ssm汽车出租管理系统(java+ssm+jsp+jquery+mysql)

基于javaweb+mysql的ssm汽车出租管理系统(java+ssm+jsp+jquery+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb+mysql的SSM汽车出租管理系统(java+ssm+jsp+jquery+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. 前端:JSP+CSS+JavaScript+jquery

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中jdbc.properties配置文件中的数据库配置改为自己的配置; 4. 运行项目,输入localhost:8080/ 登录
cellSpacing=0 cellPadding=0 width=1002 align=center bgColor=#ffffff border=0>
  <TBODY>
  <TR>
    <TD 
    style="PADDING-RIGHT: 8px; PADDING-LEFT: 20px; PADDING-BOTTOM: 8px; PADDING-TOP: 8px" 
    vAlign=top>
      
      </TD></TR></TBODY></TABLE>
<TABLE height=4 cellSpacing=0 cellPadding=0 width=1002 align=center 
bgColor=#ffffff border=0>
  <TBODY>
  <TR>
    <TD width=5><IMG height=3 src="qtimages/zjgdj_64.gif" width=5></TD>
    <TD background=qtimages/zjgdj_65.gif><IMG height=3 
      src="qtimages/zjgdj_65.gif" width=1></TD>
    <TD width=4><IMG height=3 src="qtimages/zjgdj_67.gif" 
  width=4></TD></TR></TBODY></TABLE>
<TABLE height=8 cellSpacing=0 cellPadding=0 width=1002 align=center 
bgColor=#ffffff border=0>
  <TBODY>
  <TR>
    <TD></TD></TR></TBODY></TABLE>
<%@ include file="qtdown.jsp"%>
</body>
</html>
<?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"      
 "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">

<mapper namespace="com.dao.UserDao">

	<resultMap id="userResultMap" type="com.entity.User">   
        <id property="id" column="id"/>    
        <result property="username" column="username"/>  
        <result property="password" column="password"/>  
        <result property="createtime" column="createtime"/>  
        <result property="role" column="role"/>  
        <result property="name" column="name"/>
        <result property="tej" column="tej"/>
        <result property="sfz" column="sfz"/>
       
     </resultMap>  	
     	<resultMap id="vipResultMap" type="com.entity.Vip">   

			request.setAttribute("chepai", chepai);
		}
		
		HttpSession session = request.getSession();
		User user = (User) session.getAttribute("qiantai");
		
		//分页功能默认第一页
		int currentpage = 1;
		//获取当前页
		if (pagenum != null) {
			currentpage = Integer.parseInt(pagenum);
		}

		//查询列表
		List<Jilu> list = jiluService.selectBeanList((currentpage - 1)
				* pageSize, pageSize,chepai,null,null,null,0,0,user.getId());

		//列表返回页面
		request.setAttribute("list", list);

		//获取总数量
		int total = jiluService.selectBeanCount(chepai,null,null,null,0,0,user.getId());

		//分页信息返回页面
		request.setAttribute("pagerinfo", Pager.getPagerNormal(total, pageSize,
				currentpage, "jilulist.do", "共有" + total + "条记录"));

		request.setAttribute("title", "我的租车");
		

		return "jilulist.jsp";

	}
	
	
	//查看租车记录详情页面
	@RequestMapping("/jiluview.do")
	public String jiluview(HttpServletRequest request,int id){

		Jilu bean = jiluService.selectBeanById(id);
		
		Car car = carService.selectBeanById(bean.getCarid());

		bean.setCar(car);
		
		request.setAttribute("bean", bean);

			this.getPrintWriter(response).print("<script language=javascript>alert('驾驶证复印件不能为空');" +
			"window.location.href='jiluadd.do';</script>");
			return;
		}
		int carid = bean.getCarid();
		
		Car car = carService.selectBeanById(carid);
		
		bean.setChepai(car.getChepai());
		bean.setCarid(car.getId());
		
		
		String sfz  = bean.getSfz();
		
		User kehu = userService.sfzyz(sfz);
		
		if(kehu==null){
			kehu = new User();
			kehu.setCreatetime(Util.getTime());
			kehu.setName(bean.getXingming());
			kehu.setPassword("111111");
			kehu.setRole(4);
			kehu.setSfz(sfz);
			kehu.setTej(bean.getDianhua());
			kehu.setUsername(sfz);
			
			userService.insertBean(kehu);
		}
		
		bean.setKehuid(kehu.getId());
		
		HttpSession session = request.getSession();
		
		User user = (User)session.getAttribute("manage");
		
		bean.setWorkid(user.getId());
		

		String sfz2 =  Util.uploadFile(request, prodFile1);
		String jsz =  Util.uploadFile(request, prodFile2);

		bean.setSfz2(sfz2);
		bean.setJsz(jsz);
		
		bean.setShijian1(Util.getTime());
		bean.setZhuangtai("出租中");

		return "gonggao/gonggaolist.jsp";

	}

	//跳转到添加网站公告页面
	@RequestMapping("/gonggaoadd.do")
	public String gonggaoadd(HttpServletRequest request){

		request.setAttribute("url", "gonggaoadd2.do");

		request.setAttribute("title", "添加网站公告");

		return "gonggao/gonggaoadd.jsp";

	}

	//添加网站公告操作
	@RequestMapping("/gonggaoadd2.do")
	public void gonggaoadd2(HttpServletResponse response,Gonggao bean){

		
		bean.setCtime(Util.getTime());
		
		gonggaoService.insertBean(bean);

	}

	//跳转到修改网站公告页面
	@RequestMapping("/gonggaoupdate.do")
	public String gonggaoupdate(HttpServletRequest request,int id){

		Gonggao bean = gonggaoService.selectBeanById(id);

		request.setAttribute("bean", bean);

		request.setAttribute("url", "gonggaoupdate2.do?id="+id);

		request.setAttribute("title", "修改网站公告");

		return "gonggao/gonggaoupdate.jsp";

	}
	private String pinpai;//品牌
	
	private String xinghao;//型号
	
	private String pic;//车辆图片
	
	private String price;//车价

	private String xsz;//行驶证号
	
	private String yanse;//颜色
	
	private int zujin;//租金
	
	private String status;//车辆状态  待租赁/租赁中/维修中/预定中
	
	private String ctime;//添加时间
	
	private int weihu;//总维护费
	
	private Double tzujin;//总租金

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getChepai() {
		return chepai;
	}

	public void setChepai(String chepai) {
		this.chepai = chepai;
	}

	public String getChejia() {
		return chejia;
	}

	public void setChejia(String chejia) {
		this.chejia = chejia;
<mapper namespace="com.dao.UserDao">

	<resultMap id="userResultMap" type="com.entity.User">   
        <id property="id" column="id"/>    
        <result property="username" column="username"/>  
        <result property="password" column="password"/>  
        <result property="createtime" column="createtime"/>  
        <result property="role" column="role"/>  
        <result property="name" column="name"/>
        <result property="tej" column="tej"/>
        <result property="sfz" column="sfz"/>
       
     </resultMap>  	
     	<resultMap id="vipResultMap" type="com.entity.Vip">   
        <id property="id" column="id"/>    
        <result property="username" column="username"/>  
        <result property="points" column="points"/>  
        <result property="level" column="level"/>  
        <result property="enddate" column="enddate"/>  
        <result property="consumed" column="consumed"/>

     </resultMap>  	

	<!-- 插入到数据库 -->
	<insert id="insertBean"
		parameterType="com.entity.User">
		insert into t_user (
			username,
			password,
			createtime,
			role,
			name,
			sfz,
			tej
		) values (
			#{username},
			#{password},
			#{createtime},	
			#{role},
			#{name},
			#{sfz},
		request.setAttribute("pagerinfo", Pager.getPagerNormal(total, pageSize,
				currentpage, "carlist3.do", "共有" + total + "条记录"));

		//查询按钮
		request.setAttribute("url", "carlist3.do");

		//添加,更新,删除等按钮
		request.setAttribute("url2", "car");

		request.setAttribute("title", "车辆租赁管理");

		return "car/carlist3.jsp";

	}
	
	
	//跳转到租车页面
	@RequestMapping("/jiluadd.do")
	public String jiluadd(HttpServletRequest request,int carid){
		
		Car car = carService.selectBeanById(carid);
		
		request.setAttribute("car", car);
		
		request.setAttribute("url", "jiluadd2.do?carid="+carid);

		request.setAttribute("title", "租车");

		return "jilu/jiluadd.jsp";

	}

	//租车操作
	@RequestMapping("/jiluadd2.do")
	public void jiluadd2(HttpServletResponse response,HttpServletRequest request,Jilu bean,MultipartFile prodFile1,MultipartFile prodFile2){

		
		if(prodFile1==null || prodFile1.getSize()<=0 ){
			this.getPrintWriter(response).print("<script language=javascript>alert('身份证复印件不能为空');" +
			"window.location.href='jiluadd.do';</script>");
			return;
		}
		
	@RequestMapping("/useradd2.do")
	public void useradd2(HttpServletResponse response,User bean){

		User user = userService.useryz(bean.getUsername());
		
		if(user!=null){
			return;
		}

		bean.setPassword("111111");
		bean.setCreatetime(Util.getTime());
		userService.insertBean(bean);

	}

	//跳转到修改人员页面
	@RequestMapping("/userupdate.do")
	public String userupdate(HttpServletRequest request,int id){

		User bean = userService.selectBeanById(id);

		request.setAttribute("bean", bean);

		request.setAttribute("url", "userupdate2.do?id="+id);

		request.setAttribute("title", "修改人员");

		return "user/userupdate.jsp";

	}

	//修改人员操作
	@RequestMapping("/userupdate2.do")
	public void userupdate2(HttpServletResponse response,User bean){

		userService.updateBean(bean);

	}

	//删除操作
	@RequestMapping("/userdelete.do")
	public void userdelete(HttpServletResponse response,int id){

		userService.deleteBean(id);
							<TR height=20>
								<TD align=middle width=30><IMG height=9
									src="images/menu_icon.gif" width=9></TD>
								<TD><A class=menuChild href="carlist.do" target=main>车辆管理</A>
								</TD>
							</TR>

							<TR height=20>
								<TD align=middle width=30><IMG height=9
									src="images/menu_icon.gif" width=9></TD>
								<TD><A class=menuChild href="carlist2.do" target=main>车辆维修管理</A>
								</TD>
							</TR>

							<TR height=4>
								<TD colSpan=2></TD>
							</TR>

						</TABLE>

						<TABLE cellSpacing=0 cellPadding=0 width=150 border=0>
							<TR height=22>
								<TD style="PADDING-LEFT: 30px" background=images/menu_bt.jpg>
									<A class=menuParent onclick=expand(3)
									href="javascript:void(0);">网站公告</A>
								</TD>
							</TR>
							<TR height=4>
								<TD></TD>
							</TR>
						</TABLE>
						<TABLE id=child3 style="DISPLAY: none" cellSpacing=0 cellPadding=0
							width=150 border=0>

							<TR height=20>
								<TD align=middle width=30><IMG height=9
									src="images/menu_icon.gif" width=9></TD>
								<TD><A class=menuChild href="gonggaolist.do" target=main>网站公告管理</A>
								</TD>
							</TR>

							<TR height=4>

@Controller
@RequestMapping("/manage")
public class ManageController {

	@Resource
	private UserService userService;

	@Resource
	private CarService carService;
	
	@Resource
	private GonggaoService gonggaoService; 
	
	@Resource
	private PicService picService;
	
	@Resource
	private JiluService jiluService;
	
	@Resource
	private YudingService yudingService;
	
	@Resource
	private LiuyanService liuyanService;
	
	@Resource
	private RiService riService;
	
	@Resource
	private YueService yueService;
	
	@Resource
	private VipService vipService;
	

	@Value("#{jdbc.pageSize}")
	private int pageSize;

	// 获取输出对象
	public PrintWriter getPrintWriter(HttpServletResponse response) {
		response.setCharacterEncoding("utf-8");
		response.setContentType("text/html; charset=utf-8");
		PrintWriter writer = null;
		try {
			writer = response.getWriter();
		} catch (IOException e) {
	}
	

	
	
	//根据ID查询对象
	public Liuyan selectBeanById(int id){
		
		return liuyanDao.selectBeanById(id);
		
	}
	
	
	public List<Liuyan> selectBeanList(int start,int limit,String ltitle,String zhuangtai,int kehuid,int workid){

		return liuyanDao.selectBeanList(start,limit,ltitle,zhuangtai,kehuid,workid);
		
		
	}
	
	public int selectBeanCount(String ltitle,String zhuangtai,int kehuid,int workid){
		
		return liuyanDao.selectBeanCount(ltitle,zhuangtai,kehuid,workid);
		
	}

	
	
	
}

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
	public int getLevel() {
		return level;
	}
	public void setLevel(int level) {
		this.level = level;
	}

	public String getEnddate() {
		return enddate;
	}
	public void setEnddate(String enddate) {
		this.enddate = enddate;
	}
	public Double getConsumed() {
		return consumed;
	}
	public void setConsumed(Double consumed) {
		this.consumed = consumed;
	}
	public int getKehuid() {
		return kehuid;
	}
	public void setKehuid(int kehuid) {
		this.kehuid = kehuid;
	}
	public double getDiscount() {
		return discount;
	}
	public void setDiscount(double discount) {
		this.discount = discount;
	}
	
	
}

	
	
	
	//待处理预定列表
	@RequestMapping("/yudinglist.do")
	public String yudinglist(HttpServletRequest request,String pagenum,String chepai,String sfz){
		
		

		//查询条件返回页面
		if (chepai != null && !"".equals(chepai)) {

			request.setAttribute("chepai", chepai);
		}

		if (sfz != null && !"".equals(sfz)) {

			request.setAttribute("sfz", sfz);
		}

		//分页功能默认第一页
		int currentpage = 1;
		//获取当前页
		if (pagenum != null) {
			currentpage = Integer.parseInt(pagenum);
		}

		//查询列表
		List<Yuding> list = yudingService.selectBeanList((currentpage - 1)
				* pageSize, pageSize, chepai,sfz,0,0,"处理中");
		

		//列表返回页面
		request.setAttribute("list", list);

		//获取总数量
		int total = yudingService.selectBeanCount(chepai,sfz,0,0,"处理中");

		//分页信息返回页面
		request.setAttribute("pagerinfo", Pager.getPagerNormal(total, pageSize,
				currentpage, "yudinglist.do", "共有" + total + "条记录"));

		//查询按钮
		request.setAttribute("url", "yudinglist.do");

		//添加,更新,删除等按钮
		request.setAttribute("url2", "yuding");

		request.setAttribute("title", "待处理预定");

		return "yuding/yudinglist.jsp";
		userService.insertBean(user);
		
		

	}
	
	
	//跳转到用户登录页面
	@RequestMapping("/login.do")
	public String login(HttpServletRequest request){

		request.setAttribute("title", "用户登录");

		return "login.jsp";

	}
	
	
	//用户登录操作
	@RequestMapping("/login2.do")
	public void login2(HttpServletRequest request,HttpServletResponse response,String username,String password){
		
		PrintWriter writer = this.getPrintWriter(response);
		
		
		User bean = userService.userlogin(username, password, 4);

		
		if(bean==null){
			
		
			
		}else{
			
			HttpSession session = request.getSession();
			session.setAttribute("qiantai", bean);
			session.setAttribute("username", bean.getUsername());
			
			Vip vip=vipService.selectBeanByUsername(username);
			if(vip!=null) {
				session.setAttribute("vip", vip);
			}else {
				Vip vip2=new Vip();
				vip2.setUsername(username);
				vip2.setLevel(0);
				vip2.setPoints(0);
				session.setAttribute("vip", vip2);
			}
			
		}
		request.setAttribute("title", "添加车辆");

		return "car/caradd.jsp";

	}

	//添加车辆操作
	@RequestMapping("/caradd2.do")
	public void caradd2(HttpServletResponse response,HttpServletRequest request,Car bean,MultipartFile prodFile){

		
		if(prodFile==null || prodFile.getSize()<=0 ){
			this.getPrintWriter(response).print("<script language=javascript>alert('车辆图片不能为空');" +
			"window.location.href='caradd.do';</script>");
			return;
		}

		String pic =  Util.uploadFile(request, prodFile);

		bean.setPic(pic);
		
		bean.setStatus("待租赁");
		bean.setCtime(Util.getTime());

		carService.insertBean(bean);

		this.getPrintWriter(response).print("<script language=javascript>alert('操作成功');" +
		"window.location.href='carlist.do';</script>");
	}

	//跳转到修改车辆页面
	@RequestMapping("/carupdate.do")
	public String carupdate(HttpServletRequest request,int id){

		Car bean = carService.selectBeanById(id);

		request.setAttribute("bean", bean);

		request.setAttribute("url", "carupdate2.do?id="+id);

		request.setAttribute("title", "修改车辆");

		return "car/carupdate.jsp";

	}

	//修改车辆操作
	@RequestMapping("/carupdate2.do")
	
	@Resource
	private YueService yueService;
	
	@Resource
	private VipService vipService;
	

	@Value("#{jdbc.pageSize}")
	private int pageSize;

	// 获取输出对象
	public PrintWriter getPrintWriter(HttpServletResponse response) {
		response.setCharacterEncoding("utf-8");
		response.setContentType("text/html; charset=utf-8");
		PrintWriter writer = null;
		try {
			writer = response.getWriter();
		} catch (IOException e) {
			e.printStackTrace();
		}

		return writer;
	}

	//管理员登录
	@RequestMapping("/login.do")
	public void login(HttpServletRequest request,HttpServletResponse response,String username,String password,String role){

		PrintWriter writer = this.getPrintWriter(response);

		User user = userService.userlogin(username, password,Integer.parseInt(role));

		if(user==null){

		}else{
			HttpSession session = request.getSession();
			session.setAttribute("manage", user);

		}

//车辆
public class Car  {

	private int id;//主键
	
	private String chepai;//车牌号
	
	private String chejia;//车架号
	
	private String pinpai;//品牌
	
	private String xinghao;//型号
	
	private String pic;//车辆图片
	
	private String price;//车价

	private String xsz;//行驶证号
	
	private String yanse;//颜色
	
	private int zujin;//租金
	
	private String status;//车辆状态  待租赁/租赁中/维修中/预定中
	
	private String ctime;//添加时间
	
	private int weihu;//总维护费
	
	private Double tzujin;//总租金

	public int getId() {
		return id;
	}

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值