基于Web的停车场管理系统(Java)

目录


一、系统介绍

1.开发的环境

开发工具:IntelliJ IDEA 2022

JDK版本:1.8

数据库:MySQL 8.0

数据库管理软件:Navicat 15.0.27

服务器:apach-tomcat-9.0.68

2.本系统实现的功能

基于Web停车场管理系统主要用于实现停车场相关信息管理,基本功能包括:系统信息管理模块、车位信息管理模块、IC卡信息管理模块、固定车主停车管理模块、临时车辆信息管理模块、系统功能操模块等。本系统结构如下:
    (1)系统信息管理模块:角色的增加、删除、修改和查询;用户的增加、删除、修改和查询。
    (2)车位信息管理模块:车位信息的增加、删除、修改和查询。
    (3)IC卡信息管理模块:IC卡信息的增加、删除、修改和查询。
    (4)固定车主停车管理模块:对固定车主的停车信息进行增加、删除、修改和查询
    (5)临时车辆信息管理模块:对临时车辆的停车信息进行增加、删除、修改、查询和打印
    (6)系统功能操模块:退出登陆、修改密码。

3.数据库用到的表

card, fixed, role, seat, temp, user

4.工程截图

二、系统展示

1、登录页面

 2、首页

3、系统信息管理模块 

 

 4、车位信息管理模块

 

 5、IC卡信息管理模块

6、固定车主停车管理模块

7、临时车主停车管理模块

8、系统功能操作模块

三、部分代码展示

1、Index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" errorPage="_Error.jsp"%>
<%
	String path = request.getContextPath();//获取项目名称
%>
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>智能化停车场管理系统</title>
<link href="<%=path %>/Style/Index.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="<%=path %>/Script/jquery-1.10.1.js"></script>
<script type="text/javascript" src="<%=path %>/Script/Index.js"></script>
</head>
<body>
	
	 <%-- 判断uName是否存在,如何不存在则证明非登录操作,跳转至登录页面 --%>
	 <%  if (session.getAttribute("user_name") == null ) {%>
	 <jsp:forward page="Login.jsp" ></jsp:forward>
	 <% } %>

	<!--header-->
 	<div class="header">
	        <div class="header_logo">
	        	智能化停车场管理系统
	        </div>
	        <%-- 
	        <div class="func">
	        	<ul>
	            	<li class="li_func1"><a href="<%=path %>/Common/ChagePwd.jsp" target="mainFrame">修改密码</a></li>
	                <li class="li_func2"><a href="<%=path %>/Common/UserInfo.jsp" target="mainFrame">用户信息</a></li>
	                <li class="li_func3"><a href="<%=path %>/Common/Logout.jsp">退出系统</a></li>
	            </ul>
	        </div>
	       --%>
    	</div>

    
    <div class="wrap">
        <ul class="siderbar">
        	
        	<%
        		if(session.getAttribute("role_id").toString().equals("r001"))
        		{
        	%>
        	<li><span>系统信息管理</span>
	        	<ul>
	        	
	               <li><a href="<%=path %>/Admin/RoleAdd.jsp" target="mainFrame">添加角色信息</a></li>
	               <li><a href="<%=path %>/RoleHandle?type=4" target="mainFrame">管理角色信息</a></li>
	               <li><a href="<%=path %>/Admin/UserAdd.jsp" target="mainFrame">添加用户信息</a></li>
	               <li><a href="<%=path %>/UserHandle?type=4" target="mainFrame">管理用户信息</a></li>
	        	</ul>
	        </li>
	        <li><span>车位信息管理</span>
	            <ul>
	               <li><a href="<%=path %>/Admin/SeatAdd.jsp" target="mainFrame">添加车位信息</a></li>
	               <li><a href="<%=path %>/SeatHandle?type=4" target="mainFrame">管理车位信息</a></li>
	            </ul>
	        </li>
	        <li><span>IC卡信息管理</span>
	            <ul>
	                <li><a href="<%=path %>/Admin/CardAdd.jsp" target="mainFrame">添加IC卡类型</a></li>
	                <li><a href="<%=path %>/CardHandle?type=4" target="mainFrame">管理IC卡类型</a></li>
	            </ul>
	        </li>
	        <li><span>固定车主停车管理</span>
	            <ul>
	                <li><a href="<%=path %>/FixedHandle?type=6" target="mainFrame">出入场设置</a></li>
	                <li><a href="<%=path %>/FixedHandle?type=4" target="mainFrame">停车信息管理</a></li>
	        	</ul>
	        </li>
	        <li><span>临时车辆停车管理</span>
	        	<ul>
	                <li><a href="<%=path %>/Admin/TempAdd.jsp" target="mainFrame">车主入场信息</a></li>
	                <li><a href="<%=path %>/TempHandle?type=4" target="mainFrame">车主出场信息</a></li>
	        	</ul>
            </li>
	        <li><span>系统功能操作</span>
	        	<ul>
	                <li><a href="<%=path %>/Common/ChagePwd.jsp" target="mainFrame">修改密码</a></li>
	                <li><a href="<%=path %>/Common/Logout.jsp">退出系统</a></li>
	        	</ul>
	       </li>
	        <%
	        	}
	        	else
	        	{
	        %>  	        	    	        
	        <p>留言信息管理</p>
	        <div>
	                <a href="<%=path %>/User/MsgAdd.jsp" target="mainFrame">添加留言信息</a>
	                <a href="<%=path %>/MsgHandle?type=4" target="mainFrame">管理留言信息</a>
	        </div>
	        
	        <li><span>系统功能操作</span>
	        <div>
	                <a href="<%=path %>/Common/ChagePwd.jsp" target="mainFrame">修改密码</a>
	                <a href="<%=path %>/Common/UserInfo.jsp" target="mainFrame">个人信息</a>
	                <a href="<%=path %>/Common/Logout.jsp">退出系统</a>
	        </div>

	        <%
	        	}
	         %>
	       	 
        </ul>
        
       	<div class="content">
              	<iframe width="99%" height="100%" name="mainFrame" frameborder="0" >
                  
                </iframe>
        </div>
   </div>
        
   <div class="footer"></div>
</body>
</html>

2、Login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%
	String path = request.getContextPath();//获取项目名称
%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>欢迎登陆</title>
<link rel="stylesheet" type="text/css" href="<%=path %>/Style/Login.css" />
<script type="text/javascript" src="Script/jquery-1.10.1.js"></script>
<script type="text/javascript">
	$(function()
	{
		$(document).on("click",".a_reg",function()
		{
			$(".model").fadeIn();
		});
		
		$(document).on("click",".a_close",function()
		{
			$(".model").fadeOut();
		});
	});
	
	function checkPwd()
	{
		if($("[name=user_pwd1]").val()!=$("[name=re_pwd]").val())
		{
			alert("两次输入密码不一致~~~");
			return false;
		}
		else
		{
			return true;
		}
	};
</script>
</head>
<body>
	<div class="wrapLogin">
		    <div class="loginPanel">
		    	<form action="<%=path %>/LoginHandle" method="post">
		    		<h2>智能化停车场管理系统</h2>
			       	<p><label>用名:</label><input type="text" name="user_id" value="Sadmin" /></p>
			           	<p><label>密码:</label><input type="password" name="user_pwd" value="123456"  /></p>
			        	<p class="btn"><input type="submit" class="btnLogin" value="登陆"  /><input type="button" class="btnCancel" value="重置" /></p>	       		
		       	</form>
		     </div>
    </div>
		<!-- loginPanel End -->
</body>
</html>

3、Login.java

package DAL;

import DBUtil.SQLUtil;

public class Login {
	
	//检测用户登录信息是否合法,合法这返回true
	public boolean checkLogin(String user_id,String user_pwd)
	{
		String sqlCmd="select count(*) from user where user_id=? and user_pwd=?";//要执行的查询T-SQL命令
		Object[] objList=new Object[2];//对象数组,用来作为?参数的容器
		objList[0]=user_id;
		objList[1]=user_pwd;
		String result=SQLUtil.excuteScalar(sqlCmd,objList).toString();//执行带参数查询
		if(result.equals("1"))
		{
			return true;
		}
		else {
			return false;
		}
	}
	
	//根据用户Id获取用户名
	public String  getName(String user_id)
	{
		String sqlCmd="select user_name from user where user_id='"+user_id+"'";
		String result=SQLUtil.excuteScalar(sqlCmd, null).toString();
		return result;
	}
	
	//获取用户等级(角色Id)信息
	public String  getSysLevel(String user_id)
	{
		String sqlCmd="select role_id from user where user_id='"+user_id+"'";
		String result=SQLUtil.excuteScalar(sqlCmd, null).toString();
		return result;
	}
}

 4、User.java

        package DAL;

        import java.util.*;
        
import DBUtil.SQLUtil;
        
        public class User {

		//获取用户表信息列表
		public List<Object> getEntity()
		{
			String sqlCmd="select *from User";
			return DBUtil.SQLUtil.executeQuery(sqlCmd, null);//执行查询操作executeQuery
		}
            
       //获取分页后用户表信息列表
		public List<Object> getEntity(int page)
		{
			int size=(page-1)*15;
			String sqlCmd="select *from V_User limit "+size+",15";
			return DBUtil.SQLUtil.executeQuery(sqlCmd, null);//执行查询操作executeQuery
		}
                
        //根据查询条件sqlWhere获取分页后用户表信息列表
		public List<Object> getEntityByWhere(String sqlWhere,int page)
		{
			int size=(page-1)*15;
			String sqlCmd="select *from V_User where "+sqlWhere+" limit "+ size+",15";
			return DBUtil.SQLUtil.executeQuery(sqlCmd, null);//执行查询操作executeQuery
        }
        
        //删除用户表信息
        public int deleteEntity(String user_id)
        {
            String sqlCmd="delete from User where user_id='"+user_id+"'";
            return DBUtil.SQLUtil.executeNonQuery(sqlCmd, null);//执行非查询操作executeNonQuery
        }
        
        //根据用户表编号获取用户表信息
        public List<Object> getEntityById(String user_id)
        {
            String sqlCmd="select *From V_User where user_id='"+user_id+"'";
            return DBUtil.SQLUtil.executeQuery(sqlCmd, null);//执行查询操作executeQuery
        }
        
        //更新用户表信息
        public int updateEntity(String user_id,String role_id,String user_name,String real_name,String user_pwd,String user_phone)
        {
            String sqlCmd="Update User set role_id='" + role_id + "',user_name='" + user_name + "',real_name='" + real_name + "',user_pwd='" + user_pwd + "',user_phone='" + user_phone + "' where user_id='"+user_id+"'";
            return SQLUtil.executeNonQuery(sqlCmd, null);
        }
        
        //插入用户表信息
        public int insertEntity(String user_id,String role_id,String user_name,String real_name,String user_pwd,String user_phone)
        {
            String sqlCmd="Insert into User values('" + user_id + "','" + role_id + "','" + user_name + "','" + real_name + "','" + user_pwd + "','"+user_phone+"')";
            return SQLUtil.executeNonQuery(sqlCmd, null);
        }
        
        //检查插入主键是否重复
        public boolean checkExist(String user_id)
        {
            String sqlCmd="select count(*) from V_User where user_id='"+user_id+"'";
            if(1==Integer.parseInt(SQLUtil.excuteScalar(sqlCmd, null).toString()) )
            {
                return true;
            }
            return false;
        }

		//获取分页总数
		public Object getPageCount()
		{
			String sqlCmd="SELECT CEIL( COUNT(*)/15.0) FROM V_User ";
			return SQLUtil.excuteScalar(sqlCmd, null);
		}

		//根据查询条件获取分页总数
		public Object getPageCountByWhere(String sqlWhere)
		{
			String sqlCmd="SELECT CEIL( COUNT(*)/15.0) FROM V_User where "+sqlWhere;
			return SQLUtil.excuteScalar(sqlCmd, null);
		}
		
		//检查插入密码是否输入正确(改密码)
        public boolean checkPwd(String UserId,String pwd)
        {
            String sqlCmd="select count(*) from V_User where user_id='"+UserId+"' and user_pwd='"+pwd+"'";
            if(1==Integer.parseInt(SQLUtil.excuteScalar(sqlCmd, null).toString()) )
            {
                return true;
            }
            return false;
        }
        
        //检查插入密码是否输入正确(改密码)
        public boolean updataPwd(String UserId,String pwd)
        {
            String sqlCmd="Update user set user_pwd='"+pwd+"'  where user_id='"+UserId+"'";
            if(SQLUtil.executeNonQuery(sqlCmd, null)==1)
            {
            	return true;
            }
            return false;
        }
            
    }

五、申明

本项目来自北京尚学堂机构的分享。发布于此,仅供交流学习。

如有侵权请联系我删除!!!

六、源码获取

链接:https://pan.baidu.com/s/1XeqtRnYVqKjXO5q0g9M6Dw 

一键三连(点赞、关注加收藏)再私信博主,即可获取提取码!(如果回复不及时,请谅解)

祝大家学业有成!

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
乘风的头像乘风管理团队
上一篇 2023年12月19日
下一篇 2023年12月19日

相关推荐