Jsp 在不阻塞客户端的情况下执行方法
我使用Java来创建web应用程序。 应用程序必须加载一个表单,该表单将其数据发送到调用长业务逻辑的jsp。 我需要jsp将返回一条类似“感谢您使用我的服务,处理完成后将向您发送一封电子邮件”的消息 问题是,如果我写下如下内容:Jsp 在不阻塞客户端的情况下执行方法,jsp,business-logic,Jsp,Business Logic,我使用Java来创建web应用程序。 应用程序必须加载一个表单,该表单将其数据发送到调用长业务逻辑的jsp。 我需要jsp将返回一条类似“感谢您使用我的服务,处理完成后将向您发送一封电子邮件”的消息 问题是,如果我写下如下内容: <html> <head></head> <body> ... <span>thank you for using my service, an email will sent to you when the
<html>
<head></head>
<body>
...
<span>thank you for using my service, an email will sent to you when the proccess is done</span>
...
<% businessClass.doLongOperation(); %>
...
...
</Body>
</html>
...
感谢您使用我的服务,处理完成后将向您发送电子邮件
...
...
...
jsp将运行很长时间,用户将不得不等待操作结束。此外,如果用户将关闭浏览器,我不确定jsp是否将继续其工作
如何将长操作与jsp隔离开来,这样用户就不必等待所有的执行时间,如何使长操作的执行不依赖于浏览器
Naor您的JSP可能由servlet、Struts操作或Spring MVC控制器在服务器端提供支持 在该对象中,形成异步执行:
executor.execute(new Runnable() {
public void run() { businessClass.doLongOperation(); }
});
其中,执行器
是的一个实例