【发布时间】:2010-10-12 12:15:36
【问题描述】:
我需要从每个请求中获取某个自定义 HTTP 标头值并将其放入 WebSession 中,以便以后在任何网页上都可以使用它。 (我相信 Wicket 的做法是拥有一个扩展 WebSession 的自定义类,该类具有适当的访问器。)
我的问题是,我需要什么样的过滤器(或其他机制)才能拦截标头并访问 WebSession 来存储值?
我尝试使用普通的 Java EE 过滤器来做到这一点,使用
CustomSession session = (CustomSession) AuthenticatedWebSession.get();
但是(也许并不奇怪),这会产生:
java.lang.IllegalStateException:
you can only locate or create sessions in the context of a request cycle
我是否应该扩展 WicketFilter 并在那里执行(此时我可以访问会话吗?),还是需要更复杂的东西?
当然,如果我做错了什么,请指出;我是 Wicket 的新手。
【问题讨论】:
标签: java jakarta-ee wicket servlet-filters