记录网页登录日志
来源:互联网 发布:淘宝卖家后台操作流程 编辑:程序博客网 时间:2024/04/27 21:42
前两天老师讲了关于日志记录的过滤器,今天想了一下,发现老师的设计有点问题,因为老师的版本根本就记录不了用户的信息,现在来说一下我的思路:
首先,一个非常重要的问题时,在点登录时,根本没有验证用户是否合法或者是存在,所以在过滤的时候老师就先获取用户的持久化类,再判断:
UserInfo userInfo = (UserInfo)request.getSession().getAttribute("user_info");int userId = 0;if (userInfo != null) {userId = userInfo.getUser_id();}
所以每次记录的都是userId = 0,只要把doFilter()方法调用完了再操作,就可以获得用户的持久化类了,相应的代码如下:
public void doFilter(ServletRequest req, ServletResponse resp,FilterChain chain) throws IOException, ServletException {HttpServletRequest request = (HttpServletRequest)req;HttpServletResponse response = (HttpServletResponse)resp;String date = sdf.format(new Date());long start = System.currentTimeMillis();chain.doFilter(req, resp);long end = System.currentTimeMillis();UserInfo userInfo = (UserInfo)request.getSession().getAttribute("user_info");int userId = 0;if (userInfo != null) {userId = userInfo.getUser_id();}LogService logService = new LogService();int newId = logService.getMaxId();logService.insertNewLog(newId, date, userId, end - start);System.out.println("-----log filter-----");//chain.doFilter(req, resp);}
明显在chain.doFilter()返回后再判断才能正确记录用户的信息,因为返回后如果能登录,session已经保存了user的信息了
- 记录网页登录日志
- 记录远程桌面登录日志
- 记录远程用户登录日志
- tp 用户登录日志记录
- 登录验证并记录日志
- 记录远程桌面的连接登录日志方法
- 记录远程桌面的连接登录日志方法
- 记录远程桌面的连接登录日志方法
- 记录远程桌面的连接登录日志方法
- Oracle EBS 用户登录日志记录 fnd_logins
- Postgres日志记录用户登录退出信息
- Html(仿QQ登录WEB网页编写)小小记录
- 命令批处理实现对3389登录的日志记录
- 记录远程桌面的连接登录日志方法(zz)
- windows2003记录远程桌面连接登录日志的方法及注意事项
- windows2003记录远程桌面连接登录日志的方法及注意事项
- 按登录IP记录Linux所有用户操作日志
- Linux中系统户登录和操作日志的记录
- 详解数据库中的视图、临时表
- jsp中Session和浏览器有什么关系
- unix编程基础知识
- Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
- android sdk upload
- 记录网页登录日志
- 通过WinDbg条件断点收集Log
- 查看表、视图、索引、存储过程和触发器的定义的方法
- 如果一个程序跑10000次只失败一次,你会怎么调试?
- Hadoop 2.2.0 (YARN)搭建笔记
- ConnectivityManager判断是否有网络
- VMbo下用ghost安装xp或者win7的方法 By ACReaper
- 基于Visual C++2013拆解世界五百强面试题--题18-程序结果分析2-终结篇
- 多种括号的匹配 Valid Parentheses