基于javaweb的停车场管理系统(java+ssm+jsp+bootstrap+mysql)

基于javaweb的停车场管理系统(java+ssm+jsp+bootstrap+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

20220520141316

20220520141317

20220520141318

20220520141319

20220520141321

20220520141322

基于javaweb+ssm的停车场管理系统(java+SSM+JSP+Bootstrap+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+Bootstrap+Javascriipt

使用说明

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

车辆管理控制层:

@Controller

public class CarController {

@Autowired

@Qualifier(“pmsService”)

private PmsService pmsService;

@RequestMapping(value= {“/carMg”})

public String carMg(@ModelAttribute(“car”) Car car) {

return “manager/carMg”;

@RequestMapping(value=“/manager/car-list”)

public void selectRepair(

HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{

request.setCharacterEncoding(“UTF-8”);

String key = request.getParameter(“key”);

String pageNoStr = request.getParameter(“pageNo”);

String rowMaxStr = request.getParameter(“rowMax”);

int pageNo = Integer.valueOf(pageNoStr);

int rowMax = Integer.valueOf(rowMaxStr);

Car car = new Car();

car.setUserId(key);

PageVO page = pmsService.listCar(car, pageNo, rowMax);

response.reset();

response.setContentType(“text/plain;charset=UTF-8”);

response.getWriter().print(JSON.toJSONString(page));

response.flushBuffer();

@RequestMapping(value=“/manager/addCar”)

public void addCar(@ModelAttribute(“car”) Car car){

pmsService.addCar(car);

System.out.println(“add car :”+ car.getCarNum());

car = null;

@RequestMapping(value=“/manager/updateCar”)

public void updateCar(@ModelAttribute(“car”) Car car){

pmsService.modifyCar(car);

System.out.println(“modify Car :”+ car.getCarNum());

@RequestMapping(value=“/manager/deleteCar”)

public void deleteCar(@RequestBody Car car, HttpServletResponse response){

String carNum = car.getCarNum();

pmsService.removeCarById(carNum);

System.out.println(“delete Car :”+ carNum);

@RequestMapping(value=“/manager/loadEditCar”)

@ResponseBody

public Object loadEditCar(@RequestParam(value=“carNum”,required=false) String carNum){

Car car = new Car();

car = pmsService.findCarById(carNum);

System.out.println(“load Car :”+ carNum);

return car;

用户管理控制器:

/**

  • 用户管理控制器

*/

@RestController

@RequestMapping(“user”)

public class UserController {

@Autowired

private UserService userService;

/*

  • 加载用户列表返回DataGridView

*/

@RequestMapping(“loadAllUser”)

public DataGridView loadAllmeenu(UserVo userVo) {

return this.userService.queryAllUser(userVo);

/*

  • 注册用户–查询用户名是否存在

*/

@RequestMapping(“queryLoginName”)

public ResultObj queryLoginName(UserVo userVo) {

Integer count = this.userService.queryLoginName(userVo.getLoginname());

if (count != 0) {

return ResultObj.USER_EXIST;

return null;

/*

  • 注册用户

*/

@RequestMapping(“signup”)

public ResultObj signup(UserVo userVo) {

try {

String code = WebUtils.getHttpSession().getAttribute(“code”).toString();

if (userVo.getCode().toLowerCase().equals(code)) {

this.userService.signUpUser(userVo);

return ResultObj.SIGNUP_SUCCESS;

} else {

return ResultObj.USER_SIGNUP_CODE_ERROR_MSG;

} catch (Exception e) {

e.printStackTrace();

return ResultObj.SIGNUP_ERROR;

/*

  • 添加用户

*/

@RequestMapping(“addUser”)

public ResultObj addUser(UserVo userVo) {

try {

this.userService.addUser(userVo);

return ResultObj.ADD_SUCCESS;

} catch (Exception e) {

e.printStackTrace();

return ResultObj.ADD_ERROR;

/*

  • 修改用户

*/

@RequestMapping(“updateUser”)

public ResultObj updateUser(UserVo userVo) {

try {

this.userService.updateUser(userVo);

return ResultObj.UPDATE_SUCCESS;

} catch (Exception e) {

e.printStackTrace();

return ResultObj.UPDATE_ERROR;

/*

  • 删除用户

*/

@RequestMapping(“deleteUser”)

public ResultObj deleteUser(UserVo userVo) {

System.out.println(userVo);

System.out.println(userVo.getUserid());

try {

this.userService.deleteUser(userVo.getUserid());

return ResultObj.DELETE_SUCCESS;

} catch (Exception e) {

e.printStackTrace();

return ResultObj.DELETE_ERROR;

/*

  • 批量删除用户

*/

@RequestMapping(“deleteBatchUser”)

public ResultObj deleteBatchUser(UserVo userVo) {

try {

this.userService.deleteBatchUser(userVo.getIds());

return ResultObj.DELETE_SUCCESS;

} catch (Exception e) {

e.printStackTrace();

return ResultObj.DELETE_ERROR;

/*

  • 重置用户密码

*/

@RequestMapping(“resetUserPwd”)

public ResultObj resetUserPwd(UserVo userVo) {

try {

this.userService.resetUserPwd(userVo.getUserid());

return ResultObj.RESET_SUCCESS;

} catch (Exception e) {

e.printStackTrace();

return ResultObj.RESET_ERROR;

/*

  • 加载用户管理分配的分配角色的数据

*/

@RequestMapping(“initUserRole”)

public DataGridView initUserRole(UserVo userVo) {

return this.userService.queryUserRole(userVo.getUserid());

/*

  • 保存用户和角色的关系

*/

@RequestMapping(“saveUserRole”)

public ResultObj saveUserRole(UserVo userVo) {

try {

this.userService.saveUserRole(userVo);

return ResultObj.DISPATCH_SUCCESS;

} catch (Exception e) {

e.printStackTrace();

return ResultObj.DISPATCH_ERROR;

/*

  • 修改个人信息

*/

@RequestMapping(“updateUserInfo”)

public ResultObj updateUserInfo(UserVo userVo) {

try {

String headimg = userVo.getHeadimg();

if (headimg.endsWith(SysConstast.FILE_UPLOAD_TEMP)) {

String filePath = AppFileUtils.updateFileName(headimg, SysConstast.FILE_UPLOAD_TEMP);

userVo.setHeadimg(filePath);

// 把原来的删除

User user = this.userService.queryUserInfo(userVo.getUserid());

AppFileUtils.removeFileByPath(user.getHeadimg());

this.userService.updateUserInfo(userVo);

return ResultObj.UPDATE_SUCCESS;

} catch (Exception e) {

e.printStackTrace();

return ResultObj.UPDATE_ERROR;

/*

  • 查询个人信息

*/

@RequestMapping(“queryUserInfo”)

public User queryUserInfo() {

User user = (User) WebUtils.getHttpSession().getAttribute(“user”);

user = this.userService.queryUserInfo(user.getUserid());

return user;

/*

  • 查询密码

*/

@RequestMapping(“queryPwd”)

public ResultObj queryPwd(UserVo userVo) {

User user = (User) WebUtils.getHttpSession().getAttribute(“user”);

user = this.userService.queryUserInfo(user.getUserid());

// 生成密文

String pwd = DigestUtils.md5DigestAsHex(userVo.getPwd().getBytes());

userVo.setPwd(pwd);

if (userVo.getPwd().equals(user.getPwd())) {

return ResultObj.PWD_SUCCESS;

} else {

return ResultObj.PWD_ERROR;

/*

  • 更改密码之查询密码

*/

@RequestMapping(“updatePwd”)

public ResultObj updatePwd(UserVo userVo) {

try {

User user = (User) WebUtils.getHttpSession().getAttribute(“user”);

// 生成密文

String pwd = DigestUtils.md5DigestAsHex(userVo.getPwd().getBytes());

userVo.setUserid(user.getUserid());

userVo.setPwd(pwd);

// 修改密码

this.userService.updateUser(userVo);

return ResultObj.UPDATE_SUCCESS;

} catch (Exception e) {

return ResultObj.UPDATE_ERROR;

车辆修理管理控制层:

@Controller

public class RepairController {

@Autowired

@Qualifier(“pmsService”)

private PmsService pmsService;

@RequestMapping(value= {“/repairMg”})

public String repairMg(@ModelAttribute(“repair”) Repair repair) {

return “manager/repairMg”;

@RequestMapping(value=“/manager/repair-list”)

public void selectRepair(

HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{

request.setCharacterEncoding(“UTF-8”);

String key = request.getParameter(“key”);

String pageNoStr = request.getParameter(“pageNo”);

String rowMaxStr = request.getParameter(“rowMax”);

String repairState1 = request.getParameter(“repairState”);

int pageNo = Integer.valueOf(pageNoStr);

int rowMax = Integer.valueOf(rowMaxStr);

int repairState = Integer.valueOf(repairState1);

Repair repair = new Repair();

repair.setUserId(key);

repair.setRepairState(repairState);

PageVO page = pmsService.listRepair(repair, pageNo, rowMax);

response.reset();

response.setContentType(“text/plain;charset=UTF-8”);

response.getWriter().print(JSON.toJSONString(page));

response.flushBuffer();

@RequestMapping(value=“/manager/updateRepair”)

public void updateRepair(@ModelAttribute(“repair”) Repair repair){

repair.setRepairState(repair.getTypeId());

pmsService.modifyRepair(repair);

System.out.println(“modify Repair :”+ repair.getRepairId());

@RequestMapping(value=“/manager/deleteRepair”)

public void deleteRepair(@RequestBody Repair repair, HttpServletResponse response){

int repairId = repair.getRepairId();

pmsService.removeRepair(repairId);

System.out.println(“delete Repair :”+ repairId);

@RequestMapping(value=“/manager/loadEditRepair”)

@ResponseBody

public Object loadEditRepair(@RequestParam(value=“repairId”,required=false) String repairId){

int repairId1 = Integer.valueOf(repairId);

Repair repair = new Repair();

repair = pmsService.findRepair(repairId1);

System.out.println(“load Repair :”+ repairId);

return repair;

@RequestMapping(value=“repair”)

public String repair(Model model) {

return “user/repair”;

@RequestMapping(value=“user/repair-list”)

public void selectAdvice(HttpServletRequest request, HttpServletResponse response, HttpSession session)

throws ServletException, IOException {

request.setCharacterEncoding(“UTF-8”);

User user = (User) session.getAttribute(“user”);

String pageNoStr = request.getParameter(“pageNo”);

String rowMaxStr = request.getParameter(“rowMax”);

String repairState = request.getParameter(“repairState”);

String beginDate = request.getParameter(“beginDate”);

String endDate = request.getParameter(“endDate”);

System.out.println(beginDate);

System.out.println(endDate);

int pageNo = Integer.valueOf(pageNoStr);

int rowMax = Integer.valueOf(rowMaxStr);

int reState = Integer.valueOf(repairState);

Repair repair =new Repair();

repair.setUserId(user.getUserId());

repair.setRepairState(reState);

PageVO page = pmsService.listRepair(repair, pageNo, rowMax);

response.reset();

response.setContentType(“text/plain;charset=UTF-8”);

response.getWriter().print(JSON.toJSONString(page));

response.flushBuffer();

@RequestMapping(value=“/user/addRepair”)

public void addRepair(HttpServletRequest request, HttpServletResponse response, HttpSession session,

@ModelAttribute(“repair”) Repair repair) throws ServletException, IOException{

request.setCharacterEncoding(“UTF-8”);

String buildingNum = request.getParameter(“buildingNum”);

String roomNum = request.getParameter(“roomNum”);

Date date = (Date) new Timestamp(System.currentTimeMillis());

User user = (User) session.getAttribute(“user”);

String userId = user.getUserId();

int bdNum = Integer.valueOf(buildingNum);

int rmNum = Integer.valueOf(roomNum);

repair.setUserId(userId);

repair.setRepairDate(date);

repair.setBuildingNum(bdNum);

repair.setRoomNum(rmNum);

repair.setRepairState(0);

pmsService.addRepair(repair);

@RequestMapping(value=“/user/loadRepair”)

@ResponseBody

public Object loadAdvice(@RequestParam(value=“repairId”,required=false) String repairId){

int id = Integer.valueOf(repairId);

Repair repair = new Repair();

repair = pmsService.selectRepairByIdUser(id);

return repair;


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
初始化停车场(确定停车区个数n,每个停车区的停车位,且初始时,停车场为空),说明:使用一个共享数组(临界资源)存储每个停车区中空闲停车位的个数,每一个停车区使用一个共享缓冲区可容纳一辆车,停车场公共通道允许通过两辆车通过。 停车场入口检查是否有空闲停位,如果有发放相关停车区的停车卡,允许停车。如果不存在空闲车位,等待到有空闲车位止。注,入口处应尽量发放不同停车区的停车卡,以获得更高的效率。停车场过道允许两辆车同时通过。 停车场出口,回收停车卡,并修改相关停车区空闲车位数。注:同一时刻只能有一个车出停车场。 每一个停车区,有一个待车位,供进入停车区车辆进入停车区。停车区只能有一辆车进或出。 每辆车每进入下一环节皆应停留一定时间。每一个用户建立一个窗口,于窗口中显示当前将态。将状态转换可由人工确定亦可自动完成,但进入下状态时需要停留学生一定的时间,以保证多个用户“并行”工作。 本框架由四个类组成,这四个类分别是:InitFrame、WotkFram、carJFrame及carThread,由InitFrame启动。类InitFrame提供停车场初始化功能,完成初始任务后启动类WotkFram界面,执行停车场模拟程序,点击命令按扭“进入停车场”,建立一个线程(线程类名为carThread),线程建立一个carJFrame窗口(车辆进入、离开停车场操作程序)模拟车辆进入或离开停车场

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值