1、需要实现的功能需求
查询记录访问者的访问时间,执行时间,用户名,用户的ip,访问的url,访问的具体方法
2、实现方式
配置环境:SpringBoot,mypatis,mypatis-plus,SpringMVC
实现对于日志信息的查询,还需要配置切面,实现SpringAOP切面
在前置通知中:
获取对应用户的访问时间。根据反射获取访问的类名,方法名。
在后置通知中:
确定执行时间,根据反射获取具体的url。通过request获取ip地址。
通过用户工具类,获取用户的ID
最用将数据通过调用Controller层调用业务层实现对数据进行写入数据库。
3.代码实现
创建PoJo实体类(写入实体信息)
创建切面编程类,实现切面通知
实现Service类
ServiceImpl类
Mapper类
Controller层类
数据库建表语句:
#日志表
CREATE TABLE `sysLog`(
id int(11) NOT NULL AUTO_INCREMENT,
visitTime DATE,
username VARCHAR(50),
ip VARCHAR(30),
url VARCHAR(50),
executionTime int,
method VARCHAR(200),
PRIMARY KEY (`id`) USING BTREE
)ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '日志表' ROW_FORMAT = DYNAMIC;;