Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有状态会话Bean和HTTP会话_Java_Http - Fatal编程技术网

Java 有状态会话Bean和HTTP会话

Java 有状态会话Bean和HTTP会话,java,http,Java,Http,有状态会话bean和HTTP会话之间有关系吗? 哪些用例需要有状态会话bean,哪些用例需要HTTP会话。 我可以将有状态会话bean公开为restful web服务吗?HTTP是一个无状态协议,这意味着它是服务器和客户端之间的实际传输协议--“无状态的,因为它不记得调用之间的任何内容现在首先阅读这篇文章什么是HTTPSession,什么是会话bean(请记住,会话bean用于跨多个请求维护数据状态,因此会话bean通常是有状态会话bean,因为它跨整个会话保存数据) HTTP会话 HttpSe

有状态会话bean和HTTP会话之间有关系吗? 哪些用例需要有状态会话bean,哪些用例需要HTTP会话。
我可以将有状态会话bean公开为restful web服务吗?

HTTP是一个无状态协议,这意味着它是服务器和客户端之间的实际传输协议--“无状态的,因为它不记得调用之间的任何内容
现在首先阅读这篇文章什么是HTTPSession,什么是会话bean(请记住,会话bean用于跨多个请求维护数据状态,因此会话bean通常是有状态会话bean,因为它跨整个会话保存数据)

HTTP会话
HttpSession对象可以在来自同一客户机的多个请求之间保持会话状态。换句话说,它可以与特定客户机保持整个会话。 我们可以使用它将从客户端获得的所有信息存储在客户端在会话期间发出的所有请求中。
会话Bean来自
在Java平台企业版规范中,会话Bean是企业Bean的一种类型。会话Bean为客户端执行操作,如计算或数据库访问。虽然会话Bean可以是事务性的,但在系统崩溃时无法恢复。会话Bean对象可以是无状态的,也可以是维护在方法和事务之间处于对话状态。如果会话bean保持状态,则如果必须从内存中删除对象,则EJB容器将管理此状态。但是,会话bean对象本身必须管理自己的持久数据。

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

SFSB是为同一会话bean(即会话)的多个调用上的托管客户端状态而设计的。如果您查看JBoss Seam,您会发现会话上下文中大量使用SFSB。
在EJB3中,没有“无状态的会话bean比有状态的会话bean好”这样的东西“。例如,一个提供类似信用卡处理器(无状态)的服务,另一个提供多屏幕向导用例(有状态)的处理。
在我看来使用HttpSession和无状态会话bean管理状态是非常困难和有问题的。


编辑:HTTPSession用于像用户会话一样跟踪会话
例如,如果要创建登录、注销机制,则必须使用HTTPSession,因为当用户将在不同页面之间开始导航时,此HTTPSession将记住谁在请求页面,否则将不可能ble(因为HTTP是无状态协议)
现在在会话中,您只需设置用户名和密码会话,并在每个页面上检查该会话是否存在,然后显示该页面

现在,如果您必须跨多个请求发送该用户的大量信息,该怎么办?在这种情况下,您将在一个有状态会话bean中设置所有这些信息
但现在是一天,在mod中ern框架会话以及信息,所有内容都存储在会话bean中,因为从会话bean可以很容易地管理它们。
HTTPSession是在我们完全使用Servlet和JSP技术时使用的。

您混合了bat和battle,因为两者都有“bat”在commonFreak中,谢谢你的回答,我知道http会话状态和java bean的会话状态没有任何共同之处。你介意给我一些用例吗?什么时候你会使用http会话bean和有状态会话bean?我想你还是不太明白,因为主要的是它们都有不同的目的ses。不管怎样,请看编辑后的答案只要读一篇关于JAVA EE6的文章,它说使用CDI和会话处理注释,托管bean可以在web应用程序中跨多个HTTP请求持久化。因此,在我看来,HTTP会话功能可以通过托管bean或HTTP会话来实现,这正是您可以做到的。您使用的术语是EJB中使用会话Bean的
statefulsessionbean
,JSF中使用会话Bean的术语
managedbean