【问题标题】:Filter to track time spent by an user in each page in a spring application过滤以跟踪用户在 Spring 应用程序的每个页面中花费的时间
【发布时间】:2012-01-25 01:10:29
【问题描述】:

我正在开发一个 Spring 应用程序,我想在其中跟踪用户在每个页面上花费的时间。我打算通过 Spring 过滤器来实现。有没有拦截每一个页面请求的spring过滤器?

或者,如果您知道任何更好的方法或已经执行此操作的 API,我可以将其插入到我的应用程序中 - 请提出建议。

【问题讨论】:

  • 如果原因是“网络营销”,那么你应该通过谷歌分析(或类似的东西)来做。
  • 任何服务器端过滤器都对您没有帮助,因为您想衡量用户在页面上花费了多少时间,而不是加载/渲染它花费了多少时间。请参阅上面的@cherouvim 评论。
  • @TomaszNurkiewicz:嗯,通过将网页浏览链接到以前的网页浏览(也通过 cookie 关联用户)并可能丢失最后点击页面的查看时间,这可能在服务器上也是可行的。但这很难做到正确,特别是如果这样做的原因是分析。
  • @cherouvim 不,这不是用于网络营销,它是一个内部应用程序。目的是跟踪每个用户在会话期间(从登录到注销)在不同页面上花费的时间。
  • 好的,但请注意,您仍然可以将分析用于内部应用程序。

标签: spring spring-mvc servlet-filters appfuse user-tracking


【解决方案1】:

有 Spring org.springframework.web.servlet.HandlerInterceptor 接口。它是一个具有特殊接口的普通 bean。

阅读Spring reference chapter 15.4.1 Intercepting requests - the HandlerInterceptor interface

另一种(spring 独立)方式是实现一个 servelt 过滤器,但是你没有 spring 支持,例如,可以轻松访问其他 bean。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-22
    • 1970-01-01
    相关资源
    最近更新 更多