欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

使用Spring MVC拦截器实现日志记录的方法

程序员文章站 2024-03-02 17:10:10
最近在研究spring mvc拦截器,那么今天也算个学习笔记吧!有需要了解使用spring mvc拦截器实现日志记录的朋友可参考。希望此文章对各位有所帮助。 1.&n...

最近在研究spring mvc拦截器,那么今天也算个学习笔记吧!有需要了解使用spring mvc拦截器实现日志记录的朋友可参考。希望此文章对各位有所帮助。

1.  定义一个类实现handlerinterceptor,比如: 

public class myinterceptors implements handlerinterceptor{ 
  /** 
   * 在渲染视图之后被调用; 
   * 可以用来释放资源 
   */  
  public void aftercompletion(httpservletrequest arg0, 
      httpservletresponse arg1, object arg2, exception arg3) 
      throws exception { 
    // todo auto-generated method stub 
    system.out.println("myinterceptors aftercompletion"); 
  } 
  /** 
   * 该方法在目标方法调用之后,渲染视图之前被调用; 
   * 可以对请求域中的属性或视图做出修改 
   * 
   */ 
  public void posthandle(httpservletrequest arg0, httpservletresponse arg1, 
      object arg2, modelandview arg3) throws exception { 
    // todo auto-generated method stub 
    system.out.println("myinterceptors posthandle");     
  } 
 
  /** 
   * 可以考虑作权限,日志,事务等等 
   * 该方法在目标方法调用之前被调用; 
   * 若返回ture,则继续调用后续的拦截器和目标方法 
   * 若返回false,则不会调用后续的拦截器和目标方法 
   * 
   */ 
  public boolean prehandle(httpservletrequest arg0, httpservletresponse arg1, 
      object arg2) throws exception { 
    // todo auto-generated method stub 
    handlermethod handlermethod = (handlermethod) arg2;  
    system.out.println("myinterceptors prehandle 调用方法名:"+handlermethod.getmethod().getname()); 
    /* 
      写一个日记类和service,将需要的属性保存到数据库       
    */ 
 
    return true; 
  } 
 
} 

2.在springmvc.xml中装配 

<!-- 装配拦截器 --> 
<mvc:interceptors> 
  <mvc:interceptor> 
  <mvc:mapping path="/*"/> 
    <bean class="com.datatub.springmvc.interceptors.myinterceptors"></bean> 
  </mvc:interceptor> 
</mvc:interceptors> 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。