1

我使用 netbeans,当我准备为应用程序用户的管理创建一个 bean 时,我开始想:哪种方式更有益,是持久化 DB 表并在其上应用 EJB,还是创建一个处理连接的 bean使用 DB 并“手动”进行测试(用于对用户进行 CRUD 操作的本土 bean)?

我承认这个问题很宽泛,但作为一个初学者,我不得不询问未来哪种方式对我来说更容易或更安全。

另外:在 JSF 上处理用户表上的 CRUD 操作的任何 API,以及所有必需的测试(例如具有确切名称和密码的用户)等等?

谢谢。

编辑:我注意到 Netbeans 中 JSF 的 CRUD 示例很少(使用 7.1.2),我认为其中一个是针对用户的 CRUD,但我不知道您对使用这些示例有多少信任在现实生活中,他们是否足够安全和​​精致?

4

1 回答 1

1

如今,您的后端有两种选择——CDI 和 EJB。我猜你不需要事务和 RMI 之类的东西,所以 CDI 会为你完成这项工作(它与 JSF 非常相似,但它添加了更多功能,JSF 托管 Bean 有望很快过时)。

您的 UserBean 对 JSF 页面可见

@Named
@RequestScoped //this depends on your use case
public UserBean {

    @Inject
    private UserDao dao;

    public void addUser(User user) {
        dao.addUser(user);
    }
}

你的 UserDao bean 可能会喜欢这样

@RequestScoped
public UserDao {

    @PersistencyContext
    private EntityManager em;

    public void addUser(User user) {
        em.save(user);
    }
}

当然,这个例子并不完美,它也有它的缺点,但你需要从一些东西开始,CDI 和 JSF 绝对是最好的方法。稍后您可以添加 EJB。另请参阅本教程,该教程将对 CDI 和 JSF 可以一起做什么进行基本概述。

于 2013-05-20T18:07:59.940 回答