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

news2024/9/21 18:36:06

目录

一、系统介绍

1.开发的环境

2.本系统实现的功能

3.数据库用到的表

4.工程截图

二、系统展示

1、登录页面

 2、首页

3、系统信息管理模块 

 4、车位信息管理模块

 5、IC卡信息管理模块

​编辑6、固定车主停车管理模块

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

8、系统功能操作模块

三、部分代码展示

1、Index.jsp

2、Login.jsp

3、Login.java

 4、User.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;
        }
            
    }

五、申明

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

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

六、源码获取

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

祝大家学业有成!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/659680.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

unity3d:小地图UV,UGUIshader毒圈挖孔,缩圈

运行效果 场景中缩圈 小地图中挖孔 大地图中挖孔 小地图 方案1使用Mask 给了一个方形的mask组件&#xff0c;然后根据玩家位置计算出地图左下角的位置进行移动。这种实现方式虽然简单&#xff0c;但是会有两个问题&#xff1a; 1.Overdraw特别大&#xff0c;几乎很多时候会有…

【LLMs 入门实战 】Vicuna 模型学习与实战

UC伯克利学者联手CMU、斯坦福等&#xff0c;再次推出一个全新模型70亿/130亿参数的Vicuna&#xff0c;俗称「小羊驼」&#xff0c;小羊驼号称能达到GPT-4的90%性能。 欢迎使用小羊驼&#x1f999;环境搭建权重下载下载 Vicuna Weight下载 LLAMA Weight构建真正的 working weigh…

Lattice Planner从入门到放弃

Lattice Planner相关背景和更正式的公式推导可以直接参考其原始论文《Optimal Trajectory Generation for Dynamic Street Scenarios in a Frent Frame》&#xff08;ICRA 2010&#xff09;&#xff0c;本文侧重于Lattic planner理论和代码的结合。 1. Lattice Planner基本流程…

2023年6月GESP能力等级认证C++一级真题

2023-06 GESP一级真题 题数&#xff1a;27 分数&#xff1a;100 测试时长&#xff1a;60min 一、选择题(每题 2 分&#xff0c;共 30 分) 1.以下不属于计算机输入设备的有 (B ) 。&#xff08;2分&#xff09; A、键盘 B、音箱 C、鼠标 D、传感器 答案解析&#xff1…

如果你正在做AI测试,那么这十点你必须注意

AI是一个已经进入人类日常生活的新技术时代&#xff0c;例如Siri&#xff0c;Alexa语音接口等。通过大数据和数据科学实现数据存储的进步&#xff0c;使用户能够进行快速分析和数据检索。机器学习是一个新领域&#xff0c;机 AI是一个已经进入人类日常生活的新技术时代&#x…

今天我们来说说MySQL的缓存机制

原文链接&#xff1a;http://www.ibearzmblog.com/#/technology/info?id5770c555acd4302f81d86976c06e2319 前言 当我们向数据库服务器发送一条SQL的时候&#xff0c;但数据库收到后就会执行&#xff0c;但是如果在短时间内都执行同一条SQL&#xff0c;如果每次数据库都会执…

CUDA和显卡驱动以及pytorch版本的对应关系

1 支持CUDA 的GPU 支持 CUDA 的 NVIDIA Quadro 和 NVIDIA RTX CUDA GPU | NVIDIA Developer您的 GPU 计算能力 您是否正在寻找 GPU 的计算能力然后查看以下表格。您可以在这里了解更多 计算能力 。 NVIDIA GPU 为全球数百万台台式机笔记本电脑工作站和超级计算机提供动力加速…

《计算机网络——自顶向下方法》精炼——4.4.3-4.4.5

学习是终身的职业。在学习的道路上&#xff0c;谁想停下来就要落伍。 文章目录 UPnP因特网控制报文协议&#xff08;ICMP&#xff09;IPv6IPv6数据报格式IPv4到IPv6的变革 UPnP 通用即插即用&#xff08;UPnP&#xff09;提供了一种让外部网络的主机与NAT内主机交换数据的方式…

六十分之十七———低头拉车后的抬头看路

目录 前言&#xff1a;一、目标二、计划三、完成情况四、提升改进(最少3点)五、意外之喜(最少2点)六、总结 前言&#xff1a; 距离上次的月总已经过去四个多月时间了&#xff0c;这段时间里又是一次阶段性的下沉和突破&#xff0c;于是也就有了现在的总结。 此时还想将自己17…

未来10年,网络安全人才就业的黄金期

随着大数据、物联网、人工智能等新技术的发展&#xff0c;信息技术与经济社会各领域的融合也更加深入。网络攻击行为日趋复杂、黑客攻击行为组织性更强、针对手机无线终端的网络攻击日趋严重&#xff0c;近几年有关网络攻击和数据泄露的新闻层出不穷。因此&#xff0c;随着国家…

Planning-oriented Autonomous Driving 解析

abstract 现代自动驾驶系统通常是模块化的序列任务&#xff0c;这种方式很容易造成累积误差和任务协调不足&#xff0c;因此设计一个端到端架构&#xff0c;从全局的视角出发为agent的交互提供互补的特征提取。 introduction (a) Most industrial solutions deploy separate …

【QQ界面展示-获取监听到的通知的具体内容 Objective-C语言】

一、获取监听到的通知的具体内容 1.刚才这个没说啊,给大家补充一下, 我们看一下,刚才我们只说了一个通知的发布、和移除吧, 刚才我们这里,只是说了一个通知的发布、和移除吧, 以及监听, 那么,大家有没有发现, 我们一开始,给大家介绍的时候,是不是有两个对象啊,…

关于手机Camera的硬件电路知识

前阶段&#xff0c;小白教同事测了些Camere的基本功耗。正愁不知道写什么的小白&#xff0c;突然想到了素材&#xff0c;于是乎便趁着周末雷雨天宅家之际&#xff0c;写一篇关于手机Camere的硬件文章。 手机Camera 一、工作原理 关于Camera&#xff0c;景物通过镜头生成光学…

CRM软件能否代替Excel进行客户管理?

很多销售习惯使用Excel表格来管理客户&#xff0c;觉得这样既简单又方便。但随着客户的增多&#xff0c;使用Excel表格管理客户会带来很多问题。因此&#xff0c;客户管理不用Excel表格用CRM软件&#xff0c;是一种更加明智的选择。 1、统一管理数据 数据是企业的命脉。一旦客…

Python二级综合应用题:通讯录管理

Python二级考试中的最后一题一般是压轴题&#xff0c;有一定的难度&#xff0c;而且分值也高。此题一般分为1~3个问题&#xff0c;步步为赢&#xff0c;才能更好地解决。遇到这种问题&#xff0c;首先是不要怕&#xff0c;能解决几步是几步。今天我们一个通讯录管理题来说明一下…

Unbuntu下载Clion并配置Cmake工具

Clion 下载CLion安装Cmake工具 下载CLion 如果使用的是Unbuntu系统&#xff0c;一行命令就搞定了 sudo snap install clion --classic其他系统的下载方法就不在这里记载了 安装Cmake工具 刚下好Clion的时候&#xff0c;打开之后&#xff0c;如果没有Cmake工具.Clion是不会帮…

父亲节礼物:用Python编写一个小型游戏

名字&#xff1a;阿玥的小东东 学习&#xff1a;Python、C/C 主页链接&#xff1a;阿玥的小东东的博客_CSDN博客-python&&c高级知识,过年必备,C/C知识讲解领域博主 目录 安装必要的库 绘制游戏界面 添加游戏元素 为游戏添加交互性 结论 一、父亲节的来历简介 二…

taskAffinity、launchMode 与 flag

1、官方文档 public static final int FLAG_ACTIVITY_CLEAR_TASK 如果在传递给 的意向中设置&#xff0c;则 此标志将导致与 在活动开始之前要清除的活动。即活动 成为原本为空的任务和任何旧活动的新根 都完成了。这只能与 结合使用。Context.startActivity()FLAG_ACTIVITY_NE…

Kubernetes Blog 更新:DaoCloud 为数字世界寻找全局最优解

“ 近日&#xff0c;一篇名为《「DaoCloud 道客」与 Kubernetes--为数字世界寻找全局最优解》的博文&#xff0c;在 Kubernetes 的全球官网上线&#xff08;链接&#xff1a;https://kubernetes.io/case-studies/daocloud/&#xff09;&#xff0c;下面一起来了解一下具体内容…

ArcEngine二次开发0——入门(下载 部署 组件学习)

折腾一下ArcGIS Engine二次开发。 目录 1、开发环境配置2、部署一个ArcGIS Engine应用程序3、ArcObject组件学习4、报错及解决4、其他 1、开发环境配置 参考&#xff1a;https://blog.csdn.net/H48662654/article/details/113384150 &#xff08;使用ArcEngine前&#xff0c;…