• 服务器端使用DeferredResult异步推送技术


      注意1:

      org.springframework.web.context.request.async.DeferredResult;

      是Spring4.0以后的版本才有的,注意Spring版本,然后添加Spring Springmvc的依赖

     <org.springframework-version>4.1.1.RELEASE</org.springframework-version>

    注意2:当出现如下异常时:

      Async support must be enabled on a servlet and for all filters involved in async request processing.

      This is done in Java code using the Servlet API or by adding "<async-supported>true</async-supported>"

      to servlet and filter declarations in web.xml.

      处理方式:

      <servlet>
        <servlet-name>appServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
        <async-supported>true</async-supported> //添加这一句
      </servlet>



    服务端接口: 

     @RequestMapping("/defer") @ResponseBody public DeferredResult<String> deferred(){ //其他用户通过客户端访问/feder来获取数据 SimpleDateFormat sd = new SimpleDateFormat("YYYY年-MM月-DD日 hh时: mm分 : ss秒"); String date = sd.format(new Date()); System.out.println(date); DeferredResult<String> d = new DeferredResult<String>(); d.setResult("***"+msgs); return d; }
    String msgs; @RequestMapping(
    "/getmsg") public void getmsg(String msg){ //一个用户何以使用/getmsg?msg=xxxxx,修改msgs的信息 System.out.println("msg is "+msg); msgs = msg; }
    <div id="msgFrompPush">
    <h3>msg:</h3>
    </div>
    <script type="text/javascript" src="resources/jquery-2.1.1.min.js"></script>
    <script type="text/javascript">
    

    deferred(); function deferred(){ $.get('defer',function(data){ //使用get请求/defer console.log('data : '+data); $("#msgFrompPush").html(data); }); } </script>
  • 相关阅读:
    期权波动率模型及交易策略分析
    k阶原点距和k阶中心距各是说明什么数字特征
    在Linux中监视IO性能
    NUMA微架构
    Web网站的几个QPS
    Elasticsearch与Solr 选型
    相关连接(后续更新)
    linux_基本命令使用(后续更新)
    centos7.5安装kafka(支持外部连接)
    centos7.5单机安装安装zookeeper
  • 原文地址:https://www.cnblogs.com/wwzyy/p/8276910.html
Copyright © 2020-2023  润新知