[英]CDI Injection into a Servlet not working
我有一个与生产者的控制器。
@Named
@SessionScoped
public class UserController{
private User user;
//other methods
@Produces
@User
public User produceUser() {
return user;
}
}
如果将用户注入到Servlet中,那么我将始终获得同一用户(我比较了对象ID)-也在不同的会话中。 如果我将用户注入CDI Bean中,则它可以正常工作,并且可以获取当前会话的用户。
UserController
是基于会话作用域的,但生产者不是。 也就是说,生产者具有@Dependent
范围,因此在初始化servlet时,将一次注入User
bean。
尝试将@SessionScoped
添加到您的生产者方法中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.