首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Servlet 3:异步不能推送部分响应

Servlet 3:异步不能推送部分响应
EN

Stack Overflow用户
提问于 2013-01-26 21:24:48
回答 1查看 1.2K关注 0票数 5

我使用的是Tomcat 7。当我的异步servlet试图在不同的时间间隔内将部分响应推送给客户端时,它不起作用。只有在整个响应准备就绪后,响应才会被刷新。

如何推动局部反应?

这是我的密码

代码语言:javascript
复制
@WebServlet(urlPatterns={"/home"} , name="asynch", asyncSupported=true)
public class CometServlet extends HttpServlet {

    public void doGet(final HttpServletRequest request, final HttpServletResponse response) throws IOException, ServletException
    {
        final  AsyncContext ac = request.startAsync();
        new MyThread(ac).start();
    }
}

MyThread所做的是将数字从1写到10,定期将数字写入reponse对象。

代码语言:javascript
复制
class MyThread extends Thread
{
    AsyncContext ac;
    public MyThread( AsyncContext ac ) {
        this.ac = ac;
    }

    public void run()
    {
        int i =2 ; 
        while( i < 10 )
        {
            try
            {
            ac.getResponse().getWriter().print(i + "\n" );
            ac.getResponse().getWriter().flush();
            ac.getResponse().flushBuffer();
            Thread.sleep(1000);
            }
            catch (Exception e) {
                System.out.println("ccttt " + e);
            }
            i++;
        }
        ac.complete();
    }
}

以及请求servlet的页面

代码语言:javascript
复制
<script type="text/javascript">
function show()
{
var xml = new XMLHttpRequest();
xml.open("GET", "http://localhost:8080/Comet/home", true );
xml.onreadystatechange=function()
{
    if (xml.readyState== 3|| xml.readyState == 4 ) {
    document.getElementById("dynamicContent").innerHTML=xml.responseText;
    }
}
xml.send(null);
}
</script>

<input type="button" value="show" onclick="show()"/> 
<div id="dynamicContent"> </div>

大约10秒后,我在浏览器上看到了完整的响应。但我想看到部分输出每秒钟。

我只想学习如何使用Servlet3API推动部分响应。

有人能回答这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2013-06-04 22:35:02

关于这个问题,请参见my answer,这个问题在另一个问题中提到。如果你仍然面临这个问题后,在这个答案的说明,请告诉我。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14541733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档