如何在aop中取得requset
可以利用 ThreadLocal
代码如下
public class ApiContext
{
private static ThreadLocal<Httpservletrequest> requestLocal = new ThreadLocal<Httpservletrequest>();
public static HttpServletRequest getRequestLocal()
{
return requestLocal.get();
}
public static void setRequestLocal(HttpServletRequest request)
{
requestLocal.set(request);
}
aop中取得request
@Around("execution(* atf.pnr.inf.TicketService.add*(..))")
public final Object invoke(final ProceedingJoinPoint pjp) throws Throwable
{
Object retVal = null;
.......
HttpServletRequest request=ApiContext.getRequestLocal();
System.out.println(request.getRemoteAddr())
........
return retVal;
}
分享到:
相关推荐
答:声明式的事务管理主要是将在进行对数据库中数据的添加或者修改时需要执行事务管理,主要是为了避免在执行添加或修改的时候添加或修改不完全正确,导致数据丢失。spring使用AOP面向切面的思想进行事务管理的。 ...
拦截器是一种面向切面编程(AOP)的概念,允许开发者在方法调用前后插入自定义的行为,而无需修改业务逻辑代码。 ### 1. 拦截器的定义与工作原理 拦截器是基于JDK动态代理或CGLIB实现的,它们在EJB方法调用前和...
在Struts2框架中,ActionContext充当了Action的上下文环境的角色,它保存了request、session、parameters、locale等信息。通过ThreadLocal,可以保证这些信息在Action的不同调用中保持一致,即在同一个请求的不同...
Spring框架是Java应用程序开发的核心平台,它通过提供依赖注入(DI)和面向...理解并掌握以上知识点,对于在Spring面试中取得成功至关重要。准备面试时,除了理解概念,还要能结合实际例子进行解释,展现你的实战能力。
130、如何防止在JSP或SERVLET中的输出不被BROWSER保存在CACHE中? 32 131、在JSP中如何设置COOKIE? 32 132、在JSP中如何删除一个COOKIE? 32 133、在一个JSP的请求处理中如何停止JSP的执行 33 134、在JSP中如何定义...
- Seasar2支持面向切面编程(AOP),可以在`app.dicon`文件中配置AOP相关的组件和切面。 - **META数据** - Seasar2支持元数据(META)的概念,可以在组件中定义和使用这些元数据。 - **Request的自动绑定** - 自动...
本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下 支付宝网页支付 1.支付宝开放平台添加应用,获得appid,并签约。... 'Alipay/aop/request/AlipayTradeAppPayRequest.php'; $notify
**依赖注入**是一种设计模式,通过这种方式,一个类的对象不是在类内部创建其依赖对象,而是通过外部注入的方式获得这些依赖。Spring提供了三种主要的依赖注入方式: 1. **XML配置**:这是最传统的配置方式,开发者...
Spring框架是Java开发中的核心组件,它为应用程序提供了一个全面的基础设施,支持bean的管理、依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)等特性。本教程将深入探讨Spring的基础知识,帮助初学者快速...
在农产品交易网中,这意味着无论用户使用手机、平板还是桌面电脑,都能获得良好的浏览体验。这可能通过CSS框架(如Bootstrap)和媒体查询等技术实现。 综上所述,这个项目是一个涵盖多种Java Web技术的实战案例,...
在IT行业中,Spring、Netty和MyBatis是三个非常重要的框架,它们分别在不同的领域发挥着关键作用。Spring是一个全面的Java应用框架,提供强大的依赖注入、AOP(面向切面编程)以及丰富的功能模块;Netty则是一个高...
Spring框架是Java开发中最常用的轻量级开源框架之一,它以IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)为核心,极大地简化了企业级应用的开发工作。Spring3.0是Spring...
在Spring框架中,ThreadLocal被广泛应用在诸如管理Request作用域中的Bean、事务管理、任务调度和AOP(面向切面编程)等模块。每个使用ThreadLocal变量的线程都会拥有这个变量的一个独立副本,从而实现数据隔离。在...
通过调用`request.getSession(true)`可以获得或创建一个session对象。 #### 3. JPA注解 Java Persistence API (JPA) 是一种用于Java EE应用程序的Java标准,用于管理关系型数据库中的数据。通过使用注解(如@Entity...
在 Java 中,Spring 框架提供了强大的 AOP 支持。 #### 编程题 1. **用 JAVA 语言实现任何一种排序算法。** - 以下是一个简单的冒泡排序算法实现示例: ```java public class BubbleSort { public static void...
元注解:修饰注解的注解,@Target:注解用在哪种java元素上, @Retention:注解的生命周期,@Documented),再用自定义方法参数解析器HandlerMethodArgumentResolver取出request header中的user,调用service层方法...
Spring 2.5的发布标志着Spring框架进入了一个全新的阶段,它不仅在原有基础上强化了IoC容器、AOP、Web层等多个方面的功能,还引入了众多新的特性和改进,极大地提高了开发效率和应用性能。对于企业级应用开发而言,...
在Spring框架中,代理模式常用于AOP(Aspect-Oriented Programming)实现,通过动态代理技术为方法调用添加横切关注点的功能。 #### Spring框架中的AOP实现 Spring AOP使用动态代理技术,对于实现了接口的类使用...
- SSH是Java Web开发中的经典组合,Spring提供了依赖注入和AOP(面向切面编程)功能,Struts处理MVC(模型-视图-控制器)架构,Hibernate则负责ORM。面试中可能涉及事务管理和Spring容器(如Bean的生命周期、自动...