我有一个正在运行的JSF2应用程序,现在想要添加请求记录功能。
日志记录将保存到数据库,包含标准用户/页面/ IP三重奏以及其他生成的内容。
现在在托管bean中的@PostConstruct注释方法中调用dao方法,但这似乎是代码重复。
@PostConstruct
public void init() {
loggingDao.save(user,page,ip);
}
如何使用托管bean在jsf端集中此日志记录/审核进程?由于这是一个横切方案,我不想将此代码添加到每个托管bean。
修改 这个问题得到了很多评论意味着没有以正确的方式提出问题。
最后一次机会:我需要在我的网站上记录/观看用户交互,可能是登录操作或点击列出项目的按钮(映射到支持bean方法)或页面导航/重定向。 / p>
我还假设我可以使用相同的架构来决定用户是否拥有网站上特定操作的权利,但这是另一个故事,因为它的结果会有所不同。
答案 0 :(得分:0)
您可以使用servlet过滤器或JSF阶段侦听器。如果要记录每个请求(包括CSS和JavaScript资源),请使用过滤器。如果您只对JSF请求感兴趣,可以使用阶段侦听器。只需挂钩“恢复前视图”阶段并记录您想要的任何内容。