gpt4 book ai didi

java - 如何添加不重新编译就无法删除的过滤器/AOP方法?

转载 作者:行者123 更新时间:2023-11-30 02:35:54 25 4
gpt4 key购买 nike

我的问题是:如何添加 servlet 过滤器或 Spring AOP 方法(或第三种解决方案 - 你能想到的),如果不重新编译就无法从 Web 应用程序中删除?

我想以这种方式解决许可证处理问题,但如果有人修改了 web.xml 或 Spring 配置,保护就会消失。

最佳答案

许可证处理绝对是一个跨领域的问题,可以(并且 IMO 应该)通过 AOP 进行建模。

  • 关于 servlet 过滤器,我不能说太多,因为我在这方面没有经验,但是
  • 我知道Spring AOP是基于代理的,即它不直接修改源代码,这不是你想要的。
  • 另一方面,AspectJ 在编译时使用时(不是像 Spring 中通常的方法那样通过加载时编织),会将切面代码直接编译到核心类文件中,将它们“烘焙”到字节中代码。这可能就是您想要的。我并不是说它不能进行逆向工程 - 总是有这个选项 - 但如果类路径上没有 AspectJ 运行时,代码将无法运行,并且如果不重新编译,您就无法删除许可方面。因此,这是我为此目的推荐的选项。

顺便说一句,这是一个有趣的问题。

关于java - 如何添加不重新编译就无法删除的过滤器/AOP方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43073271/

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