Struts 1中的拦截器实现

时间:2013-10-22 12:58:38

标签: logging reflection interceptor struts-1

我必须通过struts 1中的反射实现拦截器。 拦截器出现在Struts 2中,并且struts 1中没有拦截器,但是有一些方法可以实现这种行为。我找到了两种方法:

  1. Struts Action Invocation Framework(SAIF): http://struts.sourceforge.net/saif/#interceptor-class 但关于它的信息非常少。

  2. AOP(方面:org.aspectj)

  3. 解决此问题的最佳方法是什么?还有其他方法吗?

1 个答案:

答案 0 :(得分:0)

编辑:我没有注意到这个问题的年龄,抱歉。

好吧,如果您没有使用Struts 1,我建议使用Spring框架。如果你想使用Spring(3.2.9)的(不是很旧的)版本,它确实可以与Struts 1一起使用。在您了解它的同时,请查看Spring MVC:)

Spring拥有出色的AOP支持,因为它的大部分"魔法"用AOP执行。

以下是记录方法条目和退出的记录器示例:

<aop:config>
    <aop:advisor advice-ref="loggingAdvisor"
        pointcut="execution(public * com.example.*(..))" />
</aop:config>
<bean id="loggingAdvisor"
    class="org.springframework.aop.interceptor.CustomizableTraceInterceptor">
    <property name="loggerName" value="logger-name" />
    <property name="enterMessage" value="Entering $[methodName]($[arguments])" />
    <property name="exitMessage" value="Leaving $[methodName](): $[returnValue]" />
</bean>