最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實戰(zhàn)之校園外賣點餐系統(tǒng)的實現(xiàn)

 更新時間:2022年03月29日 13:34:27   作者:qq_1334611189  
這篇文章主要介紹了如何利用Java實現(xiàn)簡易的校園外賣點餐系統(tǒng),文中采用的技術有:JSP、Spring、SpringMVC、MyBatis 等,感興趣的可以了解一下

一、項目簡述

環(huán)境配置:

Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)

項目技術:

JSP +Spring + SpringMVC + MyBatis + css + JavaScript + JQuery + Ajax + layui+ maven等等。

二、效果圖展示

三、核心代碼

管理員controller控制層

/**
 * 管理員controller
 */
@Controller
@RequestMapping("/config")
public class UserController {
    @Autowired
    UserRoleService userRoleService;
    @Autowired
    UserService userService;
    @Autowired
    RoleService roleService;
 
 
    @RequestMapping("/enableStatus")
    @ResponseBody
    public String enableStatus(@RequestParam(value = "name") String name){
        return userService.enableStatus(name);
    }
 
    @RequestMapping("/stopStatus")
    @ResponseBody
    public String stopStatus(@RequestParam(value = "name") String name){
        return userService.stopStatus(name);
    }
 
    @RequestMapping("/adminAdd")
    public String adminadd(Model model){
        List<Role> list = roleService.list();
        model.addAttribute("rolelist",list);
        return "syspage/admin-add";
    }
 
    @RequestMapping("/listUser")
    public String list(Model model, Page page){
 
        PageHelper.offsetPage(page.getStart(),page.getCount());//分頁查詢
        List<User> us= userService.list();
        int total = (int) new PageInfo<>(us).getTotal();//總條數
        page.setTotal(total);
 
        model.addAttribute("us", us);//所有用戶
        model.addAttribute("total",total);
 
        Map<User,List<Role>> user_roles = new HashMap<>();
        //每個用戶對應的權限
        for (User user : us) {
            List<Role> roles=roleService.listRoles(user);
            user_roles.put(user, roles);
        }
        model.addAttribute("user_roles", user_roles);
 
        return "syspage/admin-list";
    }
 
    /**
     * 修改管理員角色
     * @param model
     * @param id
     * @return
     */
    @RequestMapping("/editUser")
    public String edit(Model model,Long id){
        List<Role> rs = roleService.list();
        model.addAttribute("rs", rs);      
        User user =userService.get(id);
        model.addAttribute("user", user);
        //當前擁有的角色
        List<Role> roles =roleService.listRoles(user);
        model.addAttribute("currentRoles", roles);
         
        return "syspage/admin-edit";
    }
 
    @RequestMapping("deleteUser")
    public String delete(Model model,long id){
        userService.delete(id);
        return "redirect:listUser";
    }
 
    @RequestMapping("updateUser")
    public String update(User user, long[] roleIds){
        userRoleService.setRoles(user,roleIds);
         
        String password=user.getPassword();
        //如果在修改的時候沒有設置密碼,就表示不改動密碼
        if(user.getPassword().length()!=0) {
            String salt = new SecureRandomNumberGenerator().nextBytes().toString();
            int times = 2;
            String algorithmName = "md5";
            String encodedPassword = new SimpleHash(algorithmName,password,salt,times).toString();
            user.setSalt(salt);
            user.setPassword(encodedPassword);
        }
        else
            user.setPassword(null);
         
        userService.update(user);
 
        return "redirect:listUser";
 
    }
 
    @RequestMapping("addUser")
    public String add(User user,long[] roleIds){
 
        String salt = new SecureRandomNumberGenerator().nextBytes().toString();//生成隨機數
        int times = 2;
        String algorithmName = "md5";
          
        String encodedPassword = new SimpleHash(algorithmName,user.getPassword(),salt,times).toString();
         
        User u = new User();
        u.setName(user.getName());
        u.setPassword(encodedPassword);
        u.setSalt(salt);
        u.setStatus(1);
        u.setAddress(user.getAddress());
        u.setPhone(user.getPhone());
        userService.add(u);
 
        userRoleService.setRoles(u,roleIds);
         
        return "redirect:listUser";
    }
 
}

管理員角色controler控制層

/**
 * 管理員角色controler
 */
@Controller
@RequestMapping("/config")
public class RoleController {
    @Autowired
    RoleService roleService;
    @Autowired
    RolePermissionService rolePermissionService;
    @Autowired
    PermissionService permissionService;
 
    @RequestMapping("/addRoleUI")
    public String addRole(){
 
        return "syspage/admin-role-add";
    }
 
    @RequestMapping("/listRole")
    public String list(Model model, Page page){
        PageHelper.offsetPage(page.getStart(),page.getCount());//分頁查詢
        List<Role> rs= roleService.list();
        int total = (int) new PageInfo<>(rs).getTotal();//總條數
        page.setTotal(total);
 
        model.addAttribute("rs", rs);
 
        model.addAttribute("roleSize",total);
 
        Map<Role,List<Permission>> role_permissions = new HashMap<>();
         
        for (Role role : rs) {
            List<Permission> ps = permissionService.list(role);
            role_permissions.put(role, ps);
        }
        model.addAttribute("role_permissions", role_permissions);
 
        return "syspage/admin-role";
    }
 
    @RequestMapping("/editRole")
    public String list(Model model,long id){
        Role role =roleService.get(id);
        model.addAttribute("role", role);
        //所有權限
        List<Permission> ps = permissionService.list();
        model.addAttribute("ps", ps);
        //當前管理員擁有的權限
        List<Permission> currentPermissions = permissionService.list(role);
        model.addAttribute("currentPermissions", currentPermissions);
 
        return "syspage/admin-role-edit";
    }
 
    @RequestMapping("/updateRole")
    public String update(Role role,long[] permissionIds){
        rolePermissionService.setPermissions(role, permissionIds);
        roleService.update(role);
        return "redirect:listRole";
    }
 
    @RequestMapping("/addRole")
    public String list(Model model,Role role){
        roleService.add(role);
        return "redirect:listRole";
    }
 
    @RequestMapping("/deleteRole")
    public String delete(Model model,long id){
        roleService.delete(id);
        return "redirect:listRole";
    }   
 
}

后臺登錄控制層

/**
 * 后臺登陸
 */
@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
 */
@Controller
@RequestMapping("/order")
public class OrderController {
 
    @Autowired
    OrderService orderService;
    @Autowired
    OrderItemService orderItemService;
 
    /**
     * 所有訂單
     * @param model
     * @param page
     * @return
     */
    @RequestMapping("/list")
    public String list(Model model, Page page){
        PageHelper.offsetPage(page.getStart(),page.getCount());
 
        List<Order> os= orderService.list();
 
        int total = (int) new PageInfo<>(os).getTotal();
        page.setTotal(total);
        //為訂單添加訂單項數據
        orderItemService.fill(os);
 
        model.addAttribute("os", os);
        model.addAttribute("page", page);
        model.addAttribute("totals", total);
 
        return "ordermodule/order-list";
    }
 
    /**
     * 訂單發(fā)貨
     * @param o
     * @return
     */
    @RequestMapping("/orderDelivery")
    public String delivery(Order o){
        o.setStatus(2);
        orderService.update(o);
        return "redirect:list";
    }
 
    /**
     * 查看當前訂單的訂單項
     * @param oid
     * @param model
     * @return
     */
    @RequestMapping("/seeOrderItem")
    public String seeOrderItem(int oid,Model model){
        Order o = orderService.get(oid);
        orderItemService.fill(o);
        model.addAttribute("orderItems",o.getOrderItems());
        model.addAttribute("total",o.getOrderItems().size());
        model.addAttribute("totalPrice",o.getTotal());
        return "ordermodule/orderItem-list";
    }
 
}

以上就是Java實戰(zhàn)之校園外賣點餐系統(tǒng)的實現(xiàn)的詳細內容,更多關于Java點餐系統(tǒng)的資料請關注腳本之家其它相關文章!

相關文章

  • SpringMVC視圖作用詳解

    SpringMVC視圖作用詳解

    這篇文章主要介紹了springMVC中的視圖與視圖解析器,springMVC視圖的種類很多,默認有轉發(fā)視圖和重定向視圖,本文就每一種視圖給大家詳細介紹,需要的朋友可以參考下
    2022-11-11
  • Java使用GUI繪制線條的示例

    Java使用GUI繪制線條的示例

    這篇文章主要介紹了Java使用GUI繪制線條的示例,幫助大家更好的理解和學習java gui編程,感興趣的朋友可以了解下
    2020-09-09
  • Java多線程面試題之交替輸出問題的實現(xiàn)

    Java多線程面試題之交替輸出問題的實現(xiàn)

    本文主要介紹了Java多線程面試題之交替輸出問題的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Java實現(xiàn)作業(yè)調度的示例代碼

    Java實現(xiàn)作業(yè)調度的示例代碼

    這篇文章主要為大家詳細介紹了如何利用Java實現(xiàn)SJF算法調度,要求測試數據可以隨即輸入或從文件中讀入,文中的示例代碼講解詳細,需要的可以參考一下
    2023-04-04
  • Java TreeSet類的簡單理解和使用

    Java TreeSet類的簡單理解和使用

    這篇文章主要介紹了Java TreeSet類的簡單理解和使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • Java JDBC連接Kerberos認證的HIVE和Impala方式

    Java JDBC連接Kerberos認證的HIVE和Impala方式

    本文主要介紹了HiveJDBC和ImpalaJDBC的使用方法,包括版本對應、Maven安裝、主機名配置、端口開通、JDBC連接和Kerberos認證等
    2025-02-02
  • Java SpringMVC自學自講

    Java SpringMVC自學自講

    本篇文章主要介紹了java SpringMVC——如何獲取請求參數詳解,詳細的介紹了每種參數注解的用法及其實例。感興趣的小伙伴們可以參考一下
    2021-09-09
  • idea全局設置Maven配置的實現(xiàn)步驟

    idea全局設置Maven配置的實現(xiàn)步驟

    本文主要介紹了idea全局設置Maven配置,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • Spring底層原理深入分析

    Spring底層原理深入分析

    Spring框架是一個開放源代碼的J2EE應用程序框架,由Rod Johnson發(fā)起,是針對bean的生命周期進行管理的輕量級容器(lightweight container)。 Spring解決了開發(fā)者在J2EE開發(fā)中遇到的許多常見的問題,提供了功能強大IOC、AOP及Web MVC等功能
    2022-07-07
  • Java中使用增強for循環(huán)的實例方法

    Java中使用增強for循環(huán)的實例方法

    在本篇文章里小編給大家整理是的關于Java中如何使用增強for循環(huán)的實例內容以及相關代碼,需要的朋友們可以學習下。
    2019-08-08

最新評論

万年县| 林口县| 桃园县| 吉林市| 越西县| 黑水县| 永胜县| 望江县| 明光市| 丰都县| 炎陵县| 临高县| 敦煌市| 富宁县| 金坛市| 阳山县| 布拖县| 尉犁县| 阜康市| 卫辉市| 双辽市| 天津市| 阿图什市| 吉林省| 天峨县| 武宁县| 绥江县| 南木林县| 平利县| 景洪市| 剑川县| 栾城县| 峨眉山市| 屯门区| 水富县| 乌鲁木齐市| 逊克县| 垣曲县| 天峨县| 保定市| 灵山县|