如何将用户重定向到页面,然后servlet执行方法

时间:2018-08-27 10:55:14

标签: java jsp servlets

我有一个JSP页,用户可以在其中填写表格。

该servlet获取用户输入,进行一些计算,发送一些电子邮件,然后将用户重定向到另一个页面。

问题在于“发送电子邮件”部分持续了几秒钟,因此从提交表单到显示新页面,用户等待了很多时间。

在servlet中的顺序为:

//...
//servlet gets the user input and store all the info to an object `MyObject` filesToAttach

response.sendRedirect(destination); // show the new page to the user..
sendEmail(filesToAttach); //method that sends the emails

//...

尽管sendRedirect排在第一位,但sendEmail方法完成后才向用户显示新页面...

我可以在运行它的地方使用ServletContextListener,例如每10分钟检查一次是否有电子邮件要发送。

但是,有没有一种方法可以向用户显示新页面,然后servlet继续发送电子邮件?

1 个答案:

答案 0 :(得分:0)

简单的答案:使用专用的ThreadExecutor异步发送电子邮件。