将Java传递给Javascript需要很长时间
我试图通过HTTP请求(使用JavaTomcat发送)将一个大JSONObject传递给Javascript 但是当JSONObject的大小增加时,将对象从Java变量传递到Javascript变量将花费很长时间 我怎么做: 在Java servlet中,我使用Java HttpServletRequest设置要传递的属性,并调用我想要的页面:将Java传递给Javascript需要很长时间,javascript,java,html,json,tomcat,Javascript,Java,Html,Json,Tomcat,我试图通过HTTP请求(使用JavaTomcat发送)将一个大JSONObject传递给Javascript 但是当JSONObject的大小增加时,将对象从Java变量传递到Javascript变量将花费很长时间 我怎么做: 在Java servlet中,我使用Java HttpServletRequest设置要传递的属性,并调用我想要的页面: request.setAttribute("myJsonAttr", myJSONObject);` this.getServletContext()
request.setAttribute("myJsonAttr", myJSONObject);`
this.getServletContext().getRequestDispatcher("/WEB-INF/result.jsp").forward(request, response);
然后在目标JSP中检索JSON对象:
<%
JSONObject myJavaJSONObject = (JSONObject) request.getAttribute("myJsonAttr");
%>
<script>
var alignmentJson = <%=myJavaJSONObject%>;
</script>
运营中的实际瓶颈是什么?您可以做很多事情,例如使用AJAX从客户端页面动态获取数据(可能是分块而不是一次全部)。但是如何设计它以及它对性能的影响取决于导致性能问题的实际原因代码>当myJavaJSONObject大小增大时,它不会停止处理。行所做的一切都是设置一个变量。您的意思是瓶颈实际上是将数据从服务器传输到客户端吗?那么,通过AJAX分页数据似乎是一种理想的方法。它有点宽泛,但总的来说,在页面最初加载时,您不会向页面发送任何数据,但页面本身将包含从服务器获取数据的JavaScript代码。因此,页面将快速加载,然后在加载后开始提取数据。是的,问题似乎来自数据传输(服务器到客户端)。页面在第一次调用“myJavaJSONObject”后停止响应(我编辑了主消息)
<%
JSONObject myJavaJSONObject = (JSONObject) request.getAttribute("myJsonAttr");
%>
<script>
console.log("this log is displayed");
</script>
<script>
console.log("this log is not displayed");
var alignmentJson = <%=myJavaJSONObject%>;
</script>