可能有几种方法可以实现这一点,但一种方法可能是通过过滤器。
在您的 web.xml 中,您将定义一个新过滤器并将其映射到所有 url,即
<filter>
<filter-name>myFilter</filter-name>
<filter-class>path.to.my.filter.MyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>myFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
然后,您将在<filter-class>
元素中指定的路径(在本例中为 path.to.my.filter.MyFilter)创建一个类并创建实际的过滤器。
至于过滤器的实现,也有几种方法,我建议使用 Spring 实现,因为它更容易集成。下面是我用于 Flash Map 实现的另一个堆栈溢出帖子的示例。它使用了一个OncePerRequestFilter,所以每个请求都会调用这个过滤器。如果您希望使用此过滤器类型,我建议将这些值存储在 Session 中,以便它们只执行一次,然后在每个请求中检索,从而节省一些处理时间。
https://github.com/donkeystalk/floor41/blob/master/floor-41/src/main/java/octane/floor/filters/FlashMapFilter.java
希望这可以帮助。