zoukankan      html  css  js  c++  java
  • springmvc定时任务及RequestBody注解

    假设一个物流或商城系统,当后台库存不足时,要提示管理员,或者有人下单等情况,都要及时的通知管理员,因此就需要定时去后台查询,定时发送请求到后台,查看库存是否足够等信息。

    定时任务启用java定时器,再自启动的servlet容器中,设置计时器,如果时间到了,就会自动执行方法内容。java通过线程休眠来实现计时功能Thread.sleep()

    使用步骤:

    1.再mvc配置文件中添加启用定时任务注解

    2.创建定时任务

    @Controller
    public class KuCunController {
    
        /**
         * 通过scheduled组件来实现
         * @return
         */
        @Scheduled(cron = "0/5 * * * * ?")
        public String fun1() {
            String kucun = "10";
            System.out.println("启用了定时任务" + new Date());
            return kucun;
        }
    }

    注意:因为定时任务是在自启动的servlet容器中,是随着服务器启动开始计时的,因此需要再服务器启动时启动项目,因此要在web.xml中配置项目随服务器启动而启动:

    关于cron的取值:

     

     

     可以使用ModelAndView返回视图。

    RequestBody用法:

    @ResponseBody:将数据转换成json并输出到响应流中
    @RequestBody:将请求中的json数据转换成Java对象,一般用来处理复杂类型的数据
    模拟ajax请求:
    function test() {
            var emps=[];
            emps.push({ename:"zhangsan",empno:1,age:10});
            emps.push({ename:"lisi",empno:2,age:20});
            emps.push({ename:"wangwu",empno:3,age:30});
            $.ajax({
                type:"post",
                url:"/ce812/emp/add",
                data: JSON.stringify(emps),
                contentType:"application/json",
                success: function (data) {
                    alert(data);
                },
                error:function (xhr, msg) {
                    alert(msg)
                }
    
            })
        }
    @Controller
    @RequestMapping("/emp")
    @ResponseBody
    public class EmpController {
    
        /**
         * @param emps:复杂对象,使用requestbody接收
         * @return
         */
        @PostMapping("/add")
        @ResponseBody
        public String test1(@RequestBody List<Emp> emps) {
            System.out.println(emps);
            return "ok";
        }
    }

    前端页面发送请求,注意数据格式问题,发送json数据到后台,后台通过requestBody将json数据中的多个数据转为对象。

  • 相关阅读:
    Java——HTTPServletRequest的使用
    JavaWeb——HttpServletResponse的使用,文件下载
    JavaWeb——Servlet简介
    JavaWeb——TomCat服务器
    HTTP与HTTPS
    Java——DBCP连接池
    Java——JDBC连接MySQL
    Java——线程锁,死锁,等待唤醒机制
    LeetCode118. 杨辉三角
    LeetCode66. 加一
  • 原文地址:https://www.cnblogs.com/Zs-book1/p/11353308.html
Copyright © 2011-2022 走看看