Request 和 Session 作用域 bean 的用例

Ara*_*d A 7 spring spring-mvc

有人可以列出 Request 、 Session 和 Global-Session 作用域 bean 的实际用例吗?在大多数项目中,我一直在使用 singleton 和 prototype 。据我所知,请求范围 bean 是根据请求实例化的,而在会话范围 bean 中,bean 是在会话启动时实例化的。

请在实际方面赐教。

Pet*_*ete 4

到目前为止,我们使用请求范围的 bean来获取仅在一页上有效的信息,例如搜索结果或订单确认。该 bean 在页面重新加载之前一直有效。

会话作用域 bean对于保存在会话关闭(由于超时或注销)时失效的身份验证信息很有用。您也可以在此处存储您不想在每次请求时重新加载的其他用户信息。或者我们的另一个用例是在会话范围中存储会话范围,我们用它来保存请求之间的信息,但我们可以为其分配自定义超时和失效条件。

几乎所有在请求之后需要可用的信息都需要存储在会话范围中。我们使用的唯一例外是视图范围,它将信息存储在页面视图映射中,以便在 ajax 请求之后可用,例如在向导中。

然而,单例范围意味着每个应用程序的信息仅存在一次,因此如果两个用户请求您的页面,他们将访问相同的信息。这对于控制器很有用,因为它们无论如何都不应该存储数据。

原型作用域与用 new 初始化对象相同,因为每次注入它时都会创建它。我们目前根本不使用这个。