可以将@ManagedBean作为@ManagedProperty注入@WebServlet吗?

可以将@ManagedBean作为@ManagedProperty注入@WebServlet吗?,第1张

可以将@ManagedBean作为@ManagedProperty注入@WebServlet吗?

@ManagedProperty
由于
@ManagedBean
只能在类中使用,因此无法在servlet中使用。此外,也不可能注入范围小于父对象本身的对象,因为这只会导致并发问题。注入程序将为此抛出运行时异常。servlet本质上是应用程序范围内的,并在所有用户之间共享,并且您的
UserIdentity
bean似乎是会话范围的。

由于JSF在Servlet API之上运行并将会话范围的bean存储在会话中,因此您可以在servlet中将其作为会话属性来获取:

UserIdentity identity = (UserIdentity) request.getSession().getAttribute("userIdentity");

请注意,

FacesContext
除了之外
FacesServlet
,通常在servlet中也无法使用,因此
FacesContext
按注释中的建议在servlet中使用没有任何意义,只会返回
null



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5502097.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-13
下一篇 2022-12-13

发表评论

登录后才能评论

评论列表(0条)

保存