当前位置: 首页 > 面试题库 >

有状态会话Bean和HTTP会话

云捷
2023-03-14
问题内容

有状态会话bean和HTTP会话之间有什么关系吗?我们将需要有状态会话Bean的用例是什么,而HTTP会话需要哪些用例。我可以将有状态会话Bean公开为静态Web服务吗?


问题答案:

HTTP是一种无状态协议, 这意味着 它是服务器和客户端之间的实际传输协议- 是“无状态的, 因为它在调用之间不记得任何东西。
现在,首先阅读一下什么是HTTPSession和什么是Session
Bean(请注意,会话Bean是用来维护多个请求之间的数据状态,因此会话Bean通常是有状态的会话Bean,因为它在整个会话中保存数据。)

HTTP会话
HttpSession对象可以在来自同一客户端的多个请求中保持会话状态。对于特定的客户端的整个会话,我们可以用它来储存的一切,我们在所有的请求在会话过程中的客户端进行客户端回来。
会话Bean 从维基
在Java平台企业版规范,一个会话Bean是一种企业Bean.A会话bean执行操作,如计算或数据库访问的,用于客户端。尽管会话bean可以是事务性的,但如果发生系统崩溃,它是不可恢复的。会话bean对象可以是无状态的,也可以在方法和事务之间保持对话状态。如果会话bean保持状态,那么如果必须从内存中删除对象,那么EJB容器将管理该状态。但是,会话bean对象本身必须管理自己的持久性数据。

简单来说
会话跟踪是维护网站访问者在页面之间移动时的信息或状态的过程。
由于没有内置的机制,因此需要Web开发人员进行一些工作。从浏览器到Web服务器的连接通过无状态超文本传输​​协议(HTTP)进行

,并且
SFSB旨在通过对同一会话bean(即对话)的多次调用来实现受管客户端状态。 如果查看JBoss Seam,您会发现SFSB在会话上下文中的使用非常广泛。
在EJB3中,没有诸如“无状态胜于有状态会话Bean”之类的东西。例如,一个提供类似于信用卡处理器的服务(无状态),一个提供针对多屏幕向导用例的处理(有状态)。

我认为 使用HttpSession和无状态会话Bean管理状态非常困难且存在问题。

编辑: HTTPSession用于保持会话跟踪,例如用户会话
。例如,您要创建一个Login,Logout机制,则必须使用HTTPSession,因为当用户将开始在不同页面之间导航时,此HTTPsession会记住WHO正在询问页面,否则是不可能的(因为HTTP是无状态协议)
现在,在会话中,您只需设置用户名和密码的会话,并检查每个页面上是否存在该会话,然后显示该页面

现在,如果,您必须在多个请求中发送此用户的很多信息吗?在这种情况下,您将在一个有状态会话Bean中设置所有这些信息,
但是现在,在现代框架的会话以及信息中,所有内容都存储在会话Bean中,因为从会话Bean可以轻松地管理它们。
当我们单纯地使用Servlet和JSP技术时,使用了HTTPSession



 类似资料:
  • 问题内容: 有状态会话Bean定义如下: 有状态会话Bean对象的状态由其实例变量的值组成。在有状态会话Bean中,实例变量代表唯一的客户端Bean会话的状态。因为客户端与其bean进行交互(“交谈”),所以这种状态通常称为对话状态。 无状态会话Bean定义如下: 无状态会话Bean无状态会话Bean不会与客户端保持对话状态。当客户端调用无状态Bean的方法时,该Bean的实例变量可能包含特定于该

  • 对于有状态会话bean(SFSB)和无状态会话bean(SLSB)的用法,我有点困惑。 我知道SFSB与客户保持状态。这很有帮助:什么时候使用有状态会话bean而不是无状态会话bean? 这里和许多其他地方提供的示例是SFSB的购物车。 “如果一个任务需要一系列方法调用(不止一次),并且您需要保留以前的结果以在下一次调用中使用它们,那么就可以使用SFSB”--Source。这将更像是签出(页面之间

  • 问题内容: 我有一个有状态会话Bean(SFSB),它用作身份验证模块。在SFSB中,我存储了登录的当前用户。此外,我还有一些外观(用于处理我的实体的JPA / SQL内容)(无状态会话Bean(SLSB))。为了检查当前用户的访问权限,我尝试从SLSB中调用SFSB。但是,从SLSB调用时,当前用户字段始终为“空”。直接调用SFSB时,当前用户字段设置正确…对于调用,我使用@EJB批注。 任何想

  • 需要一些帮助!!我对Drools中的有状态和无状态会话没有清晰的理解。我正在努力理解这一点,所以尝试了一个例子。 我在drools6.5版本上使用有状态和无状态会话测试了下面的drl,在这两种情况下都得到了相同的输出。根据我对无状态会话的理解,它应该只执行第一条规则,当应用程序对象在第一条规则中被修改时,第二条规则不应该被激活(“有效期”)。附加源代码。感谢您在这方面的帮助。

  • 有状态会话bean定义如下: 无状态会话bean无状态会话bean不维护与客户端的会话状态。当客户机调用无状态bean的方法时,该bean的实例变量可能包含特定于该客户机的状态,但仅限于调用期间。当方法完成时,客户端特定状态不应保留。然而,客户端可能会更改池化无状态bean中实例变量的状态,并且此状态将保留到下一次调用池化无状态bean时。除了在方法调用期间,无状态bean的所有实例都是等效的,允

  • 在我以前做编码的时候,我主要使用无状态的会话bean,所有跨页遍历所需的信息都放在HTTP Session对象中。当时(甚至现在),我从来没有理解过EJB的“USP”对于“业务层”实现是“透明的”和“安全的”,它处理骨架和存根以及其他行话的各种方法,这些行话是以易用性/安全性为名的矫枉过正的伪装。我只是想知道,如果可以通过SLSB+HttpSession实现同样的功能,那么为什么要使用有状态会话E