【发布时间】:2012-09-13 15:04:04
【问题描述】:
旧代码在 ServletFilter 中的第一个请求时创建一个@SessionScoped @ManagedBean(即UserSession)并将其放入HttpSession(如果还没有的话)。
现在,当某个 EL 表达式第一次尝试访问该 ManagedBean 时会发生什么?我期望UserSession 的第二个实例(一个手动创建,一个来自JSF)。所以我用一些日志语句对构造函数@PostConstruct 和@PreDestroy 进行了检测。现在看来 JSF 从来没有创建 UserSession - 只有构造函数被调用。
这可能吗? JSF 可以重用来自HttpSession 的那个bean 吗?将@SessionScoped bean 放入HttpSession 是否合法?
【问题讨论】: