Q: What is
Managed Bean?
JavaBean objects managed by a JSF implementation
are called managed beans. A managed bean describes
how a bean is created and managed. It has nothing
to do with the bean's functionalities.
Q: What is Backing Bean?
Backing beans are JavaBeans components associated
with UI components used in a page. Backing-bean
management separates the definition of UI component
objects from objects that perform application-specific
processing and hold data.
The backing bean defines properties and handling-logics
associated with the UI components used on the
page. Each backing-bean property is bound to
either a component instance or its value. A
backing bean also defines a set of methods that
perform functions for the component, such as
validating the component's data, handling events
that the component fires and performing processing
associated with navigation when the component
activates.
Q: What are the differences between a Backing
Bean and Managed Bean?
Backing Beans are merely a convention, a subtype
of JSF Managed Beans which have a very particular
purpose. There is nothing special in a Backing
Bean that makes it different from any other
managed bean apart from its usage.
What makes a Backing Bean is the relationship
it has with a JSF page; it acts as a place to
put component references and Event code.
Backing Beans Managed
Beans
A backing bean is any bean that is referenced
by a form. A managed bean is a backing bean
that has been registered with JSF (in faces-config.xml)
and it automatically created (and optionally
initialized) by JSF when it is needed.
The advantage of managed beans is that the JSF
framework will automatically create these beans,
optionally initialize them with parameters you
specify in faces-config.xml,
Backing Beans should be defined only in the
request scope The managed beans that are created
by JSF can be stored within the request, session,
or application scopes
Backing Beans should be defined in the request
scope, exist in a one-to-one relationship with
a particular page and hold all of the page specific
event handling code.In a real-world scenario,
several pages may need to share the same backing
bean behind the scenes.A backing bean not only
contains view data, but also behavior related
to that data.
Q: What is view object?
A view object is a model object used specifically
in the presentation tier. It contains the data
that must display in the view layer and the
logic to validate user input, handle events,
and interact with the business-logic tier. The
backing bean is the view object in a JSF-based
application. Backing bean and view object are
interchangeable terms
Q: What is domain object model?
Domain object model is about the business object
and should belong in the business-logic tier.
It contains the business data and business logic
associated with the specific business object.
Q: What is
the difference between the domain object model
and a view object?
In a simple Web application, a domain object
model can be used across all tiers, however,
in a more complex Web application, a separate
view object model needs to be used. Domain object
model is about the business object and should
belong in the business-logic tier. It contains
the business data and business logic associated
with the specific business object. A view object
contains presentation-specific data and behavior.
It contains data and logic specific to the presentation
tier.
Q: What do
you mean by Bean Scope?
Bean Scope typically holds beans and other objects
that need to be available in the different components
of a web application.
Q: What
are the different kinds of Bean Scopes in JSF?
JSF supports three Bean Scopes. viz.,
• Request Scope: The request scope is
short-lived. It starts when an HTTP request
is submitted and ends when the response is sent
back to the client.
• Session Scope: The session scope persists
from the time that a session is established
until session termination.
• Application Scope: The application scope
persists for the entire duration of the web
application. This scope is shared among all
the requests and sessions.