Birt:将用户停留时间存储在报告中并将访问次数存储到数据库中

时间:2014-09-25 17:11:16

标签: mysql session tomcat7 birt

我在tomcat 7上部署了birtviewer。我使用基于tomcat格式的身份验证来控制用户访问报告。目前,我已经提出要求将用户访问次数和他在每个birt报告上花费的时间存储到mysql数据库

我已经完成了如何从会话变量中提取总会话时间的seme研究,但我面临的问题是在

之下

1)用户登录后会话即开始。如何收集后续报告的会话信息?例如,我有一些连接到主报告的报告。如果用户登录,则会将其带到主页面。之后,用户无需登录用户访问的下一个报告。如果用户访问其他报告,我如何收集有关用户在每份报告上花费的时间的信息?

2)我还想收集用户对每个报告的访问次数?我该如何收集这些信息?

3)如何将这些信息从birt报告发送到数据库?

如果您有任何疑问或需要更多解释,请与我们联系。我已经google了,可以收集有关如何从会话变量中提取信息的信息,但我可以获得有关如何单独为每个birt报告执行此操作的任何信息(即使所有报告都使用相同的会话信息)

此致 阿里夫

1 个答案:

答案 0 :(得分:0)

您可以在Java中编写ServletFiler并将打包的jar添加到BIRT Viewer的WEB-INF\lib文件夹中,并在查看器的WEB-INF\web.xml中配置过滤器映射,因此它是每次调用BIRT Viewer的URL时都会触发。

在您的过滤器内部,您可以读取会话时间并将时间戳和单击计数器保存到数据库中。您可以通过从会话ID标识的下一个保存时间戳中减去访问时间来计算访问时间。