Java 如何在jsp中使用ajax或jquery进行后台处理
我正在显示100个记录列表以及来自servlet的图像和图像 现在的问题是,我正在加载图像,以供以后使用,如用于撅嘴的事情 那么,有没有什么方法可以将这些图像作为后台进程加载,而不是中断页面加载。(目前,由于使用了图像servlet,加载整个页面需要20分钟) 任何方式,比如使用ajax调用作为后台进程,或者其他方式使用java 如有任何建议,将不胜感激Java 如何在jsp中使用ajax或jquery进行后台处理,java,javascript,ajax,jsp,servlets,Java,Javascript,Ajax,Jsp,Servlets,我正在显示100个记录列表以及来自servlet的图像和图像 现在的问题是,我正在加载图像,以供以后使用,如用于撅嘴的事情 那么,有没有什么方法可以将这些图像作为后台进程加载,而不是中断页面加载。(目前,由于使用了图像servlet,加载整个页面需要20分钟) 任何方式,比如使用ajax调用作为后台进程,或者其他方式使用java 如有任何建议,将不胜感激 谢谢。如果需要20分钟,我会亲自创建一个servlet,创建一个html页面,例如myresult.html。如果没有完成,或者请求已经在处理
谢谢。如果需要20分钟,我会亲自创建一个servlet,创建一个html页面,例如myresult.html。如果没有完成,或者请求已经在处理中,我会返回“正在处理,请稍候”或类似的内容,完成后,我会重定向/加载到新创建的html页面 如果你想让javascript遵循同样的想法,而不是返回一条消息,你可以返回一条JSON消息,javascript变量what have you。。。并以一定的周期性检查此消息,例如setTimeout(检查消息,60000) 更新 如果只需要在加载主页之后加载一些图像,则可以在加载页面时使用一些javascript函数加载图像,或者在加载页面时使用jquery,然后使用jquery或纯javascript异步加载图像
我希望这会有所帮助。我认为您可以学习使用javascript进行异步编码。比如说,
f1(); // We assume f1() will take a long time and it will block page loading.
f2(); // And f2() must be execute after f1()
// Other code here will be blocked by f1()
我们可以简单地使用setTimeout()异步执行f1(),如下所示
function f1(callback){
setTimeout(function () {
// Here is the work will do in f1()
// You can move upper f1() code to here
callback();
}, 20 * 60 * 1000);
}
f1(f2);
// Other code here without being blocked by f1()
更多的异步编码技巧可以在这里找到:您的Servlet应该只创建记录列表。稍后,您应该使用ajax调用加载图像。在浏览器中加载图像(大内容)需要20分钟,或者Servlet没有得到优化,这是一个性能问题?我已经说过“请稍候”当页面加载时,这是一种消息,但此页面有时需要花费更多的时间加载,我想这只是因为如果我删除此页面,然后在2分钟内加载页面。我只需要使用后台过程加载包含图像的div,因为此图像未直接显示在页面上,但我已将其置于悬停弹出窗口。从您的评论中,我认为您可以将其移除或替换为。和$(document).ready(函数(){/*替换img标记或更新img标记的src属性*/})@甜蜜的