文章目录
系统日志
(1)分析
- 记录用户的访问的Controller与ip等信息
属于监控功能只要查看与保存功能
- 数据组成
//设置登录用户信息 seesion获取
//设置企业信息
//IP地址 request获取
//设置记录时间
//执行的方法名称 新方法获取
//执行的类名称
(2)页面显示
后台代码
(1)SysLog.java
src\main\java\com\smp\domain\system\syslog
public class SysLog {
private String id;
private String userName;
private String ip;
private Date time;
private String method;
private String action;
private String companyId;
private String companyName;
空参、tostring、getter AND setter
}
(2)TestSysLogService.java
src\test\java\com\smp\service\company
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath*:spring/applicationContext-*.xml")
public class TestSysLogService {
private static final Logger l = LoggerFactory.getLogger(TestSysLogService.class);
@Autowired
ISysLogService iSysLogService;
//增*删改查*
@Test
public void test01(){
//分页列表
//页面上显示分页列表,就要求业务方法中提供查询PageInfo的方法
PageInfo<SysLog> pi= iSysLogService.findByPage(1,3,"1");
l.info("pi = "+pi);
}
@Test
public void test02(){
//将一个表单数据保存在javaBean中,再将javaBean存到数据库
SysLog sysLog = new SysLog();
//设置登录用户信息
sysLog.setUserName("老玉");
//设置企业信息
sysLog.setCompanyId("1");
sysLog.setCompanyName("吉首大学");
//IP地址
sysLog.setIp("192.168.10.11");
//设置记录时间
sysLog.setTime(new Date());
//执行的方法名称
sysLog.setMethod("toList");
//执行的类名称
sysLog.setAction("com.smp.web.company.CompanyController");
sysLog.setCompanyId("1");
sysLog.setCompanyName("吉首大学");
iSysLogService.saveSysLog(sysLog);
}
}
(3-1)ISysLogService.java
src\main\java\com\smp\service\system\syslog
public interface ISysLogService {
PageInfo<SysLog> findByPage(int curr,int pageSize,String companyId);
void saveSysLog(SysLog sysLog);
}
(3-2)SysLogServiceImpl.java
src\main\java\com\smp\service\system\syslog\impl
@Service
public class SysLogServiceImpl implements ISysLogService {
//service调用dao
@Autowired
ISysLogDao iSysLogDao;
@Override
public PageInfo<SysLog> findByPage(int curr, int pageSize, String companyId) {
//设置参数
PageHelper.startPage(curr,pageSize);
//调用全查
List<SysLog> list = iSysLogDao.findAll(companyId);
//包装成PageInfo
PageInfo<SysLog> pi = new PageInfo<>(list);
return pi;
}
@Override
public void saveSysLog(SysLog sysLog) {
String uuid= UUID.randomUUID().toString();
sysLog.setId(uuid);
iSysLogDao.save(sysLog);
}
}
(4-1)ISysLogDao.java
src\main\java\com\smp\dao\system\syslog
public interface ISysLogDao {
List<SysLog> findAll(String companyId);
void save(SysLog sysLog);
}
(4-2)ISysLogDao.xml
src\main\resources\com\smp\dao\system\syslog
<!--namespace: 需要映射的Dao接口类型-->
<mapper namespace="com.smp.dao.system.syslog.ISysLogDao">
<!--设置字段与变量名的映射-->
<resultMap id="syslogMap" type="sysLog">
<id column="id" property="id"/>
<result column="user_name" property="userName"/>
<result column="ip" property="ip"/>
<result column="time" property="time"/>
<result column="method" property="method"/>
<result column="ACTION" property="action"/>
<result column="company_id" property="companyId"/>
<result column="company_name" property="companyName"/>
</resultMap>
<!-- List<SysLog> findAll(String companyId);-->
<select id="findAll" parameterType="string" resultMap="syslogMap">
select * from st_sys_log where company_id =#{companyId} order by time desc
</select>
<!-- void save(SysLog sysLog);-->
<insert id="save" parameterType="sysLog">
insert into st_sys_log
(
id ,
user_name ,
ip ,
time ,
method ,
ACTION ,
company_id ,
company_name
)
values
(
#{id },
#{userName },
#{ip },
#{time },
#{method },
#{action },
#{companyId },
#{companyName }
)
</insert>
</mapper>
前台代码
(1)SysLogController.java
src\main\java\com\smp\web\controller\system\syslog
@Controller
@RequestMapping("/system/syslog")
public class SysLogController extends BaseController {
private static final Logger l= LoggerFactory.getLogger(SysLogController.class);
@Autowired
ISysLogService iSysLogService;
@RequestMapping(path = "/toList",method = {RequestMethod.GET,RequestMethod.POST})
public String toList(@RequestParam(defaultValue = "1") int curr,
@RequestParam(defaultValue = "15") int pageSize){
//调查分页列表的方法
PageInfo<SysLog> pi=iSysLogService.findByPage(curr,pageSize,getLoginCompanyId());
//将pi添加到页面
request.setAttribute("pi",pi);
return "system/syslog/log-list";
}
}
(2)log-list.jsp
src\main\webapp\WEB-INF\pages\system\syslog
<div class="box-body">
<div class="table-box">
<div class="pull-left">
<div class="form-group form-inline"></div>
</div>
<!--工具栏/-->
<!--数据列表-->
<table id="dataList" class="table table-bordered table-striped table-hover dataTable">
<thead>
<tr>
<th class="sorting">序号</th>
<th class="sorting">用户名</th>
<th class="sorting">ip</th>
<th class="sorting">时间</th>
<th class="sorting">类与方法</th>
</tr>
</thead>
<tbody>
<c:forEach items="${pi.list}" var="log" varStatus="st">
<tr>
<td>${st.count }</td>
<td>${log.userName }</td>
<td>${log.ip}</td>
<td>${log.time}</td>
<td>${log.action}.${log.method}</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</div>
<div class="box-footer">
<jsp:include page="../../common/page.jsp">
<jsp:param value="${path}/system/syslog/toList.do" name="pageUrl"/>
</jsp:include>
</div>