У меня есть страница JSP
, где пользователь заполняет форму.
Сервлет получает пользовательские данные, выполняет некоторые вычисления, отправляет некоторые электронные письма, а затем перенаправляет пользователя на другую страницу.
Проблема в том, что часть "отправки электронного письма" длится несколько секунд, поэтому пользователь ждет много времени с момента отправки формы до отображения новой страницы.
В сервлете порядок:
//...
//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 минут и проверяйте, отправляются ли электронные письма.
Однако есть ли способ показать новую страницу пользователю, а затем сервлет продолжает отправлять электронные письма?