如何从 servlet 调用 EJB 3.1 非零参数构造函数?

2024-01-01

我有一个 login.java servlet,正如其名称所示,它为我的 Web 应用程序提供登录功能。

我是一名新手,正在使用 EJB 3.1 和 EE 6。在我的 LoginBean.java EBJ 中,我有一个无参数构造函数和另一个具有一些参数(电子邮件、密码等)的构造函数。

在 servlet 代码中的某个时刻,我调用实例化我的 EJB:

@EJB LoginBean loginBean;

我想知道是否可以(以及如何)调用另一个构造函数而不是零参数构造函数。

多谢。 干杯。


你不想那样做。同一个 servlet 在所有用户之间共享,因此 EJB 也在所有用户之间共享。您不希望将用户特定的数据存储为 servlet 或 EJB 类的实例变量。它将在所有网页访问者之间共享。

而是将参数移至您在以下位置调用的 EJB 方法:doPost()登录 servlet 的方法。

User user = loginBean.login(username, password);

然后在成功时将其存储在 HTTP 会话中

request.getSession().setAttribute("user", user);

这样你的网络应用程序的其余部分就可以拦截此以确定用户是否登录。

if (request.getSession().getAttribute("user") != null) {
    // User is logged in.
} else {
    // User is not logged in.
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 servlet 调用 EJB 3.1 非零参数构造函数? 的相关文章

随机推荐