`
rocye
  • 浏览: 120103 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

关于用spring AOP实现日志模块,拿session的问题?

阅读更多
接触spring AOP没多久,现在通过用aop实现日志模块时碰到一个问题,我是通过aop拦截器来拦截action调用的一个业务层方法,然后在这个拦截器中做日志处理,日志很明显需要三个方面的信息,当前用户信息(存在httpSession中),当前模块信息,操作结果,现在最大的问题是,第一个用户信息无法从session中拿到,因为spring aop是一个普通的方法与servletContext没有任何关系(据我所了解),在拦截器中,我想拿到当前的httpSession中的User对象,而不是通过传参的方式,应该怎么做?!!!!
分享到:
评论
9 楼 Else 2008-08-28  
这个贴也评为新手贴?真的是想不通
真想看看高手贴是什么样的
8 楼 imp9527 2008-03-29  
acegi 有个工具类···  可以在逻辑层取出你想要的所有东西···
  你可以去看下· 
                
7 楼 cammette 2008-02-26  
最好的办法还是使用threadlocal,简单实用。
6 楼 coreymylife 2008-02-24  
我想可以在拦截器中利用反射得到被调用业务方法的对象,然后想法取得session
5 楼 btprince 2008-02-18  
也许这个帖子对你有所帮助
http://www.iteye.com/topic/156378
4 楼 neptune 2008-02-18  
设置一个初始化的Servlet,如(InitializtionServlet),在init方法中servletContext变量,存到一个全局位置.

做一个接口ISessionHandler,其中有方法getAttribute(name),也就可以了.

User user = (User)session.getAttribute("user");

一切ok.
3 楼 雁行 2008-02-15  
用Filter具体怎么个实现方法啊?
存到ThreadLocal是值还是引用?
2 楼 downpour 2007-10-21  
用类似OpenSessionInView管理Hibernate Session的方式。定义一个Filter,将HttpSession中的内容存到ThreadLocal中,然后在其他层次中取。
1 楼 allenny 2007-10-21  
我也碰到类似的问题,如果我的Action实现SessionAware接口,则无法实现aop的方法拦截,报错找不到代理方法。但是如果不实现SessionAware接口,调用ActionContext.getContext().getSession()返回为null,不知道该怎么解决,真是头疼啊。

相关推荐

    SpringMVC+springAOP+spring security+Hibernate整合实例代码

    2. Spring AOP:AOP(面向切面编程)允许开发者定义“切面”,即关注点的模块化,如日志、事务管理等。Spring AOP通过代理模式实现了这一概念,可以在不修改原有代码的情况下,在运行时向目标对象添加额外的行为。在...

    Spring IOC和Spring AOP_spring aop_springIOC

    综上所述,Spring的IOC和AOP提供了强大的工具,帮助开发者实现松耦合、模块化和关注点分离,从而提升代码的可维护性和复用性。通过学习和熟练掌握这两个核心概念,能够更好地利用Spring框架进行高效开发。

    spring ioc和aop原理流程图(详细)

    **面向切面编程(AOP)** 是Spring的另一个重要特性,它允许开发者将关注点(如日志、事务管理)与核心业务逻辑分离,实现代码的模块化。以下是Spring AOP的关键知识点: 1. **切面**:AOP中的切面是包含横切关注点...

    SpringAOP整合Hibernate并使用事务(模拟买书的过程)

    首先,Spring AOP是Spring框架的一部分,它允许我们定义横切关注点,如日志记录、性能监控或事务管理,这些关注点可以被模块化为切面,并在应用程序代码中透明地应用。在本案例中,我们将使用AOP来管理数据库事务。 ...

    Spring IOC、AOP实现代码,可调试查看内部原理,简单易懂

    在Spring中,AOP通过代理机制实现,可以将这些关注点与业务逻辑分离,使代码更清晰、更模块化。 1. **切面(Aspect)**:切面是AOP的核心,包含了通知(advice)和切点(pointcut)。通知是在特定时机执行的操作,...

    struts2+hirbenate+SpringAOP

    而Spring AOP则是Spring框架的一部分,提供了面向切面编程的能力,允许我们定义横切关注点,如日志、事务管理等。 在这个实际案例中,Struts2、Hibernate和Spring AOP被集成使用,构建了一个完整的Web应用。以下是...

    spring boot如何使用spring AOP实现拦截器

    在Spring Boot中,使用Spring AOP实现拦截器主要涉及到以下几个核心概念: 1. **AOP(面向切面编程)**:AOP是Spring框架的一个重要特性,它允许程序员定义“切面”,这些切面可以包含业务逻辑的“侧面”——例如...

    struts2+spring2.5+hibernate3基础包(包括AOP)

    - **AOP(面向切面编程)**:Spring 提供了AOP支持,可以定义切面、通知(Before、After、Around等),并在需要的地方自动插入这些代码,实现如日志记录、事务管理等横切关注点。AOP的使用可以将这些通用功能从核心...

    spring(ioc aop等..)例子

    4. **实现DAO接口**:Spring的HibernateTemplate或JpaTemplate可以帮助我们轻松实现这些接口,它们处理了与Hibernate Session的交互。 5. **使用Transaction Management**:Spring的声明式事务管理允许我们在XML...

    EJB+Annotation实现AOP的DEMO

    AOP(Aspect Oriented Programming,面向切面编程)则是一种编程范式,用于处理系统中的横切关注点,如日志、事务管理等,以提高代码的模块化和可维护性。在Java EE环境中,EJB结合AOP可以实现更加灵活和高效的代码...

    spring教程 ioc aop

    面向切面编程(Aspect-Oriented Programming,简称AOP)是Spring提供的另一个重要特性,用于处理系统的横切关注点,如日志、事务管理、性能监控等。AOP通过定义切面(Aspect)、通知(Advice)、切入点(Pointcut)...

    spring-boot mybaits spring security redis整合

    注解redis缓存数据,Spring-session和redis实现分布式session同步(建议按功能模块划分系统)。 6、日志 =========== logback打印日志,业务日志和调试日志分开打印。同时基于时间和文件大小分割日志文件。 9、...

    spring源码分析(1-10)

    Spring 源代码分析系列涵盖了多个关键模块,包括事务处理、IoC容器、JDBC、MVC、AOP以及与Hibernate和Acegi安全框架的集成。以下是对这些知识点的详细阐述: 1. **Spring 事务处理**:Spring 提供了声明式事务管理...

    Spring系列面试题129道(附答案解析)

    43、指出在springaop中concern和cross-cuttingconcern的不同之处。 在Spring AOP中,concern指的是应用程序中的业务逻辑代码,而cross-cutting concern是横切关注点,如日志记录、事务管理等,这些关注点贯穿多个...

    详尽的Spring2.0学习提纲

    2. Spring的模块结构:了解Spring的主要模块,如Core Container、Data Access/Integration、Web、AOP、Instruments等。 二、IoC(控制反转) 1. 依赖注入原理:深入理解依赖注入的概念,它是如何解决对象之间的耦合...

    ssh2项目 实现登陆,crud操作,用aop控制事物

    - **AOP**:Spring的AOP模块允许我们定义切面,如日志记录、权限检查等,这些切面可以在特定方法执行前后被自动调用。在本项目中,事务管理就是通过AOP来实现的。 **3. Hibernate** Hibernate是一个ORM(对象关系...

    王勇_JAVA教程_Spring_源代

    - 文件中的例子可能包括如何定义切面、通知类型(前置、后置、异常、环绕通知等)、切入点表达式以及如何使用Spring的代理机制实现AOP。 2. **自动装配(Autowired)** - `spring_autowrire_byName`和`spring_...

    SSH例子+AOP例子

    总结起来,SSH例子+AOP例子展示了如何使用Java的SSH框架进行数据操作,特别是增加操作,同时利用AOP来处理如事务管理和日志记录等横切关注点,提高了代码的可维护性和模块化程度。通过学习和实践这样的例子,开发者...

    SSH整合 struts+hibernate+spring

    **AOP(Aspect Oriented Programming,面向切面编程)** 是Spring提供的另一种强大功能,它可以用来实现横切关注点(如日志记录、事务管理等)的模块化,从而使核心业务逻辑更清晰、更简洁。 - **AOP整合的关键点**...

    Spring2.0jar包

    2. **spring-aop-2.0.6.jar**:AOP(Aspect Oriented Programming,面向切面编程)是Spring的重要特性,允许开发者定义“切面”,即关注点的模块化,如日志、事务管理等。此jar包提供了动态代理机制,实现了方法拦截...

Global site tag (gtag.js) - Google Analytics