利用Struts2拦截器实现 db日志

刚刚学习SSH,自己做了个小项目,要实现操作的日志记录,想利用Struts2的拦截器实现,但是不知道怎么实现,是对每一个Action写一个拦截器还是对所有的方法写一个拦截... 刚刚学习SSH,自己做了个小项目,要实现操作的日志记录,想利用Struts2的拦截器实现,但是不知道怎么实现,是对每一个Action写一个拦截器还是对所有的方法写一个拦截器,要是对所有的方法都对应一个拦截器的话,那不是在这个拦截器里进行N多的if语句判断,然后再对每一个方法进行处理,最后插入到数据库中去。感觉这样多不是怎么好。
还有人说用Spring的AOP实现,一个切面只能够对应一类Action进行处理,但是我希望每一个Action有不同的处理方法。希望高手指点。
看有人说可以“将各个acton及对应的方法及操作等都可以进行配置,如配置到一个xml文件当中,以后系统中新增加了action去修改xml文件就可以了。这样就不用去写大量的if,也不用每次有新增action来改日志管理系统的代码了。”
不知道这个怎么实现。请有经验者指点。能上我解决者在加100分。
我知道用Log4j实现DB日志,但是他只能够实现一种日志,我的系统要求有多种日志,比如说普通用户日志,只能看到他自己的日志,还有管理员日志,如果单用Log4j不能实现,所以才采用拦截器。
展开
 我来答
tech_java
2009-05-31 · TA获得超过567个赞
知道小有建树答主
回答量:186
采纳率:100%
帮助的人:0
展开全部
是对每一个Action写一个拦截器还是对所有的方法写一个拦截器.显然是后者。如果是前者,一个action对应一个拦截器还不如直接在action里面写呢。

拦截器只能完成一些通用的功能。比如进入简单的日志,什么时候进入调用了那个类,那个方法,,都有哪写参数,有没有异常,request中的一些参数,这些是拦截器可以做的。

但是如果你的日志中包含了业务信息,那么只能在action内做。
Storm代理
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I... 点击进入详情页
本回答由Storm代理提供
六号船票
2009-06-02 · TA获得超过148个赞
知道答主
回答量:111
采纳率:0%
帮助的人:80.3万
展开全部
实现日志记录我们一般不使用拦截器,而是用org.apache.log4j.Logger这个包来记录的,在每个DAO处理中都用logger来记录你的增删改查记录
拦截器一般用于普遍性的动作,验证每个试图访问后台action动作,如登陆验证,字符乱码处理等
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
骨骼很惊奇
2009-06-04
知道答主
回答量:9
采纳率:0%
帮助的人:9.3万
展开全部
不需要业务信息的话,可以写通用的日志拦截类,大体记录的日志如下:
某时间某人操作了某类的某方法(IP地址等也可以记录)

如果涉及到业务信息的话,只能在action中写了,例如:
某人修改了原名为XXX的记录,改为XXXX
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
歪瑞顾K
2009-06-03 · TA获得超过2905个赞
知道大有可为答主
回答量:2731
采纳率:33%
帮助的人:2215万
展开全部
11
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式