我发现JSF 2.0 Flash范围是通过cookie在Mojarra 2.x中实现的。似乎发生的情况是,当使用Flash从视图A导航到视图B时,JSF会发送重定向响应。这是包含set-cookie标头的相同响应。
由于cookie是浏览器的全局,我想知道这会导致竞争条件的可能性。由于在重定向响应期间设置了cookie,我试图找出HTTP规范是否以某种方式保证浏览器响应的请求始终是第一个使用此cookie的请求。
一般情况下,如果第一个请求以某种方式停止(因为Internet决定将该特定请求路由到世界各地),可能仍然存在问题,然后来自另一个选项卡的第二个请求到达服务器第一
使用两个页面之间的闪存范围不是一个很糟糕的主意,或者我是否忽视某些内容并且它是否非常安全?
答案 0 :(得分:2)
如果有资源,例如文件或cookie ......肯定会有机会成为竞争条件。但你应该调查,如何避免它。
我认为完全保存它的答案是 EJB 3.0 我们使用EJB 3.0,因为它是事务安全的。 以同样的方式我们将请求传递给EJB以在数据库中插入数据,您可以使用EJB作为否定者与您的Flash作用域进行交互。这样你的交易就会得到保障,这意味着你将无风险竞争条件。