Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsp 在不阻塞客户端的情况下执行方法_Jsp_Business Logic - Fatal编程技术网

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

我使用Java来创建web应用程序。 应用程序必须加载一个表单,该表单将其数据发送到调用长业务逻辑的jsp。 我需要jsp将返回一条类似“感谢您使用我的服务,处理完成后将向您发送一封电子邮件”的消息

问题是,如果我写下如下内容:

<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(); }
});
其中,
执行器
是的一个实例