首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >会话Bean和JSP会话

会话Bean和JSP会话
EN

Stack Overflow用户
提问于 2012-06-29 14:35:53
回答 2查看 1.4K关注 0票数 0

我正在阅读关于EJB会话Bean的文章。我主要在spring上工作,在网站上我们将session保持在普通的session对象中。会话bean的文档说,如果我有购物车,我使用会话bean?这是不是意味着我不需要在JSP级别上处理会话?该会话bean是否也可用于维护用户会话。

我不同意我在上面一段中最后写的内容。这不是重复代码和额外的内存使用吗?

请解释一下这个我根本不懂的概念。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-29 14:44:10

Servlet中的会话由Servlet容器通过HttpSession对象维护,该对象是通过request对象获取的。您不能实例化一个新的HttpSession对象,它不包含任何业务逻辑,但更多的是一个存储对象的地方。

EJB中的会话是使用SessionBeans维护的。您设计的bean可以包含业务逻辑,并且可以由客户端使用。您有两个不同的会话bean:有状态的和无状态的。第一个以某种方式与单个客户端连接。它维护该客户端的状态,只能由该客户端使用,当客户端“死亡”时,会话bean就会“丢失”。

无状态会话Bean不维护任何状态,并且不能保证相同的客户端将使用相同的无状态bean,即使是连续两次调用。无状态会话EJB的生命周期与有状态会话EJB略有不同。EJB Container负责准确地知道如何跟踪每个会话,并将请求从客户机重定向到会话Bean的正确实例。完成此操作的方式取决于供应商,并且是合同的一部分。

票数 0
EN

Stack Overflow用户

发布于 2012-06-29 14:50:40

因此,可以将EJB定义为封装业务逻辑并负责事务和安全性的服务器端组件。它们还具有用于消息传递、调度、远程访问、web服务端点(SOAP和REST)、依赖注入、组件生命周期、带有拦截器的AOP等的集成堆栈。

会话EJB有三种类型:

  1. Stateless:会话bean不包含方法之间的会话状态,并且任何实例都可以用于任何client.
  2. Stateful:会话bean包含会话状态,必须在单个user.
  3. Singleton:的方法之间保留会话状态单个会话bean在客户端之间共享并支持并发访问。

在web应用程序中,您通常会使用无状态bean来列出产品。然后,YOu将使用有状态bean将产品存储在购物车中。

希望这会有一点帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11257141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档