如果我遗漏了什么,请随时编辑问题或询问更多详细信息。
我知道Scriptlets
在JSP
.
但我被指派维护现有的JAVA project
,仅使用JSP
和servlets
(无框架)构建。
我的任务是使用Apache HTTP Server为我的应用程序实现负载平衡。
该应用程序可以正常工作 out load balancing
。当我实现load balancing
using 时Apache HTTP Server
,我遇到了 JSP 的问题。
我会给出一个场景。我的JSP有一个 while 循环,它运行 javascript 来更新内容。
我的 JSP 有,
<%
String jsPreAppend = "<script language=JavaScript >push('";
String jsPostAppend = "')</script> ";
String s=null;
int i = 0;
try {
while (true) {
System.out.println("count :"+i);
out.print(jsPreAppend + i + jsPostAppend);
out.flush();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
out.print(jsPreAppend + "InterruptedException: " + e + jsPostAppend);
}
i++;
}
} catch (Exception e) {
out.print(jsPreAppend + "Exception: " + e + jsPostAppend);
}
%>
我的 JavaScript 有,
function push(content) {
document.getElementById('update').innerHTML = content;
}
控制台输出将是,
count :1
count :2
count :3
.
.
.
count : n
count :n+1
但是 JSP 中的内容不会更新。我认为javascript在while循环中失败了。
但是SysOut()有效,因为更新的内容将在控制台中每秒钟打印一次。
load balancing
但是没有(只有一个tomcat),同样的应用程序工作也很好。
希望我们的堆栈用户能帮助我。