基于javaweb的JSP+Servlet停车库管理系统(java+jsp+jquery+servlet+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

190023452402

200023452402

210023452402

220023452402

230023452402

240023452402

基于javaweb的JSP+Servlet停车库管理系统(java+jsp+jquery+servlet+mysql)

项目介绍

一款由jsp+servlet+mysql实现的小区物业停车管理系统,系统基本实现了小区停车的常用功能:用户角色管理、车位管理、IC卡管理、固定车主停车管理、临时车停车管理等。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;  5.数据库:MySql 5.7版本; 6.是否Maven项目:是;

技术栈

  1. 后端:Servlet 2. 前端:JSP+CSS+JavaScript+jQuery

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中jdbc.properties配置文件中的数据库配置改为自己的配置; 4. 运行项目,前台地址:http://localhost:8080/Parking  管理员账号/密码:admin/admin

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
	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)
{
}
else {
}
}
else {
}
}

//获取对象所有数据列表
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);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
		}
}

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

//车辆出场更新操作
private void setOut() throws IOException
{
String fixed_id=new String(request.getParameter("fixed_id").getBytes("ISO8859_1"),"UTF-8");
SimpleDateFormat dateFormat =new SimpleDateFormat("yyyy-MM-dd");
String out_date=dateFormat.format(new Date());
SimpleDateFormat timeFormat =new SimpleDateFormat("HH:mm:ss");
String out_time=timeFormat.format(new Date());
if(fixed.setOut(fixed_id, out_date, out_time)==1)
{
response.sendRedirect("/Parking/FixedHandle?type=6");
}
}

//更新数据操作
private void updateEntity() throws UnsupportedEncodingException
{
String fixed_id=new String(request.getParameter("fixed_id").getBytes("ISO8859_1"),"UTF-8");
String card_id=new String(request.getParameter("card_id").getBytes("ISO8859_1"),"UTF-8");
String entry_date=new String(request.getParameter("entry_date").getBytes("ISO8859_1"),"UTF-8");
String entry_time=new String(request.getParameter("entry_time").getBytes("ISO8859_1"),"UTF-8");
String out_date=new String(request.getParameter("out_date").getBytes("ISO8859_1"),"UTF-8");
String out_time=new String(request.getParameter("out_time").getBytes("ISO8859_1"),"UTF-8");

if(fixed.updateEntity(fixed_id,card_id,entry_date,entry_time,out_date,out_time)==1)
{
try {
response.sendRedirect("/Parking/FixedHandle?type=4");//成功更新数据后跳转至FixedMsg.jsp页面
} catch (IOException e) {
e.printStackTrace();//异常处理
}
}
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
		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;
case 6://类型6代表管理员获取未出场车辆
getNoOut();
break;
case 10://类型10代表更新车辆出场
setOut();
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;
default:
break;
}
}

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

//车辆出场更新操作
private void setOut() throws IOException
{
String fixed_id=new String(request.getParameter("fixed_id").getBytes("ISO8859_1"),"UTF-8");
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
	if(!seat.checkExist(seat_id))
{
if(seat.insertEntity(seat_id,seat_num,seat_section,seat_state,seat_tag)==1)
{
}
else {
}
}
else {
}
}

//获取对象所有数据列表
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(seat.getPageCount().toString()) ;//获取分页总数
List<Object> list=seat.getEntity(page);//获取数据列表
request.setAttribute("list",list);//将数据存放到request对象中,用于转发给前台页面使用
request.setAttribute("totalPage",totalPage );//将totalPage存放到request对象中,用于转发给前台页面使用
request.getRequestDispatcher("/Admin/SeatMsg.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");
if(value.equals("闲置")){
String where=condition+"=0";
System.out.println("where="+where);
int page=request.getParameter("page")==null?1:Integer.parseInt(request.getParameter("page"));//获取要跳转的页面号
int wherePage=Integer.parseInt(seat.getPageCountByWhere(where).toString()) ;//获取查询后的分页总数
List<Object> list=seat.getEntityByWhere(where, page);//获取查询后的数据列表
request.setAttribute("list",list);//将数据存放到request对象中,用于转发给前台页面使用
request.setAttribute("wherePage",wherePage );
request.setAttribute("condition",condition);
request.setAttribute("value",value);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
			     }
else {
}
}
else{
}

}
else {
}
}

//获取对象所有数据列表
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(temp.getPageCount().toString()) ;//获取分页总数
List<Object> list=temp.getEntity(page);//获取数据列表
request.setAttribute("list",list);//将数据存放到request对象中,用于转发给前台页面使用
request.setAttribute("totalPage",totalPage );//将totalPage存放到request对象中,用于转发给前台页面使用
request.getRequestDispatcher("/Admin/TempMsg.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(temp.getPageCountByWhere(where).toString()) ;//获取查询后的分页总数
List<Object> list=temp.getEntityByWhere(where, page);//获取查询后的数据列表
request.setAttribute("list",list);//将数据存放到request对象中,用于转发给前台页面使用
request.setAttribute("wherePage",wherePage );
request.setAttribute("condition",condition);
request.setAttribute("value",value);
request.getRequestDispatcher("/Admin/TempMsg.jsp").forward(request, response);
}
}
package ServletHandle;


项目链接:
https://javayms.github.io?id=001122522008200np
https://javayms.pages.dev?id=001122522008200np