java web程序实现痕迹保留

问题描述

请问在java web项目中如何做到保留用户操作痕迹的功能? 我想要实现的效果是: 当XX用户登录到系统后,记住XX的每一个操作。记录结果如,XX于XX时间进入XX页面做了XX(增删改)操作...于XX时间退出系统(不论用户是关闭浏览器,点击系统提供的退出按钮还是直接关闭电脑). 大概的想法就如上所述,如果有什么没有说清楚的地方,请给我留言,谢谢^_^

解决方案

SSH框架使用中,每一个框架都提供给用户记录日志的相关接口,你可以使用Struts中的Log4j将日志以不同方式记录,如存储到数据库中,也可以使用Hibernate提供给你的一个接口并实现该接口实现,甚至可以使用web.xml文件:<context-param><param-name>webAppRootKey</param-name><param-value>swing.root</param-value></context-param><!--=================由Sprng载入的Log4j配置文件位置======================--><context-param><param-name>log4jConfigLocation</param-name><param-value>/WEB-INF/classes/log4j.properties</param-value></context-param><!--==========Spring默认刷新Log4j配置文件的间隔,单位为millisecond=============--><context-param><param-name>log4jRefreshInterval</param-name><param-value>60000</param-value></context-param><!--==========配置Spring log4j Config loader==========--><listener><listener-class>org.springframework.web.util.Log4jConfigListener</listener-class></listener>log4j.properties文件:#LOGGERS#TRACE DEBUG INFO WARN ERROR FATALlog4j.rootLogger=ERROR,console,file#APPENDERS#ConsoleAppender输出到控制台log4j.appender.console=org.apache.log4j.ConsoleAppender#DailyRollingFileAppender每天产生一个日志文件#RollingFileAppender文件大小到达指定尺寸的时候产生一个新的文件#FileAppender 文件log4j.appender.file=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.file.File=${swing.root}/WEB-INF/logs/swing.log#LAYOUTS#SimpleLayout包括日志消息的级别和信息字符串#PatternLayout可以灵活的指定布局模式#HTMLayout以HTML表格形式布局#TTCCLayout包括日志产生的时间,线程和类别等信息log4j.appender.console.layout=org.apache.log4j.SimpleLayoutlog4j.appender.file.layout=org.apache.log4j.PatternLayout# %d自程序开始后消耗的秒数 %t表示日志记录请求生成的线程 %p表示日志语句的优先级别# %r与日志请求相关的类别名称 %c日志消息所在的类名 %m%n表示日志消息的内容log4j.appender.file.layout.ConversionPattern=%t %p %c-- %m%n--%d{yyyy-mm-dd hh:mm:ss}
解决方案二:
异常退出怎么捕获呢?比如IE死了
解决方案三:
这种“操作日志记录”是很多项目中都采用的“用户行为痕迹记录”方式,特别是敏感和重要的数据操作。实现的方法有很多种,像拦截器、切面AOP、日志Log。主要的原理就是用户在进行操作的时间点触发“操作痕迹记录”事件来记录用户操作信息。用户操作痕迹信息可以按用户行为、功能点、系统模块、操作群体、敏感等级...来分类记录;记录的操作信息保存在数据库DB、文本Txt、日志文件;有点像流水号~~用户登录到系统后,通过SessionCookie获取到用户信息,记录用户操作痕迹记录。用户退出系统、关闭窗口、关闭电脑、的时候可以通过:1.用户退出系统时,注销Session或Cookie时触发事件,记录用户退出系统操作。2.关闭窗口时,会触发一个页面窗口的unLoad()事件,记录用户退出系统操作。
解决方案四:
想简单一点的话,就使用log4j,想复杂的话,使用AOP最好.
解决方案五:
具体实现,我建议AOP。
解决方案六:
相当与用户行为日志吧。可以在每个用户事件发生的时候,把这部分操作记录下来。可以存放到数据库,或者日志文件。你需要做的是:1.定义用户行为2.设计存储方式,结构3.找到行为发生的代码行,插入记录行为的代码。

时间: 2024-08-10 20:55:54

java web程序实现痕迹保留的相关文章

java web 程序 可不可以在客户端运行键盘钩子 要 怎么做?

问题描述 java web 程序 可不可以在客户端运行键盘钩子 要 怎么做? 50C java web 程序 可不可以在客户端运行键盘钩子 要 怎么做? 解决方案 可以试一下ActiveX控件+DLL的方式 解决方案二: web程序本身进程来加载键盘hook DLL 解决方案三: 亲们 帮帮忙 最后一哆嗦了 解决方案四: 这个是个现成的程序你参考一下:http://download.csdn.net/detail/qwe852012/1720478 解决方案五: 在服务端是可以 我要的是在客户端

Java web程序eclipse调试出现source not found错误

问题描述 Java web程序eclipse调试出现source not found错误 大牛指点一下,以下是详细错误信息: HTTP Status 500 - Request processing failed; nested exception is java.lang.NullPointerException type Exception report message Request processing failed; nested exception is java.lang.Null

java web程序,防止用户暴力破解

问题描述 java web程序,防止用户暴力破解 最近项目需要增加一个防止用户多次登录的程序,类似于163邮箱的登录失败五次,30分钟后才可以登录,这个思路是什么 解决方案 在数据库中增加两个字段 lasttrycount lasttrydate 密码输错 lastdate记录当前时间,lasttrycount + 1 如果lasttrycount = 5并且now - lasttrydate <半小时,不许登录 如果密码输入正确,lasttrycount=0 解决方案二: 个人思路,说的不好请

设计-数据计算量大、存储量大但是功能简单的java Web程序,采用什么框架比较好?

问题描述 数据计算量大.存储量大但是功能简单的java Web程序,采用什么框架比较好? 如题,我是开发人员刚刚接触设计,现在有一个项目是数据的存储量和计算量比较大,但是功能相对简单,选用什么框架比较好呢?能尽量使存储效率和计算速率都比较高? 是b/s结构的程序,是否需要用ssh或者ssi? 谢谢! 解决方案 数据计算量大,不适合放在web应用层来做,应该用后台作业去完成.因为web应用层不适合维持长期的连接和长时占用计算资源. 解决方案二: 直接servlet/jsp就行呗. 解决方案三: 个

java web-如何将一个Java Web程序包装成一个c/s程序?

问题描述 如何将一个Java Web程序包装成一个c/s程序? 假如现有一个Java Web程序,如何用C++/C#代码将此程序包装成一个客户端程序? 解决方案 一个简单的C/S 架构程序 解决方案二: 其实可以用编程语言编写一个外框,在外框里面加载相应的页面即可.具体你可以看下硕鼠这个软件..他们好像就是这么做的 解决方案三: 你用C#建立一个WinForm应用程序,然后窗体中使用WebBrowser来链接你 Java Web页面就可以啦

在myeclipse中制作能部署到websphere上的java web程序教程制作ear

前言:自己用myeclipse写的web 程序,放到tomcat下那是手到擒来,兵来土掩,可是放到了websphere该如何放呢,有朋友说了,打个war包扔进去呗,嗯,说者无意,听者倒是问了,那么师傅,怎么个仍法,这...着实是个技术活,百度之,无果,再百度,发现还是自己摸索吧~~ 首先,websphere 6.1 现在用着比较普遍,websphere 7.x用的不是很多,那么先做针对websphere 6.x系列的教程再说,我们平时做项目一般都是在myeclipse里写好程序,然后我们把写好的

实现Java Web程序的自动登录

本文为原创,如需转载,请注明作者和出处,谢谢! 有很多Web程序中第一次登录后,在一定时间内(如2个小时)再次访问同一个Web程序时就无需再次登录,而是直接进入程序的主界面(仅限于本机).实现这个功能关键就是服务端要识别客户的身份.而用Cookie是最简单的身从验证. 如果用户第一次登录,可以将用户名作为Cookie写到本地,代码如下: Cookie cookie = new Cookie("user", user); cookie.setMaxAge(365 * 24 * 3600)

Java Web 程序员的发展趋势分析

在现在这个世界里,我们必须不断地评估各种web技术,并做出决定要使用.消除和瞄准哪些技术.因此,关键是要保持更新到web开发人员最新的习惯.Java Web框架ZK做了一个社区调查,旨在回答若干关键问题. 根据调查结果,一定数量的开发人员,约45%,已经升级到JDK 8:但是,超过50%的参与者仍然使用以前的版本工作. 尽管我们大家的普遍看法是IntelliJ由于其出色的效率正在变得越来越流行,但是看上去似乎Eclipse仍然是大多数人首选的web开发模式.75%的受访者依赖于Eclipse,而

Java Web程序实现返回JSON字符串的方法总结_java

基础铺垫在java中,关于json的lib有很多,比如jackjson.fastjson.gson等等,本人都用过,但是对于我等只需要让java对象返回json字符串即可的程序员来说,还是显得过于繁重.而且有些功能定制性很差,比如一个java对象的属性为空时,这些组件都不会输出,于是本人在页面循环遍历列表对象时,总是得判断此属性是否为undefined,这一点让本人很不满意.所以决定花点时间研究下到底是怎么回事. 但经过一上午的细看,发现不管是fastjson还是gson都代码都写得相当的复杂,