如何在java web应用程序的后台使用html5地理定位

Posted

技术标签:

【中文标题】如何在java web应用程序的后台使用html5地理定位【英文标题】:How to use html5 geolocation in the background for java web application 【发布时间】:2015-09-14 16:57:48 【问题描述】:

我已经在谷歌上搜索了这个问题的答案,但我没有运气,所以我会问它,希望你们能提供帮助!

我正在尝试使用 javascript 方法 navigator.geolocation.watchPosition 来持续收集位置数据。

场景是我有一个使用 servlet 和 jsps 的 java web 应用程序,我想在用户登录时开始地理定位收集,并在用户注销时停止。数据收集后会上传到sql数据库。我已经成功地收集了单个页面的数据,但我不知道如何实现适用于应用程序中所有页面的解决方案。

感谢所有帮助,谢谢!

【问题讨论】:

您遇到了哪些具体问题?为什么多页与单页有什么不同? 对于单页,javascript在jsp中执行,将数据发送到servlet上传到数据库。如果您单击转到另一个页面,则 javascript 将停止执行,您将不再收集和上传数据。我正在尝试找到一种可以在后台实施的解决方案,允许用户在收集和上传位置数据的同时完全浏览网站。 您需要在其他页面中使用相同的脚本。 javascript 在页面加载之间没有持久性 考虑到这个项目的规模,我认为这不是一个可行的解决方案。有没有办法创建一个单独的后台线程,在会话期间运行相关的 javascript? 不...没有使用浏览器扩展之类的东西在大多数情况下不是很实用 【参考方案1】:

由于您正在开发 Java Web 应用程序,我建议您

    将跟踪用户位置的 JS 逻辑从 JSP 页面提取到单独的 JS 文件或 JSP 文件中(如果脚本是动态生成的)。 使用 Servlet 过滤器将对此跟踪 JS 文件的引用添加到返回给客户端的所有 html 页面中。您可以使用正则表达式在 HTML 内容中进行搜索,在 </head> 标记之前插入 <script src="url to tracking JS file">

如果过滤器发现当前用户尚未登录,则不需要注入此脚本引用。

【讨论】:

以上是关于如何在java web应用程序的后台使用html5地理定位的主要内容,如果未能解决你的问题,请参考以下文章

bootstrap ace admin 整合java HTML5 全新高大尚web后台框架

bootstrap ace admin 整合java HTML5 全新高大尚web后台框架

想做一个html5页面调用后台java接口,将查询出来的数据展示在html5页面上让手机端调用,

浅谈Web Workers

HTML5 Web Workers

前端学习日记 —— HTML5 基础