我在tomcat 7上部署了birtviewer。我使用基于tomcat格式的身份验证来控制用户访问报告。目前,我已经提出要求将用户访问次数和他在每个birt报告上花费的时间存储到mysql数据库
我已经完成了如何从会话变量中提取总会话时间的seme研究,但我面临的问题是在
之下1)用户登录后会话即开始。如何收集后续报告的会话信息?例如,我有一些连接到主报告的报告。如果用户登录,则会将其带到主页面。之后,用户无需登录用户访问的下一个报告。如果用户访问其他报告,我如何收集有关用户在每份报告上花费的时间的信息?
2)我还想收集用户对每个报告的访问次数?我该如何收集这些信息?
3)如何将这些信息从birt报告发送到数据库?
如果您有任何疑问或需要更多解释,请与我们联系。我已经google了,可以收集有关如何从会话变量中提取信息的信息,但我可以获得有关如何单独为每个birt报告执行此操作的任何信息(即使所有报告都使用相同的会话信息)
此致 阿里夫
答案 0 :(得分:0)
您可以在Java中编写ServletFiler并将打包的jar添加到BIRT Viewer的WEB-INF\lib
文件夹中,并在查看器的WEB-INF\web.xml
中配置过滤器映射,因此它是每次调用BIRT Viewer的URL时都会触发。
在您的过滤器内部,您可以读取会话时间并将时间戳和单击计数器保存到数据库中。您可以通过从会话ID标识的下一个保存时间戳中减去访问时间来计算访问时间。