基于javaweb的JSP+Servlet场馆场地预约管理系统(java+jsp+servlet+mysql+tomcat)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

前台可以自由注册,后台只有管理员可以进去。

前台功能:首页、场馆介绍、场馆预约、场馆通知、个人中心。

后台功能:场馆管理、用户管理、预约审核、通知管理、场地管理、场地安排管理。

480123122502

前台

310123122502

320123122502

330123122502

340123122502

360123122502

370123122502

380123122502

后台

390123122502

400123122502

410123122502

420123122502

430123122502

440123122502

450123122502

470123122502

技术框架

JSP Servlet MySQL Tomcat JavaScript CSS jstl jQuery Bootstrap

基于javaweb的JSP+Servlet场馆场地预约管理系统(java+jsp+servlet+mysql+tomcat)

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
//所有场馆
List<Place> placeList = new PlaceDAO().list();
request.setAttribute("placeList", placeList);

//可选日期信息
Date current = new Date(System.currentTimeMillis());
Calendar calendar = Calendar.getInstance();
calendar.setTime(current);
List<java.sql.Date> dateValid = new ArrayList<>();
calendar.add(Calendar.DATE, 0);
dateValid.add(new java.sql.Date(calendar.getTimeInMillis()));
calendar.add(Calendar.DATE, 1);
dateValid.add(new java.sql.Date(calendar.getTimeInMillis()));
calendar.add(Calendar.DATE, 1);
dateValid.add(new java.sql.Date(calendar.getTimeInMillis()));
request.setAttribute("dates", dateValid);

//当前所选场馆、场地、安排表
String pid = request.getParameter("pid");
String psid = request.getParameter("psid");


Place place = null; //场馆:需要填充场地
PlaceStadium placeStadium = null; //场地:需要填充安排表
String date = null; //日期:切换场馆或场地设的日期

//获得场馆
if (pid == null) { //未选择场馆
place = placeList.get(0);
} else {
place = placeDAO.get(Integer.parseInt(pid));
}
placeStadiumDAO.fill(place); //填充场馆的场地
request.setAttribute("place", place);

//获得场地
if (psid == null) { //未选择场地
placeStadium = place.getPlaceStadium().get(0);
} else { //选过场地,移除默认场馆
placeStadium = placeStadiumDAO.get(Integer.parseInt(psid));
placeStadiumDAO.fill(placeStadium.getPlace());
request.removeAttribute("place");
request.setAttribute("place", placeStadium.getPlace());
}
request.setAttribute("placeStadium", placeStadium);
request.setAttribute("name", placeStadium.getName());
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
public String loginAjax(HttpServletRequest request, HttpServletResponse response, Page page) {
String name = request.getParameter("name");
String password = request.getParameter("password");
User user = userDAO.get(name,password);

if(null==user){
return "%fail";
}
request.getSession().setAttribute("user", user);
return "%success";
}


//预定页
public String book(HttpServletRequest request, HttpServletResponse response, Page page) {

//所有场馆
List<Place> placeList = new PlaceDAO().list();
request.setAttribute("placeList", placeList);

//可选日期信息
Date current = new Date(System.currentTimeMillis());
Calendar calendar = Calendar.getInstance();
calendar.setTime(current);
List<java.sql.Date> dateValid = new ArrayList<>();
calendar.add(Calendar.DATE, 0);
dateValid.add(new java.sql.Date(calendar.getTimeInMillis()));
calendar.add(Calendar.DATE, 1);
dateValid.add(new java.sql.Date(calendar.getTimeInMillis()));
calendar.add(Calendar.DATE, 1);
dateValid.add(new java.sql.Date(calendar.getTimeInMillis()));
request.setAttribute("dates", dateValid);

//当前所选场馆、场地、安排表
String pid = request.getParameter("pid");
String psid = request.getParameter("psid");


Place place = null; //场馆:需要填充场地
PlaceStadium placeStadium = null; //场地:需要填充安排表
String date = null; //日期:切换场馆或场地设的日期
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

if (user == null) {
request.setAttribute("msg", "账号密码错误");
return "login.jsp";
} else if (user.getName().equals("admin")) {
return "@admin_place_list";
}
request.getSession().setAttribute("user", user);

} catch (IOException e) {
e.printStackTrace();
}
return "@forehome";
}

public String logout(HttpServletRequest request, HttpServletResponse response, Page page) {
request.getSession().removeAttribute("user");
return "@forehome";
}

public String checkLogin(HttpServletRequest request, HttpServletResponse response, Page page) {
User user =(User) request.getSession().getAttribute("user");
if(null!=user)
return "%success";
return "%fail";
}

public String loginAjax(HttpServletRequest request, HttpServletResponse response, Page page) {
String name = request.getParameter("name");
String password = request.getParameter("password");
User user = userDAO.get(name,password);

if(null==user){
return "%fail";
}
request.getSession().setAttribute("user", user);
return "%success";
}


//预定页
public String book(HttpServletRequest request, HttpServletResponse response, Page page) {

//所有场馆
List<Place> placeList = new PlaceDAO().list();
request.setAttribute("placeList", placeList);

//可选日期信息
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

@WebServlet(name = "NewsServlet")
public class NewsServlet extends BaseBackServlet {
public String add(HttpServletRequest request, HttpServletResponse response, Page page) {

Map<String, String> params = new HashMap<>();
InputStream is = super.parseUpload(request, params);

News news = new News();
news.setTitle(params.get("title"));
news.setContent(params.get("content"));
news.setTime(new Date(System.currentTimeMillis()));

newsDAO.add(news);
return "@admin_news_list";
}

public String delete(HttpServletRequest request, HttpServletResponse response, Page page) {
int nid = Integer.parseInt(request.getParameter("nid"));
newsDAO.delete(nid);
return "@admin_news_list";
}

public String edit(HttpServletRequest request, HttpServletResponse response, Page page) {
int id = Integer.parseInt(request.getParameter("id"));
News news = newsDAO.get(id);
request.setAttribute("news", news);
return "admin/editNews.jsp";
}

public String update(HttpServletRequest request, HttpServletResponse response, Page page) throws UnsupportedEncodingException {
News news = newsDAO.get(Integer.parseInt(request.getParameter("id")));
String title=new String(request.getParameter("title").getBytes("iso-8859-1"), "utf-8");
String content =new String(request.getParameter("content").getBytes("iso-8859-1"), "utf-8");
news.setTitle(title);
news.setContent(content);
newsDAO.update(news);
return "@admin_news_list";

}

public String list(HttpServletRequest request, HttpServletResponse response, Page page) {
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
public abstract class BaseBackServlet extends HttpServlet {

public abstract String add(HttpServletRequest request, HttpServletResponse response, Page page) ;
public abstract String delete(HttpServletRequest request, HttpServletResponse response, Page page) ;
public abstract String edit(HttpServletRequest request, HttpServletResponse response, Page page) ;
public abstract String update(HttpServletRequest request, HttpServletResponse response, Page page) throws UnsupportedEncodingException;
public abstract String list(HttpServletRequest request, HttpServletResponse response, Page page) throws IOException;

//用户方面
protected UserDAO userDAO = new UserDAO();
//订单方面
protected ReserveDAO reserveDAO = new ReserveDAO();
protected ReserveItemDAO reserveItemDAO = new ReserveItemDAO();
//场地方面
protected PlaceDAO placeDAO = new PlaceDAO();
protected PlaceStadiumDAO placeStadiumDAO = new PlaceStadiumDAO();
protected PlaceImageDAO placeImageDAO = new PlaceImageDAO();
protected StadiumPlanDAO stadiumPlanDAO = new StadiumPlanDAO();
protected StadiumPlanItemDAO stadiumPlanItemDAO = new StadiumPlanItemDAO();
//通知方面
protected NewsDAO newsDAO = new NewsDAO();


public void service(HttpServletRequest request, HttpServletResponse response) {
try {
/*获取分页信息*/
int start= 0;
int count = 5;
try {
start = Integer.parseInt(request.getParameter("page.start"));
} catch (Exception e) {

}
try {
count = Integer.parseInt(request.getParameter("page.count"));
} catch (Exception e) {
}
Page page = new Page(start,count);

/*借助反射,调用对应的方法*/
String method = (String) request.getAttribute("method");
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
             psid=placeStadiums.get(0).getId();
placeStadium = placeStadiumDAO.get(psid);
}
}
request.setAttribute("placeStadium", placeStadium);
//获取请求日期
String time = request.getParameter("date");
java.sql.Date date = new java.sql.Date(System.currentTimeMillis());
if (time != null) {
date = java.sql.Date.valueOf(time);
}


//获取能获取的有效日期
Date current = new Date(System.currentTimeMillis());
Calendar calendar = Calendar.getInstance();
calendar.setTime(current);
List<java.sql.Date> dateValid = new ArrayList<>();
calendar.add(Calendar.DATE, 0);
dateValid.add(new java.sql.Date(calendar.getTimeInMillis()));
calendar.add(Calendar.DATE, 1);
dateValid.add(new java.sql.Date(calendar.getTimeInMillis()));
calendar.add(Calendar.DATE, 1);
dateValid.add(new java.sql.Date(calendar.getTimeInMillis()));

//获取所有场的安排表

List<StadiumPlan> stadiumPlanList = stadiumPlanDAO.search(psid, date);
request.setAttribute("place", place);
request.setAttribute("placeStadiums", placeStadiums);
request.setAttribute("stadiumPlanList", stadiumPlanList);
request.setAttribute("dates", dateValid);
request.setAttribute("date", date);
request.setAttribute("name", placeStadium.getName());

return "admin/listStadiumPlan.jsp";
}

}
package project.servlet;



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