spring 中的请求和会话范围有什么区别?

what is the difference between request and session scope in spring?

在请求范围内,bean 被定义为一个 HTTP 请求,而在会话范围内,它被定义为一个 HTTP 会话。 例如,

如果 bean 范围是 request 并且用户在其用户会话中对网页发出多个请求,则在每次请求时都会创建一个新的 bean。

而如果范围定义为 bean 的 session,如果用户多次请求网页,则每次请求都会返回相同的 bean .

请问这个理解是否正确?

您的理解是正确的。不过我想补充一点

Whereas if the scope is defined as session for the bean, if a user makes a request for a web page more than once, then on every request same bean would be returned.

我会将其更改为“如果范围定义为 bean 的 session,如果用户多次请求网页,则每次请求都会返回相同的 bean , 只要请求在同一用户 session 内并且来自能够维护 session 的客户端(您不能指望 curl维护用户 session 除非您传递 cookie/session 标识符 header)."

会话范围 -- 当范围是会话时,formbean(表单数据)的值将在整个会话期间可用。它不会被销毁,直到会话超时或会话被销毁。

请求范围 -- 当范围是请求时,formbean(表单数据)的值将可用于当前请求。它将根据同一 user/different 用户的每个请求进行刷新。

因为http是无状态协议