java web 怎么在action中调用前台的ajax方法,情况是这样的,别人系统中数据一旦发生改变,调用我的后台方法,然后在我的页面上作出相应(执行ajax方法),或者有什么办法后台推送前台java推送后台调用js

解决方案 »

  1.   

    就搜索jsp+ajax demo就可以了吧
      

  2.   

    使用ajax 对后台 定时查询
      

  3.   

    首先说明一点,用JAVA有一个JAR包是可以执行JS代码的,但是这不能满足你的需求。这跟HTTP协议有关,HTTP不同于SOCKT,他要数据时请求,请求完了马上断开连接,所以你无法在后台控制前台。要实现个思路有两个。1,如果数据是存数据库的你可以用2#说的定时查询来实现。2,如果数据不存数据库你还是要用AJAX来实现,只不过不是定时而是AJAX“服务器推送技术”。其实两种都是轮询别被“服务器推送”这几个字迷或了。
      

  4.   

    后台基本是没机会主动去请求页面ajax刷新页面的,可以反过来想
    1.页面建立定时器(setInterval)定期请求后台监控某个状态,此状态可以是数据库里面的数据也可以是静态变量
    2.一旦此状态发生变化,刷新页面。
    你这个【别人系统中数据一旦发生改变,调用我的后台方法】
    如果是你这边的接口,可以设一个静态变量,如果此变量发生变化,js定时器响应ajax
      

  5.   

    简单做就页面写个interval定时轮询后台,复杂的需要comet,就是服务器推技术
      

  6.   

    websocket支持服务器推送。但对浏览器要求较高。
      

  7.   

    浏览器发起一个ajax请求,后台action将请求挂起等到满足触发条件时再返回数据。为防止后台过多的挂起可以给请求设置超时时间,页面检测到超时就立刻再发送一个请求。你可以参考下微信网页版登陆界面。用个http抓包工具就可以看到他每隔一段时间就会发一个请求到后台,超时重发,直到你扫描了二维码,服务器通知页面改变为止