基于javaweb+jsp的汽车租赁管理系统
JavaWeb JavaBean JSP MVC MySQL Tomcat JavaScript Bootstrap Ajax
基础JSP+Servlet或JSP+SSM(Spring、SpringMVC、MyBatis)框架或JSP+SSM+Maven(pom.xml)框架或SpringBoot…均可
开发工具:idea或eclipse或myeclipse
部分代码实现JSP
<div class="modal-body">
<div class="form-group hidden">
<label class="control-label">(hidden)</label>
<input type="text" class="form-control" name="action" value="edit">
<input type="text" readonly class="form-control" name="id" id="edit-id">
</div>
<div class="form-group">
<label for="edit-zhuNo" class="control-label">出租编号:</label>
<input type="text" class="form-control" name="zhuNo" id="edit-zhuNo">
</div>
<div class="form-group">
<label for="edit-zhuCarno" class="control-label">车牌号:</label>
<input type="text" class="form-control" name="zhuCarno" id="edit-zhuCarno">
</div>
</nav>
<div class="container-fluid">
<div class="row">
<div class="col-sm-3 col-md-2 sidebar">
<!-- 侧边栏 -->
<jsp:include page="menu.jsp">
<jsp:param value="active" name="Zhu_active"/>
</jsp:include>
</div>
<br>
<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
<div class="row">
<div class="col-sm-7">
<div class="input-group">
<input class="form-control" type="hidden" id="searchColumn" name="searchColumn" value="zhu_name"/>
<input class="form-control" type="text" id="search_keyword" name="search_keyword" placeholder="租用人"/> <span class="input-group-btn"><button class="btn btn-pill btn-grad btn-warning" type="button" onclick="searchList()">搜索</button></span>
}
if (document.getElementById("add-zhuPrice").value.trim().length == 0) {
alert("金额不能为空");
return false;
}
return true;
}
//编辑表单提交之前进行检查,如果return false,则不允许提交
function editCheck() {
//根据ID获取值
if (document.getElementById("edit-zhuNo").value.trim().length == 0) {
alert("出租编号不能为空");
return false;
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>出租管理</title>
<link rel="stylesheet" href="css/bootstrap.css">
<span aria-hidden="true">×</span>
</button>
<h4 class="modal-title">出租</h4>
</div>
<div class="modal-body">
<table class="table table-striped table-hover" style="font-size: 15px;">
<tr>
<td style="width: 15%;">出租编号:</td>
<td><b id="info-zhuNo"></b></td>
</tr>
<tr>
<td style="width: 15%;">车牌号:</td>
<td><b id="info-zhuCarno"></b></td>
</tr>
<tr>
<script src="js/jquery-3.5.1.js"></script>
<script src="js/bootstrap.js"></script>
</head>
<body>
<nav class="navbar navbar-inverse navbar-fixed-top">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">汽车租赁管理系统</span> <span class="icon-bar"></span>
<span class="icon-bar"></span> <span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">汽车租赁管理系统</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right">
<li><a href="#">欢迎:<span style="color: yellow">${loginUser.username}</span></a></li>
<li><a href="AuthServlet?action=logout">退出</a></li>
</ul>
<th>备注</th>
<th style="text-align: center;">操作</th>
</tr>
</thead>
<tbody>
<c:forEach items="${list}" var="vo">
<tr>
<td>${vo.zhuNo}</td>
<td>${vo.zhuCarno}</td>
<td>${vo.zhuCar}</td>
<td>${vo.zhuName}</td>
<td>${vo.zhuStartdate}</td>
<td>${vo.zhuEnddate}</td>
<td>${vo.zhuPrice}</td>
<td>${vo.zhuStatus}</td>
<td title="${vo.zhuText}">
<c:choose>
<c:when test="${fn:length(vo.zhuText) > 19}">
<c:out value="${fn:substring(vo.zhuText, 0, 19)}..."/>
</c:when>
<c:otherwise>
modal.find('#info-zhuEnddate').text(vo.zhuEnddate);
modal.find('#info-zhuPrice').text(vo.zhuPrice);
modal.find('#info-zhuStatus').text(vo.zhuStatus);
modal.find('#info-zhuText').text(vo.zhuText);
}
})
})
function searchList() {
window.location.href = "ZhuServlet?action=list&searchColumn="+document.getElementById("searchColumn").value+"&keyword=" + document.getElementById("search_keyword").value;
}
//增加表单提交之前进行检查,如果return false,则不允许提交
function addCheck() {
//根据ID获取值
</form>
</div>
</div>
</div>
<!-- info -->
<div class="modal fade" id="modal-info" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<form>
<div class="modal-header">
</form>
</div>
</div>
</div>
<!-- edit -->
<div class="modal fade" id="modal-edit" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<form action="ZhuServlet" onsubmit="return editCheck()">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h4 class="modal-title">更新出租</h4>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-pill btn-grad btn-primary" data-dismiss="modal">取消</button>
<button type="submit" class="btn btn-pill btn-grad btn-danger">提交</button>
</div>
</form>
</div>
</div>
</div>
<!-- delete -->
<div class="modal fade" id="modal-delete" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<tr>
<td style="width: 15%;">金额:</td>
<td><b id="info-zhuPrice"></b></td>
</tr>
<tr>
<td style="width: 15%;">付款状态:</td>
<td><b id="info-zhuStatus"></b></td>
</tr>
<tr>
<td style="width: 15%;">备注:</td>
<td><b id="info-zhuText"></b></td>
</tr>
</table>
<br>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-pill btn-grad btn-primary" data-dismiss="modal">关闭</button>
<form action="ZhuServlet">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h4 class="modal-title">删除出租</h4>
</div>
<div class="modal-body">
确认要删除该出租记录吗?
<div class="form-group hidden">
<label class="control-label">(hidden)</label>
<input type="hidden" class="form-control" name="action" value="delete">
<input type="text" class="form-control" name="id" id="delete-id">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-pill btn-grad btn-primary" data-dismiss="modal">取消</button>
<button type="submit" class="btn btn-pill btn-grad btn-primary">删除</button>
</div>
</form>
</div>
</c:otherwise>
</c:choose>
</td>
<th style="text-align: center;">
<button class="btn btn-pill btn-grad btn-primary btn-sm" data-id="${vo.id}"
data-toggle="modal" data-target="#modal-info">详情
</button>
<button class="btn btn-pill btn-grad btn-success btn-sm"
<c:if test="${loginUser.userType != '管理员'}">disabled="disabled" title="没有权限!!!"</c:if>
data-id="${vo.id}"
data-toggle="modal" data-target="#modal-edit">编辑
</button>
<button class="btn btn-pill btn-grad btn-primary btn-sm" <c:if test="${loginUser.userType != '管理员'}">disabled="disabled" title="没有权限!!!"</c:if> data-id="${vo.id}"
data-toggle="modal" data-target="#modal-delete">删除
</button>
alert("结束日期不能为空");
return false;
}
if (document.getElementById("edit-zhuPrice").value.trim().length == 0) {
alert("金额不能为空");
return false;
}
return true;
}
</script>
</div>
<div class="col-sm-5">
<button type="button" <c:if test="${loginUser.userType != '管理员'}">disabled="disabled" title="没有权限!!!"</c:if> class="btn btn-pill btn-grad btn-danger" data-toggle="modal" data-target="#modal-add">添加出租
</button>
</div>
</div>
<br>
<br>
<div class="table-responsive">
<table class="table table-striped table-hover">
<thead>
<tr>
<th>出租编号</th>
<th>车牌号</th>
<th>型号</th>
<th>租用人</th>
<th>起租日期</th>
<th>结束日期</th>
<th>金额</th>
</tr>
</c:forEach>
</tbody>
</table>
</div>
<div style="float: right;padding-right: 10px;color: #515151;"><jsp:include page="split.jsp"/></div>
</div>
</div>
</div>
<!-- add -->
<div class="modal fade" id="modal-add" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<form action="ZhuServlet" onsubmit="return addCheck()">
modal.find('#edit-zhuNo').val(vo.zhuNo);
modal.find('#edit-zhuCarno').val(vo.zhuCarno);
modal.find('#edit-zhuCar').val(vo.zhuCar);
modal.find('#edit-zhuName').val(vo.zhuName);
modal.find('#edit-zhuStartdate').val(vo.zhuStartdate);
modal.find('#edit-zhuEnddate').val(vo.zhuEnddate);
modal.find('#edit-zhuPrice').val(vo.zhuPrice);
for (let val of "已付款/待付款".split('/')) {
if (val == vo.zhuStatus) {
modal.find('#edit-zhuStatus_' + vo.zhuStatus).prop("checked", true);
} else {
modal.find('#edit-zhuStatus_' + vo.zhuStatus).removeAttr("checked");
<div class="form-group">
<label for="edit-zhuCar" class="control-label">型号:</label>
<input type="text" class="form-control" name="zhuCar" id="edit-zhuCar">
</div>
<div class="form-group">
<label for="edit-zhuName" class="control-label">租用人:</label>
<input type="text" class="form-control" name="zhuName" id="edit-zhuName">
</div>
<div class="form-group">
<label for="edit-zhuStartdate" class="control-label">起租日期:</label>
<input type="text" class="form-control" name="zhuStartdate" id="edit-zhuStartdate">
</div>
<div class="form-group">
<td><b id="info-zhuCar"></b></td>
</tr>
<tr>
<td style="width: 15%;">租用人:</td>
<td><b id="info-zhuName"></b></td>
</tr>
<tr>
<td style="width: 15%;">起租日期:</td>
<td><b id="info-zhuStartdate"></b></td>
</tr>
<tr>
<td style="width: 15%;">结束日期:</td>
<td><b id="info-zhuEnddate"></b></td>
};
modal.find('#edit-zhuText').val(vo.zhuText);
}
})
})
$('#modal-info').on('show.bs.modal', function (event) {
let button = $(event.relatedTarget);
let id = button.data('id');
let modal = $(this);
$.ajax({
url: 'ZhuServlet?action=get&id=' + id,
type: "get",
success: function (voString) {
let vo = eval('(' + voString + ')');
modal.find('#info-zhuNo').text(vo.zhuNo);
modal.find('#info-zhuCarno').text(vo.zhuCarno);
modal.find('#info-zhuCar').text(vo.zhuCar);
modal.find('#info-zhuName').text(vo.zhuName);
</div>
</body>
<script>
$('#modal-delete').on('show.bs.modal', function (event) {
let button = $(event.relatedTarget);
let id = button.data('id');
let modal = $(this);
modal.find('#delete-id').val(id);
})
$('#modal-edit').on('show.bs.modal', function (event) {
let button = $(event.relatedTarget);
let id = button.data('id');
let modal = $(this);
$.ajax({
url: 'ZhuServlet?action=get&id=' + id,
type: "get",
success: function (voString) {
let vo = eval('(' + voString + ')');
<button type="button" class="close" data-dismiss="modal"
aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h4 class="modal-title" id="myModalLabel">增加出租</h4>
</div>
<div class="modal-body">
<div class="form-group hidden">
<label class="control-label">(hidden)</label>
<input type="text" class="form-control" name="action" value="add">
</div>
<div class="form-group">
<label for="add-zhuNo" class="control-label">出租编号:</label>
<input type="text" class="form-control" name="zhuNo" id="add-zhuNo">
<input type="text" class="form-control" name="zhuEnddate" id="edit-zhuEnddate">
</div>
<div class="form-group">
<label for="edit-zhuPrice" class="control-label">金额:</label>
<input type="text" class="form-control" name="zhuPrice" id="edit-zhuPrice">
</div>
<div class="form-group">
<label class="control-label">付款状态:</label>
<input name="zhuStatus" id="edit-zhuStatus_已付款" type="radio" value="已付款"/>已付款
<input name="zhuStatus" id="edit-zhuStatus_待付款" type="radio" value="待付款"/>待付款
</div>
<div class="form-group">
<label for="edit-zhuText" class="control-label">备注:</label>
<textarea style="height: 100px;" class="form-control" name="zhuText" id="edit-zhuText"></textarea>
</div>
<div class="form-group hidden">
<label for="edit-createTime" class="control-label">创建时间:</label>
alert("出租编号不能为空");
return false;
}
if (document.getElementById("add-zhuCarno").value.trim().length == 0) {
alert("车牌号不能为空");
return false;
}
if (document.getElementById("add-zhuCar").value.trim().length == 0) {
alert("型号不能为空");
return false;
}
if (document.getElementById("add-zhuName").value.trim().length == 0) {
alert("租用人不能为空");
return false;
}
if (document.getElementById("add-zhuStartdate").value.trim().length == 0) {
alert("起租日期不能为空");
return false;
}
if (document.getElementById("add-zhuEnddate").value.trim().length == 0) {
alert("结束日期不能为空");
<div class="form-group">
<label for="add-zhuCarno" class="control-label">车牌号:</label>
<input type="text" class="form-control" name="zhuCarno" id="add-zhuCarno">
</div>
<div class="form-group">
<label for="add-zhuCar" class="control-label">型号:</label>
<input type="text" class="form-control" name="zhuCar" id="add-zhuCar">
</div>
<div class="form-group">
<label for="add-zhuName" class="control-label">租用人:</label>
<input type="text" class="form-control" name="zhuName" id="add-zhuName">
</div>
<div class="form-group">
<label for="add-zhuStartdate" class="control-label">起租日期:</label>
<input type="text" class="form-control" name="zhuStartdate" id="add-zhuStartdate">
</div>
<div class="form-group">
if (document.getElementById("edit-zhuCarno").value.trim().length == 0) {
alert("车牌号不能为空");
return false;
}
if (document.getElementById("edit-zhuCar").value.trim().length == 0) {
alert("型号不能为空");
return false;
}
if (document.getElementById("edit-zhuName").value.trim().length == 0) {
alert("租用人不能为空");
return false;
}
if (document.getElementById("edit-zhuStartdate").value.trim().length == 0) {
alert("起租日期不能为空");
return false;
}
<input type="text" class="form-control" name="zhuEnddate" id="add-zhuEnddate">
</div>
<div class="form-group">
<label for="add-zhuPrice" class="control-label">金额:</label>
<input type="text" class="form-control" name="zhuPrice" id="add-zhuPrice">
</div>
<div class="form-group">
<label class="control-label">付款状态:</label>
<input name="zhuStatus" id="add-zhuStatus_已付款" type="radio" value="已付款" checked="checked"/>已付款
<input name="zhuStatus" id="add-zhuStatus_待付款" type="radio" value="待付款"/>待付款
</div>
<div class="form-group">
<label for="add-zhuText" class="control-label">备注:</label>
<textarea style="height: 100px;" class="form-control" name="zhuText" id="add-zhuText"></textarea>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-pill btn-grad btn-primary" data-dismiss="modal">取消</button>
<button type="submit" class="btn btn-pill btn-grad btn-danger">提交</button>
Java代码:略
运行环境
Java≥6、Tomcat≥7.0、MySQL≥5.5
开发工具
idea/eclipse/MyEclipse
技术框架
JavaWeb JavaBean JSP MVC MySQL Tomcat JavaScript Bootstrap Ajax
基础JSP+Servlet或JSP+SSM(Spring、SpringMVC、MyBatis)框架或JSP+SSM+Maven(pom.xml)框架或SpringBoot…均可
开发工具:idea或eclipse或myeclipse
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
登录、注册、退出、用户模块、公告模块、汽车模块、出租模块的增删改查管理
←源码获取方式见左侧[源码QQ]