2013-06-07 14 views
7

Ich bin eine alte Post in Stackoverflow zu lesen, den Inhalt:Was Unterschied zwischen JavaBean und ManagedBean ist

In the big architectural picture, your own JSF code is the V: 

M - Business domain/Service layer (e.g. EJB/JPA/DAO) 
V - Your JSF code 
C - FacesServlet 

In the smaller developer picture, the architectural V is in turn dividable as follows: 

M - Entity 
V - JSP/XHTML page 
C - Managed bean 

So it's basically a M(MVC)C. 

Im oberen Fall die JavaBean ist ein Modell,

Aber im Großen und Kleinbuchstaben, die Managed Bean wird zu einem Controller?

Sie sind nicht das gleiche> ?? Was ist der Unterschied?

Antwort

9

Kurze Antwort: 'Managed Bean' ist ein Legacy-Kurzname für JSF Managed Bean. Es ist eine Java Bean, die von JSF verwaltet wird.

lang:

Eine Bohne ist in der Regel ein POJO (Plain Old Java-Objekt) von einem Container verwaltet.

Verwaltet bedeutet hier, dass die Erstellung/Zerstörung, die Anzahl der Instanzen, ihr Umfang und der Aufruf einer bestimmten Methode vom Container behandelt werden.

Container werden normalerweise vom zugrunde liegenden Server bereitgestellt. In Java EE haben Sie verschiedene Container (CDI, EJB, Web, etc ...)

JSF Managed Bean sind Bean von JSF-Container verwaltet, EJB werden von EJB Container verwaltet, Servlet/Filter von den Servlet-Container, JPA-Entitäten durch den EntityManager, etc.

Zum Beispiel, auf einem Tomcat-Server, haben Sie nur Web (Servlet) Container und nicht EJB eins. Wenn Sie JSF verwenden (Sie müssen die zugehörige Abhängigkeit angeben), haben Sie auch Beans verwaltet.

+0

EFB und Managed Bean sind sie alle Java-Bean richtig? –

+1

Ja, jedes Java-Objekt, das von einem Container verwaltet wird, ist eine Java-Bean – Gab

+0

Ich lerne JSP-Anwendung ,, Und ich weiß nicht, wo Sie die Geschäftslogik setzen. Wo ist der Regler Teil? –