SpringMVC 记录用户的操作日志

用spring mvc 做用户的操作日志记录基本有两种方式

1.利用aop做(推荐)

2.利用拦截器做(不推荐)


AOP做操作日志记录基本步骤

 1.数据库创建日志表(定义UserOperateLog实体类)

@Entity
@Table(name = "USER_OPERATE_LOG")
public class UserOperateLog implements java.io.Serializable {
    /** 版本号 */
    private static final long serialVersionUID = 3322584679786620277L;

    /**  */
    private Integer id;

    /** 用户id */
    private String custId;

    /** 用户名 */
    private String custName;

    /** 真实姓名 */
    private String realName;

    /** 操作模块 */
    private String moduleName;

    /** 操作描述 */
    private String operateDesc;

    /** 操作IP */
    private String ipAddress;

    /** 操作时间 */
    private Date createTime;

    /**
     * 获取
     * 
     * @return 
     */
    @Id
    @GeneratedValue(generator = "idGenerator")
    @GenericGenerator(name = "idGenerator", strategy = "native")
    @Column(name = "ID", unique = true, nullable = false, length = 10)
    public Integer getId() {
        return this.id;
    }

    /**
     * 设置
     * 
     * @param id
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 获取用户id
     * 
     * @return 用户id
     */
    @Column(name = "CUST_ID", nullable = true, length = 255)
    public String getCustId() {
        return this.custId;
    }

    /**
     * 设置用户id
     * 
     * @param custId
     *          用户id
     */
    public void setCustId(String custId) {
        this.custId = custId;
    }

    /**
     * 获取用户名
     * 
     * @re
  • 0
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要实现用户的登录和登出日志,可以按照以下步骤操作: 1. 创建一个 User 类,用于表示用户信息,包含用户名、密码等属性。 2. 使用 SpringMVC 框架创建一个登录页面,用户在该页面输入用户名和密码,点击登录按钮提交表单。 3. 在 SpringMVC 的 Controller 中,使用 Hibernate 框架查询数据库中是否存在该用户,并验证密码是否正确。 4. 如果用户名和密码验证通过,将用户信息存储到 Session 中,表示用户已经登录成功。 5. 在用户登录成功后,将用户的登录信息记录到数据库中,包括登录时间、登录 IP 等信息。 6. 当用户点击退出按钮时,清空 Session 中的用户信息,表示用户已经退出登录。 7. 在用户退出登录时,将用户的退出信息记录到数据库中,包括退出时间、退出 IP 等信息。 下面是一个简单的示例代码,供参考: User.java: ``` @Entity @Table(name = "user") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String username; private String password; // getter and setter } ``` UserController.java: ``` @Controller public class UserController { @Autowired private UserService userService; @RequestMapping(value = "/login", method = RequestMethod.POST) public String login(HttpServletRequest request, String username, String password) { User user = userService.login(username, password); if (user != null) { request.getSession().setAttribute("user", user); userService.logLoginInfo(user.getId(), request.getRemoteAddr()); return "redirect:/home"; } else { return "login"; } } @RequestMapping(value = "/logout", method = RequestMethod.GET) public String logout(HttpServletRequest request) { User user = (User) request.getSession().getAttribute("user"); if (user != null) { request.getSession().removeAttribute("user"); userService.logLogoutInfo(user.getId(), request.getRemoteAddr()); } return "redirect:/login"; } } ``` UserService.java: ``` @Service public class UserService { @Autowired private UserDao userDao; @Autowired private LoginLogDao loginLogDao; @Autowired private LogoutLogDao logoutLogDao; public User login(String username, String password) { User user = userDao.findByUsername(username); if (user != null && user.getPassword().equals(password)) { return user; } else { return null; } } public void logLoginInfo(Long userId, String ip) { LoginLog loginLog = new LoginLog(); loginLog.setUserId(userId); loginLog.setLoginTime(new Date()); loginLog.setIp(ip); loginLogDao.save(loginLog); } public void logLogoutInfo(Long userId, String ip) { LogoutLog logoutLog = new LogoutLog(); logoutLog.setUserId(userId); logoutLog.setLogoutTime(new Date()); logoutLog.setIp(ip); logoutLogDao.save(logoutLog); } } ``` LoginLog.java: ``` @Entity @Table(name = "login_log") public class LoginLog { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private Long userId; private Date loginTime; private String ip; // getter and setter } ``` LogoutLog.java: ``` @Entity @Table(name = "logout_log") public class LogoutLog { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private Long userId; private Date logoutTime; private String ip; // getter and setter } ``` 注意:以上代码仅为示例代码,实际应用中还需要进行错误处理、安全验证等操作

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值