有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java实时动态地将表单提交的结果输出到JSP页面

我在关键字中有这个表单。jsp

Form

当用户单击submit时,它调用关键字PostServlet。java来做一些计算。计算完成后,用户被引导到followMessage。jsp

enter image description here

根据“要关注的用户数”,从用户单击提交到用户看到结果可能需要很长时间。这是关键字PostServlet中的计算。java

for (int i = 0; i < tweets.size(); i++){
    Status s = tweets.get(i);
    twitter.createFriendship(s.getUser().getId());
    msg += i+1 + ". Following @" + s.getUser().getScreenName() + ".<br/>";
}
request.setAttribute("message", msg);
request.getRequestDispatcher("/followMessage.jsp").forward(request, response);

下面是在followMessage中显示结果的代码。jsp:

<body>
<%
    String msg = (String) request.getAttribute("message");
%>
<%=msg%>
</body>

我怎样才能让用户实时看到他们跟踪的每个人,而不是一次点击提交并查看所有结果


共 (1) 个答案

  1. # 1 楼答案

    你正在与Twitter API createFrienship合作

    这似乎是一个HTTP请求。所以你在循环中触发了太多的请求。这需要时间

    试着在一个额外的线程中完成它。这是一个乐观的策略,但我相信如果你想关注这么多用户,没有其他方法:

    new Thread(new Runnable(){
    
        @Override
        public void run(){
            // your loop with createFriendship(..)
        }
    
    }).start();
    

    还有。如果你是creating a string in a loop,请使用StringBuilder