2013-05-27 39 views
0

有没有办法设置会话变量AFTER响应已发送?如何在发送响应之后设置会话变量?

我想避免任何过滤器会在当前请求中看到此更改。

为了阐明上下文,我将讨论用例。

我的任务是根据用户的需求修改一个复杂的Java EE应用程序(Spring,acegi,struts,JSP,Apache Tiles,aso)。 用户可以登录到此应用程序。

如果第二次使用用户帐户,新会话应警告继续会使原始会话无效。

提出警告(由于单击链接)后的任何请求都应使原始会话无效。

一个问题是,当前设置会话变量对其他(弹簧)过滤器是可见的。

+1

来自一个过滤器?想要这样做的原因是什么? –

+0

我想在某些情况下对下一个传入请求进行特殊处理 –

+1

而且您有太多的请求后处理过滤器,您认为通常会改变会话变量会导致问题? –

回答

0

如果你有一个会话,你可以只保留一个变量服务器端。将它保存在会话bean中将是正常的过程。非常简单。

+0

不适用于我的情况。我已经尝试过了 –

1

您可以创建过滤器链中第一个过滤器。当请求被后处理时,这个过滤器将被最后调用。并且您可以在第二次调用过滤器时设置会话变量。