javascript - Web 应用程序 - 离开主页后 90 秒执行操作

标签 javascript java jquery

我有一个java(7)网络应用程序(spring mvc)。该企业要求在用户离开主页 90 秒后执行一项操作(显示弹出公告)。 View /页面都是 jsp 页面,并且所有页面都有页眉和页脚 jspf。应用程序中没有太多网页 - 大约 8 个(更多是关于数据的)。

我正在寻找有关最佳方法的建议!我正在考虑在卸载事件中添加 session 日期/时间值,然后每 4 或 5 秒检查一次该值(90 秒不是关键任务!),直到达到 90 秒。

这个解决方案最让我印象深刻的是,虽然它可能不会对用户体验产生太大影响,但效率有点低,因为我不知道如何能够停止每 5 秒检查一次 session 变量,甚至一次操作已完成。

有人可以帮助我找到更好的方法吗?

最佳答案

此答案适用于服务器端 Java 解决方案,您可以在其中使用 Push。非常适合像 Vaadin 这样的服务器端框架但对于简单的 JSP 页面来说可能有点大材小用了。

执行者

Java 5 及更高版本捆绑了用于在后台线程上调度任务的复杂类。这些类实现 Executor .

具体来说,ScheduledExecutorService 。您指定一个数字(例如 90)和一个时间单位(例如“秒”)。您通过 CallableRunnable对象作为要执行的任务。 Java 处理剩下的事情。你会得到一个ScheduledFuture如果您需要监视完成情况,您可以查询其状态。

请参阅Tutorial .

这项工作发生在后台线程上。因此,您的 Callable/Runnable 需要到达主 Servlet 的线程及其对象,因此您必须注意并发问题。

所有这些都在 StackOverflow 上得到了广泛的报道。因此,请搜索更多信息。

关于javascript - Web 应用程序 - 离开主页后 90 秒执行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33278139/

相关文章:

javascript - 制作带有链接的可点击 <div>,如何只触发一个 Action ?

php - 在 WooCommerce 中为 guest 和客户设置字段中的邮政编码

javascript - 如何通过其名称作为字符串来调用函数?

java - 将 Eclipse Maven 项目转换为 Eclipse Maven 动态 Web 项目

java - 使用Java在数组中查找子字符串索引

java - 从servlet获取对象到flex

javascript - sweet alert 确认后继续提交表单

javascript - 如何使用 highcharts 显示圆形进度饼图

javascript - Aurelia 导航时没有 'refresh' vm

javascript - 了解 React Native 跨平台