Web框架是有状态的标准是什么

时间:2013-10-18 13:52:24

标签: jsf web-frameworks

我正在尝试学习jsf,我读到的是它是一个有状态的Web框架。但是,如果我没有使用jsf并且只使用servlet,我可以使用会话范围实现这种状态。那么,一个有钱的网络框架是什么意思?那个requet范围和会话范围都是相同的(有状态的)?

1 个答案:

答案 0 :(得分:1)

  

那个反叛范围和会话范围是否相同(有状态)?

这是错误的。 <{1}}和@RequestScoped既不相同,也不同时有效。

@SessionScoped bean是无状态的。这里没有任何内容存储超过1个请求的持续时间。有一个@RequestScoped bean池,可以重复使用,并在不同用户之间共享。只有在请求本身包含所有必要信息时才可以这样做。

@RequestScoped bean是有状态的。它与某个用户(会话)相关联,无法共享。它将被存储为多个请求,并且可以保持状态(因此是有状态的)。

“有状态”和“无状态”有许多不同的定义,但您可以将两个范围的属性作为无状态和状态完整的示例。

但即使仅使用@SessionScoped bean,由于JSF在内部的工作原理,您的JSF应用程序可能也不是完全无状态的。新的JSF 2.2向无国籍迈出了一步。有关如何使用JSF完全无状态的详细信息,请参阅this explanation

但请记住,在许多情况下,有状态(或非无状态)都没有问题,并且并非所有无状态应用程序在定义上都优于有状态应用程序。