在调用任何bean/控制器之前,如何在SpringAOP/Aspectj中拦截请求?
在调用任何bean/controller方法之前,我必须记录请求参数/表单数据。 我的应用程序是用SpringWebFlow编写的在调用任何bean/控制器之前,如何在SpringAOP/Aspectj中拦截请求?,spring,jakarta-ee,spring-webflow,Spring,Jakarta Ee,Spring Webflow,在调用任何bean/controller方法之前,我必须记录请求参数/表单数据。 我的应用程序是用SpringWebFlow编写的 实现它的最佳方式是什么?您不需要AOP/Aspectj,您可以通过一个来实现,我认为Spring AOP可以帮助您 定义一个切入点表达式,用于选择所有控制器方法,并使用@Before建议记录参数 例如: @Before("execution(@controllers.package * *(..))") public void logArguments(JoinPo
实现它的最佳方式是什么?您不需要AOP/Aspectj,您可以通过一个来实现,我认为Spring AOP可以帮助您 定义一个切入点表达式,用于选择所有控制器方法,并使用@Before建议记录参数 例如:
@Before("execution(@controllers.package * *(..))")
public void logArguments(JoinPoint joinPoint) throws Throwable {
logger.debug("Entering method - Arguments : " + joinPoint.getArgs());
}
如果需要在到达控制器之前拦截每个请求,可以使用拦截器。您必须使用HandlerInterceptorAdapter扩展您的类。您可以重写它的预处理方法,以便在每个请求到达控制器之前拦截它。您将可以在此方法中访问请求和响应对象,以更改您的目标页面或url。请详细说明您的问题。到目前为止你试过什么?否则,您的问题可能看起来像一个轮询/非建设性的问题。那么,我们可以用纯JSP/Servlet做任何事情:)Struts、SpringMVC、SpringSecurity等都是基于纯Servlet框架构建的。您可以检查Spring security的代码,了解如何使用过滤器拦截调用。AOP或Servlet过滤器,您可以根据问题选择它。这正是我的观点。如果我们想编写纯JSP/Servlet,那么我们可以做任何事情,而不需要Spring。作者在问如何使用Spring。好吧,我想说的是,如果您使用Spring,并不意味着您必须使用AOP。问题是7岁,很多事情都有改善,检查