问题标签 [stateful]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
http - HTTP 和会话
我刚刚在http://www.w3.org/Protocols/rfc2616/rfc2616.html浏览了 http 1.1 的规范,并遇到了关于连接的部分http://www.w3.org/Protocols/rfc2616/rfc2616- sec8.html#sec8说
" HTTP/1.1 和早期版本的 HTTP 之间的一个显着区别是持久连接是任何 HTTP 连接的默认行为。也就是说,除非另有说明,客户端应该假设服务器将保持持久连接,即使在错误响应之后从服务器。
持久连接提供了一种机制,通过该机制客户端和服务器可以发出 TCP 连接关闭的信号。该信令使用连接头字段(第 14.10 节)进行。一旦发出关闭信号,客户端就不能再在该连接上发送任何请求。"
然后我还浏览了https://www.rfc-editor.org/rfc/rfc2965上关于 http 状态管理的部分,该部分在其第 2 部分中说
“目前,HTTP 服务器响应每个客户端请求,而不将该请求与先前或后续请求相关联;”
RFC 2616 中关于需要持久连接的部分还说,在每次客户端希望获取 url 时,在持久连接之前,它必须为每个新请求建立一个新的 TCP 连接。
现在我的问题是,如果我们在 http/1.1 中有持久连接,那么如上所述,客户端不需要为每个新请求建立新连接。它可以通过同一个连接发送多个请求。因此,如果服务器知道每个后续请求都来自同一个连接,那么该请求是否来自同一个客户端不是很明显吗?因此这是否不足以维持状态,这是否足以让服务器了解请求来自同一个客户端?在这种情况下,为什么需要一个单独的状态管理机制呢?
jsf - 有状态 EJB 不保留属性值
我正在使用有状态 EJB 来保存我的登录信息:
// ... }
我的 JSF 登录页面由以下控制:
}
我的用户实际上可以按照我想要的方式登录(通过我的域添加一些程序的安全性)。
我遇到的问题是在下一页,当您已经登录时。我想在所有页面标题中显示“欢迎!您以#{loginController.loggedUsername}
.
我不断得到一个null securityService.getUtenteCorrente()
。
SecurityService EJB 的行为类似于无状态会话 bean!我想知道我是否误解了关于有状态 EJB 的某些内容,或者我只是省略了一些内容以使其按预期工作。
我的目标只是拥有一个“会话范围”的 bean 来保持用户状态。是否需要 EJB 或者我可以只使用 SessionScoped JSF ManagedBean?
parameters - RenderStrategy.ONE_PASS_RENDER 是在 Wicket 应用程序中摆脱 ?1 等页面版本参数的合理方法吗?
我们已经使用 Wicket 1.3.7 几年了,目前正在将我们的项目升级到 wicket 6.x
我对?1
附加到每个 URL 的页面版本参数(例如)以及如何摆脱它们进行了大量研究。(不幸的是,在官方文档中找不到有关此的详细信息。)在这样做的同时,我阅读了很多声明(来自 Wicket 开发人员和用户,例如
需要跟踪页面版本,否则不可能有状态
和
您需要使您的页面无状态才能摆脱它
还建议使用自定义实现AbstractComponentMapper
,覆盖encodePageComponentInfo
不附加参数。这具有破坏已安装页面的状态的明显缺点。(例如,请参阅此 SO 答案)
昨天我偶然发现了RenderStrategy.ONE_PASS_RENDER。
我试了一下,做了一些测试后,我的印象是这是“恢复旧检票口方式”的设置:页面版本参数消失了,但我的页面是有状态的。
好吧,也有一个缺点。如果必须自己处理双重提交问题,但我可以忍受。
问题:还有其他我(还)不知道的缺点吗?有什么惊喜可以期待吗?
这似乎是一个完美的解决方案,我只是想知道为什么有这么多关于如何摆脱这些参数的讨论,即使是 wicket 开发人员,也不建议这样做......
提前致谢。
ejb - InitialContext.lookup(ejbMappedName) 返回一个新实例或一个旧的相同实例
对于有状态的 EJB,如果我使用 InitialContext.lookup(itsMappedName) 获取它的引用,对于 (InitialContext.lookup(itsMappedName)) 的每次调用,它将返回一个新的有状态 EJB 还是相同的有状态 EJB?
checkbox - 复选框的 Dojo 状态转换
所以对于 dijit/form/CheckBox,value 要么是一个字符串,要么是 true,要么是 false。这会导致我的数据源中的 Y/N 值出现问题。我试过做一个复选框子类来覆盖 _setValueAttr 和 _getValueAttr 以正确返回/设置 Y/N 但没有运气。
我还考虑将我的 mvc“at”函数与转换链接以转换数据,但显然这只适用于具有格式/解析功能的小部件(复选框不适用)。
那么,我还能如何将复选框链接到我的有状态复选框,其中 Y 表示选中,N 表示未选中?
ejb - 为什么无状态和有状态会话 bean 的行为不如预期
1) 对于上面的代码,如果 LogSearchRemote 实现 bean 是有状态的,那么
没有错误,但是如果 LogSearchRemote implementation bean 是stateless,则抛出异常“$Proxy53 cannot be cast to hk.gov.ehr.service.tch.als.admin.logsearch.ejb.LogSearchRemote”,为什么?
2) 对于有状态会话 bean,我每次都发现
返回不同的 logSearchRemote 实现 bean,
但如果是无状态会话 bean,则每次
返回相同的bean!
为什么会这样?
我希望无状态会话 bean 不应该保持状态,并且每个查找应该返回一个不同的实现 bean。
3)当我打电话时
对于无状态会话 bean,getTest() 和 getTestAgain() 可以记住之前方法调用中的实例变量“test”!!
为什么会记住?无状态会话 bean 不应该为每个方法调用调用不同的 EJB 实例吗?
jax-ws - javax.xml.ws.WebServiceException: No address is available
I have a stateful WebService and a stateless one, which returns a EndPointReference to a new Instance of the stateful webservice. Like the example in this blog https://weblogs.java.net/blog/kohsuke/archive/2006/10/stateful_web_se.html
..
But when I run the client and call the stateless service method "login" I get following Exception:
What I am doing wrong?
ejb - 有状态和无状态 EJB 取决于实现
我对 Java bean 很陌生,我想知道是否可以根据情况创建有状态和无状态的 EJB。
具体情况是:我有一个 DAO EJB,根据使用它的位置,它必须具有扩展的持久性上下文,或者我理解它必须是有状态的或无状态的,具体取决于具体情况。
有任何想法吗?
谢谢!:)
dll - 库(例如 DLL 和 SO)可以是有状态的吗?
我想知道图书馆是否可以是有状态的。换句话说,库可以在自身内部存储具有持久值的变量吗?
我认为答案是“不”,但我只是想确认一下。
我使用的大多数库都是用 C 编写的,并且不是面向对象的。它们仅由静态函数组成,这些函数在您传递给它们的指针上工作,但指针指向的实际内存块物理上位于程序的可寻址空间内;不是图书馆的。
c - 如何在解析不同流的块时保持 Bison 状态?
我有一个适用于多个流的 Bison 解析器定义。每个流都以一定的间隔以块的形式生成,因此我想保存给定解析实例的状态,以便在不同的流之间切换,同时保持每个解析实例的状态(及其关联的堆栈)。
我知道可以在扫描仪的多个缓冲区之间切换,但这无助于我为我正在分析的每个流构建不同的解析树。
是否有任何 Bison 功能可以执行其中的功能yy_switch_to_buffer()
?flex