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

greenHorn picture greenHorn · Sep 25, 2017 · Viewed 12.9k times · Source

In request scope, a bean is defined to an HTTP request whereas in session scope, it is scoped to an HTTP session. So for an instance,

if the bean scope is request and, a user makes more than one request for a web page in his user session, then on every request a new bean would be created.

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.

please let me know if this understanding is correct?

Answer

so-random-dude picture so-random-dude · Sep 25, 2017

Your understanding is correct. However I would like to add something

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.

I would change it as 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, as long as the requests are within the same user session and made from a client which is capable of maintaining the session (You can't expect the curl to maintain the usersession unless you pass the cookie/session identifier header).