作者主页:源码空间站2022
简介:Java领域优质创作者、Java项目、学习资料、技术互助
文末获取源码
项目介绍
本项目主要分为服务员、厨师、收银员、经理四种角色;
主要功能包括:
客户可以根据自己的要求去选择菜品,厨师部会收到你点的菜单。你可以看到菜单的时时状况。
工作人员之间可以互相进行内部通讯,及时得到最新信息。经理可以群发通知、消息给每位员工。
系统会对所有菜品进行监视,当有菜品库存缺乏时,系统会自动提醒管理员。
管理员可以查看到餐厅的近期运营状况。包括最近的营业额,各个菜品的销售情况等。
环境需要
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. 后端:Spring+SpringMVC+Mybatis
2. 前端:JSP+CSS+JavaScript+bootstrap
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中db.properties配置文件中的数据库配置改为自己的配置;
4. 运行项目,在浏览器中输入http://localhost:8080/DiningRoom 登录
服务员账号/密码: 20144206169/123456
厨师账号/密码:20144206170/123456
经理账号/密码:20144206171/123456
收银账号/密码:20144206172/123456
运行截图
代码相关
登录管理控制器
@Controller
public class LoginController {
@Autowired
IUserService userService;
@Autowired
IDishService dishService;
@Autowired
ITradeService tradeService;
@RequestMapping("/loginCheck")
public void loginCheck(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
try {
Thread.sleep(1000);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
String idStr = request.getParameter("id");
String password = request.getParameter("password");
String validation = request.getParameter("validation");
HttpSession session = request.getSession();
if (idStr == null || password == null || validation == null) {
response.sendRedirect("index.jsp?message=error");
return;
}
Long id = 1l;
try {
id = Long.parseLong(idStr);
} catch (NumberFormatException e) {
}
String result = "0";
PrintWriter out = response.getWriter();
User tempUser = userService.getUserById(id);
String imgStr = (String) session.getAttribute("imgStr");
if (!imgStr.equalsIgnoreCase(validation)) {
result = "1";
}
if (tempUser!=null && result.equals("0")) {
if(tempUser.getPassword().equals(MD5Util.string2MD5(password))){
}
session.setAttribute("user", tempUser);
result = "2";
}
out.write(result);
out.close();
}
@RequestMapping("/login")
public ModelAndView login(HttpServletRequest request){
HttpSession session = request.getSession();
if (session.getAttribute("user") != null) {
return new ModelAndView("redirect:toIndexUI.do");
//response.sendRedirect("mianServlet?method=toIndexUI");
} else {
return new ModelAndView("index");
}
}
@RequestMapping("/toIndexUI")
public ModelAndView toIndexUI(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
ModelAndView view = new ModelAndView();
HttpSession session = request.getSession();
User user = (User) session.getAttribute("user");
if (user == null) {
view.setViewName("index");
return view;
}
List<Dish> page = dishService.getPageBySaleDesc(1,10);
request.setAttribute("top_sale", page);
List<Trade> pageTrade = tradeService.getPageList(1, 10);
request.setAttribute("pageTrade", pageTrade);
view.setViewName("jsp/main/index");
return view;
}
/**
* 功能描述:生成验证码
* @param request
* @param response
* @throws IOException
*/
@RequestMapping("/getRadomPic")
public void getRadomPic(HttpServletRequest request,
HttpServletResponse response) throws IOException {
HttpSession session = request.getSession();
// 千万注意,像此类图片一定禁止浏览器缓存
response.setIntHeader("expires", 0);
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Pragma", "no-cache");
response.setHeader("content-type", "image/jpeg");
Captcha captcha = new ImageUtils(120, 26, 4);// png格式验证码
captcha.out(response.getOutputStream());
String imgStr = captcha.getStr();
session.setAttribute("imgStr", imgStr);
}
/**
* 功能描述:后台公共跳转页面
* @param page
* @return
*/
@RequestMapping(value = "/{page}.do", method = RequestMethod.GET)
public ModelAndView toPage(@PathVariable String page) {
ModelAndView view = new ModelAndView("/manage/"+page+"");
return view;
}
}
如果也想学习本系统,下面领取。回复:217ssm