Java 实战项目之在线点餐系统的实现流程

 更新时间:2021年11月15日 15:19:36   作者:qq_1334611189  
读万卷书不如行万里路,只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用java+SSM+jsp+mysql+maven实现一个在线点餐系统,大家可以在过程中查缺补漏,提升水平

一、项目简述

功能包括: 在线点餐,评论,购物车,下单,支付,管理员,店家多 商家管理,后台评论管理,订单管理,商品管理等等。

二、项目运行

环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持) 项目技术: JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等。

用户模块:

/**
 * 用户模块controller
 */
@Controller
@RequestMapping("/customer")
public class CustomerController {
    @Autowired
    private CustomerService customerService;
    @RequestMapping("/list")
    public String list(Model model, Page page)
    {
        PageHelper.offsetPage(page.getStart(),page.getCount());//分页查询
        List<Customer> list= customerService.list();
        int total = (int) new PageInfo<>(list).getTotal();//总条数
        page.setTotal(total);
        model.addAttribute("list",list);
        model.addAttribute("totals",total);
        return "cstpage/cst-list";
    }
    /**
     * 设置会员
     * @param id
     * @return
     */
    @RequestMapping("/shezhihuiyuan")
    @ResponseBody
    public String shezhihuiyuan(int id){
        customerService.shezhihuiyuan(id);
        return "success";
    }
 
    @RequestMapping("/del")
    public String del(int id)
    {
        customerService.del(id);
        return "redirect:list";
    }
}

后台登陆模块:

/**
 * 后台登陆
 */
@Controller
@RequestMapping("")
public class LoginController {
 
    @Autowired
    UserService userService;
 
    @RequestMapping(value="/login",method=RequestMethod.POST)
    public String login(Model model, String name, String password){//throws ParseException
        Subject subject = SecurityUtils.getSubject();
        UsernamePasswordToken token = new UsernamePasswordToken(name,password);
        try {
            subject.login(token);
            User us = userService.getByName(name);
            String lastLoginTime = "";
            if(us!=null){
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                //上次时间
                Date time = us.getLasttime();
                lastLoginTime = sdf.format(time);
                //新时间
                String format = sdf.format(new Date());
                //string转date  不处理时间格式会不理想
                ParsePosition pos = new ParsePosition(0);
                Date strtodate = sdf.parse(format, pos);
                us.setLasttime(strtodate);
                userService.update(us);
            }
            if (us.getStatus()==1){
                Session session=subject.getSession();
                session.setAttribute("subject", subject);
                session.setAttribute("lastLoginTime",lastLoginTime);
                return "redirect:index";
            }else {
                model.addAttribute("error", "账号已被停用!");
                return "/login";
            }
 
        } catch (AuthenticationException e) {
            model.addAttribute("error", "验证失败!");
            return "/login";
        }
    }
 
 
}

评论模块:

/**
 * 评论模块controller
 */
@Controller
@RequestMapping("/review")
public class ReviewController {
 
    @Autowired
    private ReviewService reviewService;
    @Autowired
    private ProductService productService;
 
    @RequestMapping("/list")
    public String list(Model model, Page page){
        PageHelper.offsetPage(page.getStart(),page.getCount());//分页查询
        List<Review> list= reviewService.list();
        int total = (int) new PageInfo<>(list).getTotal();//总条数
        page.setTotal(total);
 
        model.addAttribute("totals",list.size());
        model.addAttribute("list",list);
        return "pinglunpage/pinglun";
    }
 
    @RequestMapping("/del")
    public String del(int id){
        reviewService.del(id);
        return "redirect:list";
    }
 
}

权限模块 :

/**
 * 权限模块controller
 */
@Controller
@RequestMapping("/config")
public class PermissionController {
    @Autowired
    PermissionService permissionService;
 
    /**
     * 添加权限页面
     * @return
     */
 
    @RequestMapping("/adminPerAddUI")
    public String addUI(){
        return "syspage/admin-permission-add";
    }
 
    /**
     * 权限列表
     * @param model
     * @param page
     * @return
     */
    @RequestMapping("/listPermission")
    public String list(Model model, Page page){
        PageHelper.offsetPage(page.getStart(),page.getCount());//分页查询
        List<Permission> ps= permissionService.list();
        int total = (int) new PageInfo<>(ps).getTotal();//总条数
        page.setTotal(total);
 
        model.addAttribute("ps", ps);
        model.addAttribute("perCount",ps.size());
        return "syspage/admin-permission";
    }
 
    @RequestMapping("/editPermission")
    public String list(Model model,long id){
        Permission permission =permissionService.get(id);
        model.addAttribute("permission", permission);
        return "syspage/admin-permission-edit";
    }
 
    @RequestMapping("/updatePermission")
    public String update(Permission permission){
        permissionService.update(permission);
        return "redirect:listPermission";
    }
 
    @RequestMapping("/addPermission")
    public String list(Model model,Permission permission){
        permissionService.add(permission);
        return "redirect:listPermission";
    }
 
    @RequestMapping("/deletePermission")
    public String delete(Model model,long id){
        permissionService.delete(id);
        return "redirect:listPermission";
    }   
 
}

以上就是Java 实战项目之在线点餐系统的实现流程的详细内容,更多关于Java 在线点餐系统的资料请关注脚本之家其它相关文章!

相关文章

  • 使Java的JButton文字隐藏功能的实现(不隐藏按钮的前提)

    使Java的JButton文字隐藏功能的实现(不隐藏按钮的前提)

    这篇文章主要介绍了使Java的JButton文字隐藏功能的实现(不隐藏按钮的前提),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • 使用java代码代替xml实现SSM教程

    使用java代码代替xml实现SSM教程

    这篇文章主要介绍了使用java代码代替xml实现SSM教程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • 在Java生产环境下进行性能监控与调优的详细过程

    在Java生产环境下进行性能监控与调优的详细过程

    在Java生产环境下进行性能监控与调优是一个复杂但重要的过程,它涉及到多个方面,包括代码分析、JVM监控、线程管理、垃圾收集优化、内存管理、数据库交互等,下面我将提供一个详细的概述和示例代码,需要的朋友可以参考下
    2025-02-02
  • Java实现万年历效果

    Java实现万年历效果

    这篇文章主要为大家详细介绍了Java实现万年历效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • Java如何跳过https的ssl证书验证详解

    Java如何跳过https的ssl证书验证详解

    这篇文章主要介绍了Java跳过https的ssl证书验证的解决思路,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,下面我们来深入学习下吧
    2019-06-06
  • Java实现将汉字转化为汉语拼音的方法

    Java实现将汉字转化为汉语拼音的方法

    这篇文章主要介绍了Java实现将汉字转化为汉语拼音的方法,实例演示了Java引用pinyin4j库实现汉子转化成拼音的使用技巧,需要的朋友可以参考下
    2015-12-12
  • SpringBoot集成SFTP客户端实现文件上传下载实例

    SpringBoot集成SFTP客户端实现文件上传下载实例

    这篇文章主要为大家介绍了SpringBoot集成SFTP客户端实现文件上传下载实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • Java中自己如何实现log2(N)

    Java中自己如何实现log2(N)

    这篇文章主要介绍了Java中自己实现log2(N)的方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • Spring自定义配置Schema可扩展(一)

    Spring自定义配置Schema可扩展(一)

    本教程主要介绍如何扩展Spring的xml配置,让Spring能够识别我们自定义的Schema和Annotation,,需要的朋友可以参考下
    2016-01-01
  • Spring cloud网关gateway进行websocket路由转发规则配置过程

    Spring cloud网关gateway进行websocket路由转发规则配置过程

    这篇文章主要介绍了Spring cloud网关gateway进行websocket路由转发规则配置过程,文中还通过实例代码介绍了Spring Cloud Gateway--配置路由的方法,需要的朋友可以参考下
    2023-04-04

最新评论