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

242 篇文章 71 订阅
12 篇文章 3 订阅


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

最后

  • 5
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
随着现在社会的发展、生产力的提高、科技的进步,人们现如今的生活水准 是变得越来越好,而私家车的存在越来越多,随处可见。但是伴随着私家车的大 规模普及,带来了许多便利的方面的同时,也带来了许许多多的问题,比如交通拥挤,多发的交通事故,治安等问题。其中重要的一个问题是停车问题。为了解决这个停车难这一城市常见病的问题,无论是那些停车场的管理人员们,还是我们广大的车主们,都十分的需要有一套安全可靠、设计成熟的停车管理系统,来满足大家的使用需求。本系统的使用比起以往人工的传统记录,要更加的方便、可靠、高效,节约成本。 停车管理系统是一套主要功能包括:车辆的登记入库;车辆的停车收费;车 库容量显示和修改;车辆的出入日志等等的系统。 这个系统是使用JSP、J2EE、Hibernate、Struct2、Spring、MySQL5.5、Tomcat7 等技术。这个系统可以基本的完成一个停车场的日常管理工作。其中的功能包括 了:管理员的登录功能,管理员增加和删除车位的功能,管理员对车位状态的管 理(停车,取车)的功能,管理员对于车位状态的预览的功能,管理员退出登录 的功能等。本文将从这套系统开发的过程,按照软件工程的方法,从可行性分析、 需求分析、总体设计、详细设计、实现和测试等方面来展示这个系统。 关键词:停车场管理,J2EE,SSH,MySQL55,B/S
随着现在社会的发展、生产力的提高、科技的进步,人们现如今的生活水准 是变得越来越好,而私家车的存在越来越多,随处可见。但是伴随着私家车的大 规模普及,带来了许多便利的方面的同时,也带来了许许多多的问题,比如交通 拥挤,多发的交通事故,治安等问题。其中重要的一个问题是停车问题。为了解 决这个停车难这一城市常见病的问题,无论是那些停车场的管理人员们,还是我 们广大的车主们,都十分的需要有一套安全可靠、设计成熟的停车管理系统,来 满足大家的使用需求。本系统的使用比起以往人工的传统记录,要更加的方便、 可靠、高效,节约成本。 停车管理系统是一套主要功能包括:车辆的登记入库;车辆的停车收费;车 库容量显示和修改;车辆的出入日志等等的系统。 这个系统是使用 JSP、J2EE、Hibernate、Struct2、Spring、MySQL5.5、Tomcat7 等技术。这个系统可以基本的完成一个停车场的日常管理工作。其中的功能包括 了:管理员的登录功能,管理员增加和删除车位的功能,管理员对车位状态的管 理(停车,取车)的功能,管理员对于车位状态的预览的功能,管理员退出登录 的功能等。本文将从这套系统开发的过程, 按照软件工程的方法, 从可行性分析、 需求分析、总体设计、详细设计、实现和测试等方面来展示这个系统

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值