首页 > 解决方案 > 如果另一个用户正在加载页面,则 jsp 页面未加载

问题描述

我有一个执行选择的 jsp 页面,然后需要显示大量数据。加载可能需要一分钟左右。我遇到的问题是,如果另一个用户尝试访问所述页面,他们只会得到一个旋转的浏览器,直到第一个用户的页面完成。我能够使用以下测试页面复制它

该页面是:

<%@ page isThreadSafe="false" import="java.util.*" errorPage="error2.jsp" %>
<html>
<head>
<title>Test page</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<center>
<% 
    for (int i = 1;i <= 10000; i++) { %>
          line <%=i%>&nbsp;<%=new Date()%><br>
         <% for (int j = 1;j <= 900000; j++) {
         }
    }
%>
</center>
</body>
</html>  

当我在两个浏览器上同时进入这个页面时,两个浏览器都开始旋转,一个会开始显示“line 1..”数据,另一个会继续旋转,直到第一个显示“line 10000.. ." 然后第二个浏览器将开始显示。

第一个浏览器中显示的第一行和最后一行是:

第 1 行 2019 年 1 月 16 日星期三 15:35:25 EST 2019 年
第 10000 行 2019 年 1 月 16 日星期三 15:35:39 EST

第二个浏览器中显示的第一行和最后一行是:

第 1 行 2019 年 1 月 16 日星期三 15:35:39 EST 2019 年
第 10000 行 2019 年 1 月 16 日星期三 15:35:53 EST

我已经能够在 JBoss 7 和 Wildfly 9 中复制它。两者都在独立模式下。

我需要在standalone.xml 中设置一些设置,以便两个 JBoss/Wildfly 将同时生成同一页面的两个或多个实例?

标签: jbosswildfly

解决方案


It looks like it is the "isThreadSafe" page directive attribute. When I change it from false to true, the pages are displayed in multiple browsers concurrently.


推荐阅读