Java AOP 获取HttpSevletRequest、HttpSevletResponse、HttpSession对象

((ServletRequestAttributes) RequestContextHolder.getRequestAttributes())

((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest()

((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse()
 

转载于:https://www.cnblogs.com/jiangxishicheng/p/11039768.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中,AOP(面向切面编程)是一种编程范式,它允许我们在程序运行时动态地将额外的逻辑织入到现有的代码中。在AOP中,我们可以通过切面来定义我们想要添加的逻辑,而切点则指定了我们想要在哪些地方应用这些逻辑。 要获取方法参数值,可以使用AspectJ框架提供的注解和API。下面是一种常见的方法: 1. 首先,需要在切面类上添加`@Aspect`注解,表示这是一个切面类。 2. 使用`@Before`注解来定义一个前置通知,在方法执行之前执行。 3. 在前置通知方法中,可以使用`JoinPoint`参数来获取方法的参数值。 4. 使用`JoinPoint`的`getArgs()`方法可以获取到方法的参数数组。 5. 遍历参数数组,即可获取到每个参数的值。 下面是一个示例代码: ```java import org.aspectj.lang.JoinPoint; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; import org.springframework.stereotype.Component; @Aspect @Component public class MyAspect { @Before("execution(* com.example.MyClass.myMethod(..))") public void beforeMethod(JoinPoint joinPoint) { Object[] args = joinPoint.getArgs(); for (Object arg : args) { System.out.println("参数值:" + arg); } } } ``` 在上述示例中,`execution(* com.example.MyClass.myMethod(..))`表示切点表达式,指定了要拦截的方法。在`beforeMethod`方法中,通过`joinPoint.getArgs()`获取到方法的参数数组,并进行遍历打印。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值