在Dao层加上ThreadLocal,Struts2封装的Http的组件好像也是在ThreadLocal中,这样就能跨层传递。Dao层从ThreadLocal中取出组件就可以拿用户、访问地址等等重要信息。
解决方案 »
- 问一个wap问题,抓取其他网站标题,并且解析内容!
- 加入windows的服务后的奇怪问题.
- 急!寻求帮助!
- 对于java学习的讨论,欢迎高手新手畅所欲言!
- JSP中怎样实现,光标自动跳到下一个空格中。
- 关于webwork入门的问题(100分)
- 100求解决方法,关于Servlet无法执行的错误,分不够可以再加
- 我是东东树的妹妹,我有问题要问大家。关于文件关联问题?
- 我的数据库有些字段是ntext属性的,有点问题问问大家!
- web Service求助
- ApplicationContext.getBean()获取service无异常,但结果为null,获取dao可以得到实体
- Unable to compile class for JSP
你action里面把数据组装传递给Service层
然后Service层统一调用dao层不好吗?
你这个可以通过拦截器去做 任何action操作都要触发这个拦截器 如果是指定操作 就调用指定的Service去保存操作日志 不用侵入到各个action中
2、Hibernate有统一打印SQL日志的功能,你把这方面的源代码翻出来看一看,应该可以扩展的;
3、然后在扩展的日志类中从当前线程获取用户信息与访问路径即可。
你这个可以通过拦截器去做 任何action操作都要触发这个拦截器 如果是指定操作 就调用指定的Service去保存操作日志 不用侵入到各个action中
不行,sql语句生成是在dao层,在action层无法得到sql语句,需求里也要把sql语句保存,就算拦截了也没用,sql回传的话跟我说的一样,每个方法都要修改返回的数据
恩,解决后希望楼主你可以写一篇详细的解决方案文章发布到你的博客中。
再获得sessionid
根据sessionid 存放于spring容器中反向经过filter的时候再销毁srping容器中对应的sessionid
哟~想法不错,挺新颖的,从没考虑过session的sessionId也唯一的~不过我的功能流产了,建议不错