`
Intrepid2012
  • 浏览: 71002 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

struts2 interceptor 完成日志功能

 
阅读更多
第一步:

<
interceptors>

<interceptor name="auditInterceptor" class="com.pulse.ipmanager.interceptor.AuditInterceptor"></interceptor>

<interceptor-stack name="auditInterceptorStack">

<interceptor-ref name="auditInterceptor"></interceptor-ref>

<interceptor-ref name="defaultStack"></interceptor-ref>

</interceptor-stack>

</interceptors>

。。。。。

<action name="loginAction"

class="com.pulse.ipmanager.action.UserLoginAction" method="loginUser" >

<result name="success" type="redirectAction">

<param name="actionName">listWebUsersAction</param>

<param name="namespace">/</param>

</result>

<result name="input">pages/SignOn.jsp</result>

<result name="error">pages/signOnError.jsp</result>

<interceptor-ref name="auditInterceptorStack">

<param name="includeMethods">loginUser</param>

</interceptor-ref>

</action>



第二步:

public
class AuditInterceptor extends AbstractInterceptor{

private Date dateTime;

private String modifiedby;

private String action;

private String field;

private String input;

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

public void init() {

}

@Override

public String intercept(ActionInvocation ai) throws Exception {

HttpServletRequest request = ServletActionContext.getRequest();

Map session = ai.getInvocationContext().getSession();

Object action = ai.getAction();

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

ai.invoke();

if (action instanceof UserLoginAction){

if(method.equals("loginUser")){

field = "Login";

this.action = "Login";

WebUsers webuser= (WebUsers)request.getSession().getAttribute(
"webUser");

input = "User:" + webuser.getUserName();

modifiedby= webuser.getUserName();

dateTime=new Date();

addSysLog();

}

}

return Action.SUCCESS;

}

private void addSysLog(){

WebAuditLogHome auditLogHome=
new WebAuditLogHome();

WebAuditLog auditlog=
new WebAuditLog(dateTime, modifiedby, this.action, field, input);

auditLogHome.attachDirty(auditlog);

}

}
分享到:
评论

相关推荐

    struts2 spring ibatis整合以及拦截器日志记录

    struts2 spring ibatis整合,以及用户登陆时的拦截器操作,并记录日志的操作

    Servlet简单模拟Struts2

    用sevrlet模拟Struts2的简单功能。从拦截请求、解析自定义xml数据文件以及动态生成action的代理去执行目标方法,并实现了简单的日志拦截【interceptor】

    达内java培训目录

    Struts2 Struts2核心控制流程、Ognl、Action、Interceptor、Result、FreeMarker、Struts2标记库、Struts2扩展、Struts2应用技巧(输入验证、消息国际化、文件上传和下载、防止重复提交等)。 熟练掌握Struts2核心...

    数据采集系统

    6.采用二进制运算实现权限控制,利用interceptor实现粗粒度控制以及重写struts2 标签实现细粒度权限控制.采用二位运算能够使得权限运算更加快捷,而且极大 降低 session存储量,有效利用服务器资源. .系统中通过 cxf ...

    SpringBoot 自定义拦截器 的 源代码

    我们对拦截器并不陌生,无论是 Struts 2 还是 Spring MVC 中都提供了拦截器功能,它可以根据 URL 对请求进行拦截,主要应用于登陆校验、权限验证、乱码解决、性能监控和异常处理等功能上。Spring Boot 同样提供了...

    java后台框架源码

    action:存放struts2控制类的包 dao:数据库访问封装 enm:系统中使用到的常量包,这里不是用的常量,用的是枚举替代常量 entity:hibernate对应的orm与数据库表一一对应的实体类 filter:Log4jFormatFilter(格式化...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

     9.2 利用拦截器(Interceptor)生成审计日志  9.3 Hibernate的事件处理机制  9.4 批量处理数据  9.4.1 通过Session来进行批量操作  9.4.2 通过StatelessSession来进行批量操作  9.4.3 通过HQL来进行批量操作 ...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part4

     9.2 利用拦截器(Interceptor)生成审计日志  9.3 Hibernate的事件处理机制  9.4 批量处理数据  9.4.1 通过Session来进行批量操作  9.4.2 通过StatelessSession来进行批量操作  9.4.3 通过HQL来进行批量操作 ...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part3

     9.2 利用拦截器(Interceptor)生成审计日志  9.3 Hibernate的事件处理机制  9.4 批量处理数据  9.4.1 通过Session来进行批量操作  9.4.2 通过StatelessSession来进行批量操作  9.4.3 通过HQL来进行批量操作 ...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part1.rar

     9.2 利用拦截器(Interceptor)生成审计日志  9.3 Hibernate的事件处理机制  9.4 批量处理数据  9.4.1 通过Session来进行批量操作  9.4.2 通过StatelessSession来进行批量操作  9.4.3 通过HQL来进行批量操作 ...

    webx3框架指南PDF教程附学习Demo

    • Struts • Webwork • Tapestry • Spring MVC 以上框架都是非常优秀的。说实话,如果阿里巴巴网站在2001年开始,就有这么多可选择的话,无论选择哪一个都不会有问题。因为这些年来,所有的开源Web框架都在...

Global site tag (gtag.js) - Google Analytics