毕业设计之---基于java web的停车管理系统

发布于:2023-07-04 ⋅ 阅读:(129) ⋅ 点赞:(0)


0 前言

今天向大家介绍一个毕业设计项目:基于java web的停车管理系统。

毕设帮助,开题指导,资料分享,疑问解答(见文末)

项目获取方式:

https://blog.csdn.net/fawubio/article/details/125236987


1 课题简介

本课题,实现车主进出停车场以及相关信息处理的停车场管理系统,其中包含了系统信息管理、车位信息管理、IC卡信息管理、固定车主停车管理、临时车辆信息管理、收费管理、打印管理、系统功能操作等。在系统信息管理中,包括添加角色信息、管理角色信息、添加用户信息、管理用户信息、管理角色信息和管理用户信息模块可以对角色和用户进行查询、编辑和删除;会在其中设置员工的信息和权限等;

2 实现功能

2.1 系统整体设计

在这里插入图片描述

  • 系统管理:包括管理员信息的管理,密码修改等功能。
  • 车位管理:添加车位信息两个区,包括添加车位编号、车位区域、车位备注等信息,管理车位信息包括查询、编辑、删除车主的车位信息。
  • 车辆管理:包括固定车辆管理和临时车辆管理,车辆管理包括出入场设置、查询、编辑、删除停车信息管理。
  • 报表打印:对整个停车场按时间对信息进行打印,查看报表信息
  • IC卡信息模块:添加IC卡信息,包括添加车位编号、用户姓名、性别、住址和车牌号码等信息,管理IC卡信息包括查询、编辑、删除车主拥有的IC卡信息。。

后台设计逻辑
在这里插入图片描述

3 运行效果展示

3.1 登录页面

在这里插入图片描述

3.2 系统账号信息查询页面

在这里插入图片描述

3.3 车位管理页面

在这里插入图片描述

3.4 车辆管理页面

在这里插入图片描述

3.5 其他

其他部分这里就不展示了。

4 部分实现代码

注册实现代码(仅关键部分)

package ServletHandle;


import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class LoginHandle extends HttpServlet {

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		response.setCharacterEncoding("UTF-8");//设置输出编码格式
		response.setContentType("text/html;charset=UTF-8");
		HttpSession session=request.getSession();
		String user_id=request.getParameter("user_id");//获取前台url传过来的uName参数
		String user_pwd=request.getParameter("user_pwd");//获取前台url传过来的uPwd参数
		DAL.Login _login=new DAL.Login();//实例化Login对象,来至DAL包
		boolean result=_login.checkLogin(user_id, user_pwd);//检查登陆用户是否合法
		if(result)//登陆正确
		{
			session.setAttribute("user_id", user_id);//将用户userId保存在session对象中全局使用
			String user_name=_login.getName(user_id);//获取用户名
			session.setAttribute("user_name", user_name);
			String role_id=_login.getSysLevel(user_id);
			session.setAttribute("role_id", role_id);
			request.getRequestDispatcher("/Index.jsp").forward(request, response);
		
		}
		else {//登陆错误
			PrintWriter out=response.getWriter();
			out.write("<script>alert('用户名或密码错误!');location.href='Login.jsp';</script>");
		}
	}

}
			package ServletHandle;

			import java.io.IOException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;

			import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;


import java.text.SimpleDateFormat;
import java.util.*;

			public class UserHandle extends HttpServlet {

			HttpServletRequest request;
			HttpServletResponse response;
			DAL.User user=new DAL.User();
	
			//通过表单get方式传值 将进入doGet函数(method="get")
			public void doGet(HttpServletRequest request, HttpServletResponse response)
					throws ServletException, IOException {
				this.response=response;
					this.request=request;
					int handleType=Integer.parseInt(request.getParameter("type").toString());
					switch (handleType) {
					case 1://类型1代表删除表中的数据
						deleteEntity();
						break;
					case 4://类型4代表获取表中信息
						getEntity();
						break;
					case 5://类型5代表根据查询条件获取表中信息
						getEntityByWhere();
						break;
					default:
						break;
					}
			}
	
			//通过表单post方式传值 将进入doPost函数(method="post")
			public void doPost(HttpServletRequest request, HttpServletResponse response)
					throws ServletException, IOException {
					this.request=request;
					this.response=response;
					int handleType=Integer.parseInt(request.getParameter("type").toString());//将前台页面传过来的type类型转化成整型
					switch (handleType) {
					case 2://类型2代表更新表中的数据
						updateEntity();
						break;
					case 3://类型3代表向表中添加数据
						insertEntity();
						break;
					case 6://类型6代表向更改密码
						chagePwd();
						break;
					case 7://类型7代表用户更新个人数据
						updateEntity();
						break;
					case 8://用户注册
						register();
					default:
						break;
					}
			}
			
			//更改密码
			private void chagePwd() throws IOException
			{
				response.setCharacterEncoding("UTF-8");
				response.setContentType("text/html;charset=UTF-8");
				PrintWriter out=response.getWriter();
				HttpSession session=request.getSession();
				String userId=session.getAttribute("user_id").toString();
				String oldPwd=new String(request.getParameter("OldPwd").getBytes("ISO8859_1"),"UTF-8");
				String newPwd=new String(request.getParameter("NewPwd").getBytes("ISO8859_1"),"UTF-8");
				if(user.checkPwd(userId, oldPwd))
				{
					if(user.updataPwd(userId, newPwd))
					{
						out.write("<script>alert('密码更改成功~~~');location.href='/Parking/Common/UserInfo.jsp'</script>");
					}
					else {
						out.write("<script>alert('密码更改失败~~~');location.href='/Parking/Common/ChagePwd.jsp'</script>");
					}
				}
				else {
					out.write("<script>alert('原始密码错误~~~');location.href='/Parking/Common/ChagePwd.jsp'</script>");
				}
			}
			
			//用户注册
			private void register() throws UnsupportedEncodingException, IOException
			{
				response.setCharacterEncoding("UTF-8");
				response.setContentType("text/html;charset=UTF-8");
				PrintWriter out=response.getWriter();
				
				String UserId=new String(request.getParameter("user_id").getBytes("ISO8859_1"),"UTF-8");
				String RoleId=new String(request.getParameter("role_id").getBytes("ISO8859_1"),"UTF-8");
				String UserName=new String(request.getParameter("user_name").getBytes("ISO8859_1"),"UTF-8");
				String RealName=new String(request.getParameter("real_name").getBytes("ISO8859_1"),"UTF-8");
				String UserPwd=new String(request.getParameter("user_pwd1").getBytes("ISO8859_1"),"UTF-8");
				String UserPhone=new String(request.getParameter("user_phone").getBytes("ISO8859_1"),"UTF-8");

				if(!user.checkExist(UserId))
				{
					if(user.insertEntity(UserId,RoleId,UserName,RealName,UserPwd,UserPhone)==1)
					{
					    SimpleDateFormat dateFormat =new    SimpleDateFormat("yyyyMMddHHmmss"); 
					    String AId=dateFormat.format(new Date());
					    //Account account=new Account();
					    //account.insertEntity(AId, UserId, "0","2015-12-30");
					    out.write("<script>alert('恭喜你,注册成功~'); location.href = '/Parking/Login.jsp';</script>");
					}
				}
				else {
					  out.write("<script>alert('您注册的登陆账号已存在,请重新注册!'); location.href = '/Parking/Login.jsp';</script>");
				}
			}

			//删除数据操作
			private void deleteEntity() throws IOException
			{
				String user_id=request.getParameter("user_id");//获取前台通过get方式传过来的JId
				user.deleteEntity(user_id);//执行删除操作
				response.sendRedirect("/Parking/UserHandle?type=4");//删除成功后跳转至管理页面
			}

			//更新数据操作
			private void updateEntity() throws UnsupportedEncodingException
			{
				String user_id=new String(request.getParameter("user_id").getBytes("ISO8859_1"),"UTF-8");
				String role_id=new String(request.getParameter("role_id").getBytes("ISO8859_1"),"UTF-8");
				String user_name=new String(request.getParameter("user_name").getBytes("ISO8859_1"),"UTF-8");
				String real_name=new String(request.getParameter("real_name").getBytes("ISO8859_1"),"UTF-8");
				String user_pwd=new String(request.getParameter("user_pwd").getBytes("ISO8859_1"),"UTF-8");
				String user_phone=new String(request.getParameter("user_phone").getBytes("ISO8859_1"),"UTF-8");

				if(user.updateEntity(user_id,role_id,user_name,real_name,user_pwd,user_phone)==1)
				{
					try {
							if(request.getSession().getAttribute("role_id").toString().equals("r001"))
							{
								response.sendRedirect("/Parking/UserHandle?type=4");//成功更新数据后跳转至UserInfo.jsp页面
							}
							else {
								response.sendRedirect("/Parking/Common/UserInfo.jsp");//成功更新数据后跳转至UserInfo.jsp页面
							}
					} catch (IOException e) {
						e.printStackTrace();//异常处理
					}
				}
			}

			//插入数据操作
			private void insertEntity() throws UnsupportedEncodingException, IOException
			{
				response.setCharacterEncoding("UTF-8");
				response.setContentType("text/html;charset=UTF-8");
				PrintWriter out=response.getWriter();
				
				String user_id=new String(request.getParameter("user_id").getBytes("ISO8859_1"),"UTF-8");
				String role_id=new String(request.getParameter("role_id").getBytes("ISO8859_1"),"UTF-8");
				String user_name=new String(request.getParameter("user_name").getBytes("ISO8859_1"),"UTF-8");
				String real_name=new String(request.getParameter("real_name").getBytes("ISO8859_1"),"UTF-8");
				String user_pwd=new String(request.getParameter("user_pwd").getBytes("ISO8859_1"),"UTF-8");
				String user_phone=new String(request.getParameter("user_phone").getBytes("ISO8859_1"),"UTF-8");

				if(!user.checkExist(user_id))
				{
					if(user.insertEntity(user_id,role_id,user_name,real_name,user_pwd,user_phone)==1)
					{
						out.write("<script>alert('数据添加成功!'); location.href = '/Parking/UserHandle?type=4';</script>");
					}
					else {
						out.write("<script>alert('数据添失败!'); location.href = '/Parking/UserHandle?type=4';</script>");
					}
				}
				else {
					out.write("<script>alert('主键重复,数据添加失败!'); location.href = '/Parking/UserHandle?type=4';</script>");
				}
			}

			//获取对象所有数据列表
			private void getEntity() throws ServletException, IOException
			{
				request.setCharacterEncoding("UTF-8");
				int page=request.getParameter("page")==null?1:Integer.parseInt(request.getParameter("page").toString());//获取跳转的页面号
				int totalPage=Integer.parseInt(user.getPageCount().toString()) ;//获取分页总数
				List<Object> list=user.getEntity(page);//获取数据列表
				request.setAttribute("list",list);//将数据存放到request对象中,用于转发给前台页面使用
				request.setAttribute("totalPage",totalPage );//将totalPage存放到request对象中,用于转发给前台页面使用
				request.getRequestDispatcher("/Admin/UserMsg.jsp").forward(request, response);//请求转发
			}
			
			//根据查询条件获取对象所有数据列表
			private void getEntityByWhere() throws ServletException, IOException
			{
				request.setCharacterEncoding("UTF-8");
				String condition=request.getParameter("condition");//获取查询字段的名称
				//String value=new String(request.getParameter("value").getBytes("ISO8859_1"),"UTF-8");//获取查询的值
				String value = request.getParameter("value");
				String where=condition+"=\""+value+"\"";//拼接查询字符串
				int page=request.getParameter("page")==null?1:Integer.parseInt(request.getParameter("page"));//获取要跳转的页面号
				int wherePage=Integer.parseInt(user.getPageCountByWhere(where).toString()) ;//获取查询后的分页总数
				List<Object> list=user.getEntityByWhere(where, page);//获取查询后的数据列表
				request.setAttribute("list",list);//将数据存放到request对象中,用于转发给前台页面使用
				request.setAttribute("wherePage",wherePage );
				request.setAttribute("condition",condition);
				request.setAttribute("value",value);
				request.getRequestDispatcher("/Admin/UserMsg.jsp").forward(request, response);
			}
		}

5 整体项目内容

该项目包含一下内容:

  • 项目源码 + 数据库
  • 论文
  • 答辩PPT
  • 项目部署视频

在这里插入图片描述

在这里插入图片描述

论文预览:
在这里插入图片描述

项目获取方式:

https://blog.csdn.net/fawubio/article/details/125236987

最后