struts2拦截器将用户操作日志存入数据库_struts2拦截器详解

2020-02-27 其他范文 下载本文

struts2拦截器将用户操作日志存入数据库由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“struts2拦截器详解”。

struts2拦截器--将用户操作日志存入数据库

1.建表,如下所示:

2.新建OperationLogModel.java,其具有上述属性。3.自动生成PO 4.在struts.xml中配置拦截器:

5.如下例子中的用户登录和修改密码,要在相应xml文件中加入,即:

index

changePawordPre

6.在项目中新建文件夹log,在其下新建类LogInterceptor.java,如下: package com.bfw.crms.log;import java.util.Map;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSeion;import org.apache.commons.lang.StringUtils;import org.apache.log4j.Logger;import org.apache.struts2.ServletActionContext;import com.bfw.crms.action.BulletinAction;import com.bfw.crms.action.SystemAction;import com.bfw.crms.model.EmployeeModel;import com.bfw.crms.model.OperationLogModel;import com.bfw.crms.po.OperationLog;import com.bfw.crms.util.BeanUtil;import com.bfw.crms.util.DateTimeUtil;import com.ninetowns.framework.dao.ObjectDao;import com.opensymphony.xwork2.Action;import com.opensymphony.xwork2.ActionInvocation;import com.opensymphony.xwork2.interceptor.AbstractInterceptor;@SuppreWarnings(“serial”)

public cla LogInterceptor extends AbstractInterceptor{

private String logName;

private String logContent;

protected Logger log = Logger.getLogger(getCla());

protected HttpSeion getSeion()

{

return getRequest().getSeion();

}

protected HttpServletRequest getRequest()

{

return ServletActionContext.getRequest();

}

public void init(){

}

private ObjectDao objectDao = null;

public ObjectDao getObjectDao()

{

return objectDao;

}

public void setObjectDao(ObjectDao objectDao)

{

this.objectDao = objectDao;

}

@Override

public String intercept(ActionInvocation ai)throws Exception

{

Object action= ai.getAction();

String method= ai.getProxy().getMethod();

try{

if(StringUtils.isBlank(method))method = “method”;

EmployeeModel sysUser(EmployeeModel)this.getSeion().getAttribute(“employee”);

String userName = “”;

if(sysUser!=null)userName = sysUser.getName();

=

String currentTime = DateTimeUtil.getDateTime();

String logContentHead = “用户”+userName+currentTime;

ai.invoke();//执行被拦截action

if(action instanceof BulletinAction){

if(method.equals(“save”)){

logName = “保存部门”;

logContent = logContentHead

+“保存部门:”+ai.getStack().findValue(“sysOrg.orgName”);

log.info(logContent);

addSysLog(logName,logContent);

}

if(method.equals(“delete”)){

logName = “删除部门”;

logContent = logContentHead +“”+((String[])(ai.getStack().findValue(“flag_id”))).length+“条部门信息”;

log.info(logContent);

addSysLog(logName,logContent);

}

}

if(actioninstanceof SystemAction){

if(method.equals(“login”)){

logName = “登录系统”;

logContent = logContentHead;

log.info(logContent);

addSysLog(logName,logContent);

}

if(method.equals(“changePaword”)){

logName = “修改密码”;

logContent = logContentHead +“删除1条单位信息”;

log.info(logContent);

addSysLog(logName,logContent);

}

}

}catch(Exception e){

e.printStackTrace();

}

return Action.SUCCESS;

}

/**

* 插入系统日志 model2po()

* @param logName

* @param logContent

*/

删除

private void addSysLog(String logName,String logContent){

OperationLogModel operationModel = new OperationLogModel();

OperationLog operationPO = new OperationLog();

operationModel.setOperation(logContent);

BeanUtil.model2po(operationModel, operationPO);

this.getObjectDao().saveObject(operationPO);

}

} OK

《struts2拦截器将用户操作日志存入数据库.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
struts2拦截器将用户操作日志存入数据库
点击下载文档
相关专题 struts2拦截器详解 操作 数据库 用户 struts2拦截器详解 操作 数据库 用户
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文