2012-05-15 3 views
8

Ich habe eine einfache Frage (und dumm - Schande über mich :)JSF auf Tomcat - warum ist das möglich?

Soweit ich verstehe, Tomcat ist ein Web-Container, der Servlet/JSP-Spezifikationen implementiert. Tomcat ist kein Java EE-Anwendungsserver mit voller Leistung. Daher kann ich keine EJB-basierte Anwendung auf Tomcat bereitstellen und ausführen.

So weit so gut.

Aber ... Ich kann JSF-Anwendungen auf Tomcat bereitstellen und ausführen. JSF - soweit ich weiß - ist Teil von Java EE und wird von EJBs "unterstützt" (z. B. verwenden Sie statusfreie/stateful Beans).

Fazit: Warum kann ich JSF-Anwendungen ausführen, die von EJBs unterstützt werden und keine "normale" EJB-Anwendung (d. H. Nicht JSF) bereitstellen können.

Vielen Dank im Voraus =)

+4

JSF ist nicht von EJB unterstützt, ist ein Framework auf Servlets gebaut. –

+1

Hallo - vielen Dank, Luiggi. Während ich mit JSF codierte (ich muss gestehen, dass ich bei JSF ziemlich neu bin), dachte ich, dass die Backend-Klassen EJBs waren. Mein Fehler. Prost. – cldjr

+1

Weitere Informationen finden Sie in der [JSF-Spezifikation] (http://javaserverfaces-spec-public.java.net/) und in der [Oracle-Dokumentation] (http://docs.oracle.com/javaee/5/tutorial/ doc/bnaph.html). –

Antwort

3

Wie andere geklärt haben, EJB! = JSF. Das heißt, Sie können EJBs mit Tomcat und JSF über Apache TomEE arbeiten. Sie können es in eine Tomcat 7-Installation einfügen oder einfach eine bereits eingerichtete Binärdatei verwenden. TomEE wurde genau erstellt, um die Frage "Wem verwende ich X auf Tomcat?" Zu beantworten.

Hier ist auch eine getting started video, die EJBs zeigt, CDI arbeitet an Tomcat angeschlossen an Eclipse.