The request scope is short-lived. It starts when an HTTP request is submitted
and ends after the response is sent back to the client. If you place a managed
bean into request scope, a new instance is created with each request. It is worth
considering request scope if you are concerned about the cost of session scope
Example- Data for error and status messages can often be placed in request scope.
If you have complex data, such as the contents of a table, then request scope
may not be appropriate since you would need to regenerate the data with
A bean in view scope persists while the same
JSF page is redisplayed.
As soon as the user navigates to a different page, the bean goes out of scope.
If you have a page that keeps getting redisplayed, then you can put the beans
that hold the data for this page into view scope, thereby reducing the size of the
Example- This is particularly useful for Ajax applications.
For the backing beans that contain bindings, I would recommend go with ConversationScoped or if it is single page than RequestScoped.
For crud actions, if it is an ajax action go with View Scope otherwise Request Scope.
thanks , for the explantion