我必须在调用任何bean / controller方法之前记录请求参数/表单数据。 我的应用程序是用spring web flow编写的。
实施它的最佳方法是什么?
答案 0 :(得分:0)
你不需要AOP / Aspectj,你可以用Servlet Filter
来做到这一点答案 1 :(得分:0)
我认为Spring AOP可以帮助你。
定义一个Pointcut表达式,选择所有控制器方法并使用@Before建议记录参数
示例:
@Before("execution(@controllers.package * *(..))")
public void logArguments(JoinPoint joinPoint) throws Throwable {
logger.debug("Entering method - Arguments : " + joinPoint.getArgs());
}
答案 2 :(得分:0)
如果需要在到达控制器之前拦截每个请求,可以使用拦截器。您必须使用HandlerInterceptorAdapter扩展您的类。您可以覆盖它的preHandle方法,以在每个请求到达控制器之前拦截它们。您将可以访问此方法中的请求和响应对象以更改目标页面或URL。