Java 在web应用程序中使用EJB和servlet的首选方式是什么?
我正在努力熟悉JavaEE。对于每个“组件”(缺少更好的词)的用途,我有点困惑:会话bean和servlet,以及它们如何与web应用程序(客户端JavaScript)正确交互 为了理解这一点,我正在构建一个简单的web应用程序。使用每个组件构建类似以下内容的首选方法是什么:Java 在web应用程序中使用EJB和servlet的首选方式是什么?,java,servlets,jakarta-ee,ejb,session-bean,Java,Servlets,Jakarta Ee,Ejb,Session Bean,我正在努力熟悉JavaEE。对于每个“组件”(缺少更好的词)的用途,我有点困惑:会话bean和servlet,以及它们如何与web应用程序(客户端JavaScript)正确交互 为了理解这一点,我正在构建一个简单的web应用程序。使用每个组件构建类似以下内容的首选方法是什么: 用户访问“登录”页面 用户输入数据并单击提交。然后,我使用AJAX发送一个请求以登录用户 然后服务器端验证用户输入并“记录”用户(返回用户配置文件等) 在发送请求时,我是将其发送到Servlet(使用EJB)还是通过WSD
在n层应用程序中,上述所有技术都应该只包含表示层。此表示层与业务层对话,在业务层中发生真正的业务逻辑,事务用于访问数据库、消息传递系统等。此业务层使用EJB 您可以创建如下基本架构: 创建两个不同的项目,如EJBJAR和Web应用程序WAR 您可以创建servlet,它将调用具有引用EJB逻辑的委托类 或者作为远程调用调用它/或者在委派类中使用@EJB注释
ServletClass {
do/post(){
DelegateClass d = new DelegateClass();
d.callMethod(withParam);
}
}
DelegateClass {
@EJB
EJBlocalinterface ejbintance;
void callMethod(DefinPrarm){
ejbinstance.callEJBMethod();
}
}
@Statelss
EJBbeanClass implements EJBlocalinterface{
void callEJBmethod(someParam){
}
}
你似乎不太确定你到底想问什么?我建议您阅读JavaEE教程:这对初学者来说非常好,阅读后您将熟悉所有“组件”,并知道如何构建示例应用程序(会话bean是EJB中的子bean)请求不要直接与会话bean对话(模型),如果您想探索“EJB”,他们可以通过servlet(控制器)进行对话。在典型的JEE应用程序中,servlet将如何从浏览器接收您的请求,如果您想使用EJB,那么您可以使用。这是另一种选择,可以通过JSP和servlet对数据库进行查询,并通过servlet将响应返回到浏览器,对于这个用例,WSDL和SOAP是完全不相关的。