gpt4 book ai didi

java - jsp渲染后的AOP切入点

转载 作者:行者123 更新时间:2023-12-02 07:50:52 25 4
gpt4 key购买 nike

我有一个奇怪的问题。

我需要在服务器交互结束时真正执行代码。所以,如果我使用jsp,我需要在页面渲染之后执行它。

有办法执行吗?

我在这个切入点之后尝试过

@Pointcut("@annotation(org.springframework.web.bin d.annotation.RequestMapping)")

但它在“返回 ModelAndView”之后就离开了我。我需要得到服务器 session 的最后结果。

我想这样做是因为我需要关闭Hibernate session ,避免由于jsp呈现 View 后关闭 session 而导致的延迟初始化异常,并且我想避免脚本让喜欢

<% HibernateManager.getSession().close() %> 

有效地将 View 与模型耦合

最佳答案

您可以拥有一个 spring-mvc 拦截器 - 实现 HandlerIntercepetorafterCompletion(..) 方法。您也可以在过滤器中执行此操作。

但是你没有两个,原因有两个:

  • 您不应该将未初始化的集合传递给您的 View 。在服务层初始化你需要的一切,那么你就不会出现LazyInitializationException了。事实上,avoid lazy collections
  • 即使您决定使用惰性集合,并且不在服务中初始化它们,Spring 也会为您提供 OpenEntityManagerInViewInterceptor (和 Filter),以及 OpenSessionInViewInterceptor (和Filter)完全满足您的需要。

关于java - jsp渲染后的AOP切入点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10248735/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com