小编Jon*_*han的帖子

在Servlet中使用CDI注入

我试图@Inject@SessionScoped豆成过滤器

@WebFilter("/*")
public class IdentityFilter implements Filter, Serializable {

    @Inject
    private LoginUser loginUser;
...
Run Code Online (Sandbox Code Playgroud)

这里LoginUser@SessionScoped

目的是loginUser表示会话的登录用户.

问题是看起来我并不总是loginUser从当前会话中获取,因为一个会话的LoginUser对象正在与另一个会话共享,所以会话之间会出现"泄漏".显然这不好.

我想知道这是因为Filter对象是单例,还是至少在容器(glassfish)的请求和会话之间重用.(对?)

是否有更好的方法来获取LoginUser当前会话的对象而不使用Filter上的属性?

servlets code-injection cdi servlet-filters

10
推荐指数
1
解决办法
6653
查看次数

标签 统计

cdi ×1

code-injection ×1

servlet-filters ×1

servlets ×1