Java项目:农家乐管理系统(java+SSM+Vue+ElementUI+axios+Mysql)

 源码获取:俺的博客首页 "资源" 里下载!

项目介绍

基于SSM的农家乐管理系统

角色:管理员、用户

本课程设计了农家乐管理系统 ,

用户可以此系统实现美食信息、住宿信息、活动信息、活动报名、客房预订等信息,管理员通过后台会对此美食信息进行审核,管理员在还可以进行首页、个人中心、农家乐管理、美食信息管理、住宿信息管理、活动信息管理、用户管理、活动报名管理、客房预订管理、用户评价管理、论坛交流、管理员管理、系统管理,前台首页;首页、农家乐、美食信息、住宿信息、活动信息、论坛交流、系统公告、个人中心、后台管理、在线客服,用户;首页、个人中心、活动报名管理、客房预订管理、用户评价管理、我的收藏管理等操作。


环境需要

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.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目
6.数据库:MySql 5.7/8.0等版本均可;


技术栈

后端:SSM(Spring+SpringMVC+Mybatis)

前端:ElementUI+Vue


使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目;
3. 将项目中db.xml配置文件中的数据库配置改为自己的配置,然后运行;

 

 

 

 美食管理控制层:

@WebServlet("/FoodServlet") // 用户类
@MultipartConfig
public class FoodServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
	BaseDao dao = new BaseDaoImpl();
	PrintWriter out = null;

	@Override
	protected void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		request.setCharacterEncoding("UTF-8");
		response.setContentType("text/html;charset=utf-8");
		// service
		// 方法类-----------------------------------------------------------------------------------------------------
		ObjectService service = new ObjectService();
		FoodEntity foo = service.setObject(request, FoodEntity.class);
		out = response.getWriter();
		// 全局变量类----------------------------------------------------------------------------------------------------------
		String method = request.getParameter("method");
		System.out.println(method);

		if ("foodList".equals(method)) {// 列表
			try {
				JSONArray food = dao
						.findJSONArray("select s.sce_name,f.* from food f left join scenic s on s.sce_id=f.sce_id");
				request.setAttribute("food", food);
				request.getRequestDispatcher("admin-food.jsp").forward(request, response);
			} catch (SQLException e) {
				e.printStackTrace();
			}
		} else if ("searchFood".equals(method)) {// 查询
			try {
				System.out.println(foo.getFooName());
				JSONArray food = dao.findJSONArray(
						"select s.sce_name,f.* from food f left join scenic s on s.sce_id=f.sce_id where f.foo_name like '%"
								+ foo.getFooName() + "%'");
				String sceId = request.getParameter("sceId");
				System.out.println(sceId);
				if (sceId != null && sceId != "") {
					food = dao.findJSONArray(
							"select s.sce_name,f.* from food f left join scenic s on s.sce_id=f.sce_id where f.sce_id="
									+ sceId + " and f.foo_name like '%" + foo.getFooName() + "%'");
				}
				request.setAttribute("food", food);
				request.getRequestDispatcher("admin-food.jsp").forward(request, response);
			} catch (SQLException e) {
				e.printStackTrace();
			}
		} else if ("foodAdd".equals(method)) {// 增加
			Part part = request.getPart("Savatar");
			String heads_url = service.imagepath(part);
			String img_url = heads_url;
			Object[] params = { foo.getFooName(), img_url, foo.getAddress(), foo.getSceId(), foo.getDescription() };
			try {
				int i = dao.update("INSERT INTO food(foo_name,img_url,address,sce_id,description) VALUES(?,?,?,?,?)",
						params);
				if (i > 0) {
					response.sendRedirect("FoodServlet?method=foodList");
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
		} else if ("deleteFood".equals(method)) {// 删除
			try {
				int i = dao.update("delete from food where foo_id=?", foo.getFooId());
				if (i > 0) {
					response.sendRedirect("FoodServlet?method=foodList");
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
		} else if ("updateFood".equals(method)) {// 修改
			Object[] params = { foo.getFooId() };
			try {
				JSONObject food = dao.findJSONObject(
						"select s.sce_name,f.* from food f left join scenic s on s.sce_id=f.sce_id where f.foo_id = ?",
						params);
				request.setAttribute("food", food);
				request.getRequestDispatcher("admin-foodUpdate.jsp").forward(request, response);
			} catch (SQLException e) {
				e.printStackTrace();
			}
		} else if ("updateFood1".equals(method)) {// 完成修改
			String img_url = null;
			Part part1 = request.getPart("Savatar");
			if (part1.getSize() > 0) {
				String savepath = service.imagepath(part1);
				img_url = savepath;
			} else {
				img_url = foo.getImgUrl();
			}
			Object[] params = { foo.getFooName(), img_url, foo.getAddress(), foo.getSceId(), foo.getDescription(),
					foo.getFooId() };
			try {
				int i = dao.update(
						"update food set foo_name = ?,img_url=?,address=?,sce_id=?,description=? where foo_id=?",
						params);
				if (i > 0) {
					response.sendRedirect("FoodServlet?method=foodList");
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
		} else if ("foodCllentList".equals(method)) {// 用户查看列表
			String ctel = (String) request.getSession().getAttribute("ctel");
			try {
				String sql = "select IF(ISNULL(c.ctel),'0','1') count,IF(ISNULL(fo.foo_id),'0',CONVERT( COUNT(*) USING UTF8)) num ,f.* "
						+ "from foo_collect fo " + "left join food f on fo.foo_id=f.foo_id "
						+ "left join cllent c on c.ctel=fo.ctel " + "and c.ctel=? where f.sce_id=? "
						+ "GROUP BY f.foo_id order by num desc";
				JSONArray food = dao.findJSONArray(sql, ctel, foo.getSceId());
				request.setAttribute("food", food);
				request.getRequestDispatcher("food-list.jsp").forward(request, response);
			} catch (SQLException e) {
				e.printStackTrace();
			}
		} else if ("foodCllentSearch".equals(method)) {// 用户搜索列表
			String ctel = (String) request.getSession().getAttribute("ctel");
			try {
				String sql = "select IF(ISNULL(c.ctel),'0','1') count,IF(ISNULL(fo.foo_id),'0',CONVERT( COUNT(*) USING UTF8)) num ,f.* "
						+ "from foo_collect fo " + "left join food f on fo.foo_id=f.foo_id "
						+ "left join cllent c on c.ctel=fo.ctel " + "and c.ctel=" + ctel + " where f.sce_id = "
						+ foo.getSceId() + " and f.foo_name like '%" + foo.getFooName() + "%' "
						+ "GROUP BY f.foo_id order by num desc";
				JSONArray food = dao.findJSONArray(sql);
				request.setAttribute("food", food);
				request.getRequestDispatcher("food-list.jsp").forward(request, response);
			} catch (SQLException e) {
				e.printStackTrace();
			}
		} else if ("detailFood".equals(method)) {// 美食详情
			try {
				JSONObject food = dao.findJSONObject("select * from food where foo_id=?", foo.getFooId());
				request.setAttribute("food", food);
				request.getRequestDispatcher("food-detail.jsp").forward(request, response);
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}

}

登陆管理控制层:

@WebServlet("/Login")
public class LoginServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
	BaseDao dao = new BaseDaoImpl();
	PrintWriter out = null;

	@Override
	protected void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		request.setCharacterEncoding("UTF-8");
		response.setContentType("text/html;charset=utf-8");
		// service
		// 方法类-----------------------------------------------------------------------------------------------------
		ObjectService service = new ObjectService();
		HttpSession session = request.getSession();
		UsersEntity use = service.setObject(request, UsersEntity.class);
		// 全局变量类----------------------------------------------------------------------------------------------------------
		String method = request.getParameter("method");
		System.out.println(method);
		out = response.getWriter();
		File[] files = File.listRoots();
		String rootpath = files[files.length - 1].getPath();
		if ("login".equals(method)) {// 登录
			Object[] params = { use.getUname(), use.getPassword() };
			System.out.println(use.getUname() + use.getPassword());
			JSONObject user = null;
			try {
				user = dao.findJSONObject("select * from users where uname = ? and password = ?", params);
				System.out.println(user);
				System.out.println(user.get("uname"));
				System.out.println(user.get("utype"));
				request.getSession().setAttribute("uname", user.get("uname"));
				request.getSession().setAttribute("utype", user.get("utype"));
			} catch (SQLException e) {
				e.printStackTrace();
			} finally {
				if (user.size() > 0) {
					out.write("1");
					out.flush();
					out.close();
				}
			}
		} else if ("exit".equals(method)) {// 退出登录
			request.getSession().removeAttribute("uname");
			request.getSession().removeAttribute("utype");
			request.getSession().removeAttribute("rootpath");
			response.sendRedirect("login.jsp");
		} else if ("index".equals(method)) {// 进入首页
			String uname = (String) session.getAttribute("uname");
			System.out.println(uname);
			String utype = "" + session.getAttribute("utype");
			request.getSession().setAttribute("rootpath", rootpath);
			System.out.println(utype);
			if (utype.equals("1")) {
				request.getRequestDispatcher("index.jsp").forward(request, response);
			} 
		} else if ("updateUsers".equals(method)) {// 修改密码
			String pwd = request.getParameter("pwd");
			String pwd1 = request.getParameter("pwd1");
			System.out.println(pwd);
			System.out.println(pwd1);
			String uname = (String) request.getSession().getAttribute("uname");
			Object[] params = { pwd1, uname };
			try {
				int m = (int) dao.getCount("select count(*) from users where password = ?", pwd);
				if (m > 0) {
					dao.update("update users set password = ? where uname = ?", params);
					out.write("1");
					out.flush();
					out.close();
				} else {
					out.write("2");
					out.flush();
					out.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
		} else if ("users".equals(method)) {// 管理员信息
			JSONArray records;
			try {
				records = dao.findJSONArray("select * from users where uname=?", use.getUname());
				request.setAttribute("records", records);
				request.getRequestDispatcher("admin-info.jsp").forward(request, response);
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}

	}
}

地点管理控制层: 

@WebServlet("/ScenicServlet") // 景点类
@MultipartConfig
public class ScenicServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
	BaseDao dao = new BaseDaoImpl();
	PrintWriter out = null;

	@Override
	protected void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		request.setCharacterEncoding("UTF-8");
		response.setContentType("text/html;charset=utf-8");
		// service
		// 方法类-----------------------------------------------------------------------------------------------------
		ObjectService service = new ObjectService();
		ScenicEntity sce = service.setObject(request, ScenicEntity.class);
		out = response.getWriter();
		// 全局变量类----------------------------------------------------------------------------------------------------------
		String method = request.getParameter("method");
		System.out.println(method);
		int currentPage=1;
		if ("scenicList".equals(method)) {// 列表
			try {
				JSONArray scenic = dao.findJSONArray("select * from scenic");
				request.setAttribute("scenic", scenic);
				request.getRequestDispatcher("admin-scenic.jsp").forward(request, response);
			} catch (SQLException e) {
				e.printStackTrace();
			}
		} else if ("scenic".equals(method)) {// 列表
			try {
				JSONArray scenic = dao.findJSONArray("select * from scenic");
				service.outWrite(out, scenic.toString());
			} catch (SQLException e) {
				e.printStackTrace();
			}
		} else if ("searchScenic".equals(method)) {// 查询
			try {
				JSONArray scenic = dao
						.findJSONArray("select * from scenic where sce_name like '%" + sce.getSceName() + "%'");
				request.setAttribute("scenic", scenic);
				request.getRequestDispatcher("admin-scenic.jsp").forward(request, response);
			} catch (SQLException e) {
				e.printStackTrace();
			}
		} else if ("scenicAdd".equals(method)) {// 增加
			Part part = request.getPart("Savatar");
			String heads_url = service.imagepath(part);
			String img_url = heads_url;
			System.out.println(sce.getRegionId());
			Object[] params = { sce.getSceName(), sce.getRegionId(), img_url, sce.getAddress(), sce.getDescription() };
			try {
				int i = dao.update(
						"INSERT INTO scenic(sce_name,region_id,img_url,address,description) VALUES(?,?,?,?,?)", params);
				if (i > 0) {
					response.sendRedirect("ScenicServlet?method=scenicList");
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
		} else if ("deleteScenic".equals(method)) {// 删除
			try {
				int i = dao.update("delete from scenic where sce_id=?", sce.getSceId());
				if (i > 0) {
					response.sendRedirect("ScenicServlet?method=scenicList");
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
		} else if ("updateScenic".equals(method)) {// 修改
			Object[] params = { sce.getSceId() };
			try {
				JSONObject scenic = dao.findJSONObject("select * from scenic where sce_id = ?", params);
				request.setAttribute("scenic", scenic);
				request.getRequestDispatcher("admin-scenicUpdate.jsp").forward(request, response);
			} catch (SQLException e) {
				e.printStackTrace();
			}
		} else if ("updateScenic1".equals(method)) {// 完成修改
			String img_url = null;
			Part part1 = request.getPart("Savatar");
			if (part1.getSize() > 0) {
				String savepath = service.imagepath(part1);
				img_url = savepath;
			} else {
				img_url = sce.getImgUrl();
			}
			Object[] params = { sce.getSceName(), img_url, sce.getAddress(), sce.getDescription(), sce.getSceId() };
			try {
				int i = dao.update("update scenic set sce_name = ?,img_url=?,address=?,description=? where sce_id=?",
						params);
				if (i > 0) {
					response.sendRedirect("ScenicServlet?method=scenicList");
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
		} else if ("scenicCllentList".equals(method)) {// 用户查看列表
			String ctel = (String) request.getSession().getAttribute("ctel");
//			int pageSize=6;
//			String currentPage1 = request.getParameter("currentPage");
//			System.out.println(currentPage1);
//			if(currentPage1!=null) {
//				currentPage=Integer.parseInt(currentPage1);
//			}
//			int pagestart = (currentPage-1)*pageSize;
//			System.out.println(pagestart);
			try {
//				int total=(int) dao.getCount("select count(*) from scenic");
//				int pages=(total%pageSize>0?total/pageSize+1:total/pageSize);
				
				JSONArray scenic = dao.findJSONArray("select IF(ISNULL(c.ctel),'0','1') count,IF(ISNULL(sc.sce_id),'0',CONVERT( COUNT(*) USING UTF8)) num ,s.* from scenic s" + 
						" left join sce_collect sc on s.sce_id=sc.sce_id " + 
						"left join cllent c on c.ctel=sc.ctel "+
						"and c.ctel="+ctel+
						" GROUP BY s.sce_id order by num desc");
				request.setAttribute("scenic", scenic);
				request.getRequestDispatcher("scenic-list.jsp").forward(request, response);
			} catch (SQLException e) {
				e.printStackTrace();
			}
		} else if ("searchCllentList".equals(method)) {// 用户查看列表
			String ctel = (String) request.getSession().getAttribute("ctel");
			try {
				JSONArray scenic = dao.findJSONArray("select IF(ISNULL(c.ctel),'0','1') count,IF(ISNULL(sc.sce_id),'0',CONVERT( COUNT(*) USING UTF8)) num ,s.* from scenic s " + 
						" left join sce_collect sc on s.sce_id=sc.sce_id " + 
						"left join cllent c on c.ctel=sc.ctel " + 
						"and c.ctel="+ctel+ "  where s.region_id like '%" + sce.getRegionId() + "%' and  s.sce_name like '%" + sce.getSceName() + "%' " + 
						"GROUP BY s.sce_id order by num desc ");
				request.setAttribute("scenic", scenic);
				request.getRequestDispatcher("scenic-list.jsp").forward(request, response);
			} catch (SQLException e) {
				e.printStackTrace();
			}
		} else if ("detailScenic".equals(method)) {// 美食详情
			try {
				JSONObject scenic = dao.findJSONObject("select * from scenic where sce_id=?", sce.getSceId());
				request.setAttribute("scenic", scenic);
				request.getRequestDispatcher("scenic-detail.jsp").forward(request, response);
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}

}

源码获取:俺的博客首页 "资源" 里下载!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq1334611189

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值