文章目录
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