JSF Facelets integriert in JSF ?

wbott@freenet.d

Aktives Mitglied
Guten Morgen,

ich versuche mich derzeit in JSF.
Gerade frage ich mich ob Facelets in JSF bereits integriert ist oder ob man, wie ich gelesen habe,
ein "jsf-facelets.jar" und ein "el-impl.jar" braucht.
Wo ich mir auch nicht sicher bin ist die richtige Quelle. Oracle verweist auf das Mojarra Project,
also GlassFish, ich verwende aber Tomcat.

Ich habe da eine Seite gefunden <http://www.java2s.com/Code/Jar/j/Downloadjsffaceletsjar.htm>,
da gibt es mehrere Versionen zum downloaden. Nimmt man da immer die jüngste oder muß man auf seine JSF-Version achten und wo sehe ich eigentlich welche JSF-Version installiert ist?

Sorry, ich habe mit den ganzen verschiedenen Versionen, Frameworks und Plugins einwenig den
Überblick verloren.

Umgebung:
Elipse Version: Indigo Service Release 2
Eclipse IDE for Java EE Developers 1.4.2.20120213-0813
Tomcat 6

wäre echt erleichtert wenn mir jemand helfen könnte.
 

Templarthelast

Bekanntes Mitglied
Wenn du irgendwelche jars verwendest kommen die unter /web-inf/libs oder den lib ordner auf dem Applicationserver. Wenn du es ganz einfach machen willst, kannst du mit eclipse myfaces/mojarra runterladen und es automatisch zu deinem project hinzufügen.
 

Nogothrim

Aktives Mitglied
Bei JSF 1.2 muss man facelets seperat als jar einbinden, ab 2.0 ist das integriert. Mojarra hat nix mit Glassfish zu tun, das ist einfach die Sun bzw. Oracle Implementierung von JSF, die auch problemlos im Tomcat läuft. Generell würde ich davon abraten, mit JSF 1.2 irgendwas zu machen, wenn es nicht mehr sein muss, aktuell ist 2.1.x.
 

wbott@freenet.d

Aktives Mitglied
ok, danke Euch beiden, also gerne mojarra.
Hab ich das richtig verstanden, ich kann das dirket aus eclipse downloaden?
Wie kommt Ihr drauf, dass ich JSF 1.2 benutze und wo kann ich das sehen?
Ich würde dann gerne auf 2.1 upgraden, kann ich das auch aus eclipse heraus?

sorry, viele Fragen, aber da ist schnell was krum und dann hat man den Salat...

nochmal, vielen Dank für Eure Tipps..
 

wbott@freenet.d

Aktives Mitglied
Als guten Einstieg in JSF kann ich Dir nur dieses Tutorial empfehlen.
Dort werden Dir auch Deine Fragen zur Installation in den ersten Kapiteln beantwortet.

So, also ich entnehme dem von Dir empfohlenen Tutorial, dass ich mit Java EE 6 bereits JSF2.0 integriert habe und mit Tomcat 6 einen Server und mit eclipse 3.7 eine IDE, die mit JSF arbeiten.

Auzug aus dem JSF2-Getting-Started:
Any Java EE 6 server
– JSF 2.0 is an official part of Java EE 6
• JBoss 6, Glassfish 3, WebLogic 11, WebSphere 8, etc.

Weiter unten ist dann beschrieben woher man das jsf-blank Project bekommt und wie man es importiert. Soweit so gut.

Jetzt käme das Testen des jsf-blank Project und da hab ich ein Problem:

Auzug aus dem JSF2-Getting-Started:
Deploy to server
– Tomcat 6 or 7
• Click on Servers tab at bottom. R-click on Tomcat v6.0,
choose “Add and Remove …”. Choose jsf-blank. R-click Tomcat again and choose Start.

Ich habe aber kein Server-Tab (Siehe Hardcopy Anhang)?!

Könnt Ihr mir da nochmal helfen bitte
danke
 

Anhänge

  • jsf-blank-Procekt.JPG
    jsf-blank-Procekt.JPG
    61,2 KB · Aufrufe: 45

wbott@freenet.d

Aktives Mitglied
Aber du siehst doch deinen Server Tab, oder kannst du keinen Tomcat hinzufügen?

Um einen Server hinzuzufügen gehe doch einfach add new Server.

also einfach einen neuen Server anlegen und das blank-Projekt zuordnen?
Klingt irgendwie anders als
"Click on Servers tab at bottom. R-click on Tomcat v6.0,
choose “Add and Remove …”. Choose jsf-blank. R-click Tomcat again and choose Start."

hab ich gemacht und dann den Test laut:

Test
– Start browser and enter URL
http://localhost/jsf-blank/
– It should redirect to http://localhost/jsf-blank/page-a.jsf

versucht, hat aber leider nicht funktionier (Die Webseite kann nicht angzeigt werden).
 

wbott@freenet.d

Aktives Mitglied
Starte einfach mal deine html Seite(STRG + F11) und dann kannst du den zu benutzenden Server auswählen.

echt nett von Dir, dass Du mir hier hilfst.

Du meinst in Eclipse?
wenn ich das Strg-F11 drücke startet die Seite
http://localhost:8080/WebWboJsf/faces/jsp/addressDetail.jsp
ein Übungsprojekt von mir

ich würde aber gerne die das blank-Projekt testen...

hab gerade mal eclipse neu gestartet und dann Strg-F11 gedrückt:
also der Tomcat wird anscheindend gestartet, das der Port 8080 benutzt wird,
aber es wird keine Seite gestartet.
 
Zuletzt bearbeitet:

Nogothrim

Aktives Mitglied
So, also ich entnehme dem von Dir empfohlenen Tutorial, dass ich mit Java EE 6 bereits JSF2.0 integriert habe und mit Tomcat 6 einen Server und mit eclipse 3.7 eine IDE, die mit JSF arbeiten.

Das ist so nicht ganz korrekt. Tomcat ist nur ein Servlet-Container, hat also keinen vollen JavaEE Stack im Bauch. Du musst also die JSF-Bibliotheken (api und impl) selbst mitbringen und natürlich auch in der web.xml konfigurieren.

Edit: Kann natürlich sein, dass dein Tutorial das auch schon vermittelt hat ;) Poste doch mal die web.xml
 
Zuletzt bearbeitet:

wbott@freenet.d

Aktives Mitglied
Das ist so nicht ganz korrekt. Tomcat ist nur ein Servlet-Container, hat also keinen vollen JavaEE Stack im Bauch. Du musst also die JSF-Bibliotheken (api und impl) selbst mitbringen und natürlich auch in der web.xml konfigurieren.

Edit: Kann natürlich sein, dass dein Tutorial das auch schon vermittelt hat ;) Poste doch mal die web.xml

Ahh, ok, danke, die werd ich mir morgen früh gleich holen
 

Mostly_Harmless

Aktives Mitglied
Also nochmal Schritt für Schritt :)


Ich habe aber kein Server-Tab (Siehe Hardcopy Anhang)?!

also einfach einen neuen Server anlegen und das blank-Projekt zuordnen?
Klingt irgendwie anders als
"Click on Servers tab at bottom. R-click on Tomcat v6.0,
choose “Add and Remove …”. Choose jsf-blank. R-click Tomcat again and choose Start."


Den Server-Tab hast Du ja mittlerweile gefunden und den Server hast Du anscheinend auch schon hinzugefügt.
Das Ganze wird auf derselben Seite in diesem Tomcat-Tutorial übrigens erklärt und dann im JSF Tutorial als bekannt vorausgesetzt, daher dort nur die kurze Beschreibung.


hab ich gemacht und dann den Test laut:

Test
– Start browser and enter URL
http://localhost/jsf-blank/
– It should redirect to http://localhost/jsf-blank/page-a.jsf

versucht, hat aber leider nicht funktionier (Die Webseite kann nicht angzeigt werden).

also der Tomcat wird anscheindend gestartet, das der Port 8080 benutzt wird,
aber es wird keine Seite gestartet.


Genau, und da Tomcat standardmäßig den Port 8080 nutzt, lautet die Adresse dementsprechend auch http://localhost:8080/jsf-blank/ - lässt man die Portangabe weg, versucht der Browser über den HTTP-Standardport 80 eine Verbindung herzustellen. In dem Tomcat-Tutorial wird erklärt, wie man den Port auf 80 umstellt.


Das ist so nicht ganz korrekt. Tomcat ist nur ein Servlet-Container, hat also keinen vollen JavaEE Stack im Bauch. Du musst also die JSF-Bibliotheken (api und impl) selbst mitbringen und natürlich auch in der web.xml konfigurieren.

Edit: Kann natürlich sein, dass dein Tutorial das auch schon vermittelt hat ;) Poste doch mal die web.xml


Das hier vorbereitete jsf-blank-Projekt bringt die JSF-Bibliotheken bereits mit. Zu finden im WEB-INF/lib Ordner. Auch die web.xml ist schon entsprechend für das JSF-Projekt konfiguriert und müsste folgenden Inhalt haben:

[XML]
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<!-- The bare minimum needed for JSF 2.0 is a servlet 2.5
declaration and the mapping for the FacesServlet.
Setting PROJECT_STAGE to Development is highly recommended
during initial development so that you get more helpful
error messages.

From JSF 2.0 tutorial at JSF 2.0 Tutorial (JavaServer Faces 2 Tutorial) with Eclipse
-->
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
[/XML]
 

wbott@freenet.d

Aktives Mitglied
Also nochmal Schritt für Schritt :)

Den Server-Tab hast Du ja mittlerweile gefunden und den Server hast Du anscheinend auch schon hinzugefügt.
Das Ganze wird auf derselben Seite in diesem Tomcat-Tutorial übrigens erklärt und dann im JSF Tutorial als bekannt vorausgesetzt, daher dort nur die kurze Beschreibung.

genau, so ist es.


Genau, und da Tomcat standardmäßig den Port 8080 nutzt, lautet die Adresse dementsprechend auch http://localhost:8080/jsf-blank/ - lässt man die Portangabe weg, versucht der Browser über den HTTP-Standardport 80 eine Verbindung herzustellen. In dem Tomcat-Tutorial wird erklärt, wie man den Port auf 80 umstellt.

http://localhost:8080/jsf-blank/ hab ih natürlich auch probiert.
Ergebnis: Dieses Programm kann die Webseite nicht anzeigen.
Mir ist nicht klar, was mit dem Aufruf eigentlich ausgeführt werden soll, es wird ja
lediglich der Projektname angegeben. Nach was wird denn dann gesucht und kann man
das auch direkt aufrufen?


Das hier vorbereitete jsf-blank-Projekt bringt die JSF-Bibliotheken bereits mit. Zu finden im WEB-INF/lib Ordner. Auch die web.xml ist schon entsprechend für das JSF-Projekt konfiguriert und müsste folgenden Inhalt haben:

Ahh, super, dann hab ich die Bbiliotheken und kann sie für andere Projekte nutzen
 

Mostly_Harmless

Aktives Mitglied
http://localhost:8080/jsf-blank/ hab ih natürlich auch probiert.
Ergebnis: Dieses Programm kann die Webseite nicht anzeigen.


Ich bin mir nicht ganz sicher, warum es so immer noch nicht klappt, aber versuche mal Folgendes:
Kopiere den kompletten ROOT-Ordner (nicht nur den Inhalt) aus Tomcats webapps-Verzeichnis (also z.B. "C:\apache-tomcat-7.0.29\webapps\ROOT") in den Ordner "...\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps", wobei mit workspace halt der Eclipse-Workspace gemeint ist.


Mir ist nicht klar, was mit dem Aufruf eigentlich ausgeführt werden soll, es wird ja
lediglich der Projektname angegeben. Nach was wird denn dann gesucht und kann man
das auch direkt aufrufen?


Durch den blanken Aufruf des Projektnamens wird implizit die index.html bzw. index.jsp angefordert. Das lässt sich in der web.xml durch den Eintrag
[XML]
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
[/XML]
einstellen.
Rufst Du z.B. www.google.de auf, wird Dir eigentlich auch die www.google.de/index.html angezeigt.
 
Zuletzt bearbeitet:

wbott@freenet.d

Aktives Mitglied
Hab ich gemacht und anschließend eclipse neu gestartet.
Leider hatte es nicht den erwünschten Effekt.
Das Verzeichnis enthällt aber nur eine web.xml.

Jetzt hab ich dann mal die index.jsp aus dem blank-Projekt in eclipse geladen und
mit Run as und explizieter Serverauswahl aufgerufen.
das sieht dann schon ganz anders aus.
 

Anhänge

  • jsf-blank-Procekt.JPG
    jsf-blank-Procekt.JPG
    41,6 KB · Aufrufe: 33
  • jsf-blank-Procekt2.jpg
    jsf-blank-Procekt2.jpg
    84,7 KB · Aufrufe: 30
Zuletzt bearbeitet:

Mostly_Harmless

Aktives Mitglied
Anscheinend hast Du das jsf-blank Projekt noch nicht korrekt Tomcat hinzugefügt.
Schau mal nach, ob in "...\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps" außer ROOT auch der Ordner jsf-blank existiert.

Wenn nicht:
Nochmal im Server-Tab Rechtsklick auf den Tomcat-Server -> Add and Remove...
Dort müsste dann auf der rechten Seite unter Configured das jsf-blank-Projekt angezeigt werden, ansonsten nochmal hinzufügen und "hochladen" über Rechtsklick Tomcat-Server -> Publish
 

wbott@freenet.d

Aktives Mitglied
das liegt wohl daran, dass meine Anzeige so aussieht.
Tomcat läuf zwar mit Aufruf einer JSP usw., aber die Anzeige hier will nicht so richtig.
 

Anhänge

  • jsf-blank-Procekt.JPG
    jsf-blank-Procekt.JPG
    17,4 KB · Aufrufe: 42

wbott@freenet.d

Aktives Mitglied
Morgen,

hab mir das jetzt angesehen und muss sagen, dass hatte ich alles schon gemacht.
Tomcat arbeitet ja auch, nur wird im Server-Tab kein Server angezeigt. Welchen soll er denn
anzeigen, ich habe ja zwei definiert.
Man sieht auch im Hardcopy das eigentlich alles da ist.
Warum nur wird im Server-Tab kein Server angezeigt, das ist wohlb die Frage.
 

Anhänge

  • jsf-blank-Procekt.jpg
    jsf-blank-Procekt.jpg
    79,1 KB · Aufrufe: 34

Mostly_Harmless

Aktives Mitglied
Das sind doch die Run Configurations, oder? Da bräuchte das jsf-blank-Projekt eigentlich gar nicht drinstehen.

Und wenn Tomcat nicht im Server-Tab steht, wie startest Du Tomcat dann überhaupt? Über die "apache-tomcat-7.0.29\bin\startup.bat"?

Schon nach Punkt 4 des "Quick Start"-Abschnitts des Tutorials
Tell Eclipse about Tomcat. Click on Servers tab at bottom. R-click, New, Server, Apache, Tomcat v7.0, navigate to Tomcat 7 installation folder (e.g., C:\apache-tomcat-7.0.27), OK. If you don't see Servers tab, add the tab via Window, Show View, Servers.
müsste im Server-Tab eigentlich Tomcat eingetragen sein. Wenn nicht, ist da bereits irgendwas schiefgelaufen.
Sobald dieser Punkt korrekt abgearbeitet wurde, lässt sich Tomcat direkt über Eclipse starten und beenden. Die startup.bat ist danach für Dich überhaupt nicht mehr relevant.
 

wbott@freenet.d

Aktives Mitglied
Guten Morgen,

Tomcat startet sich durch den Menü-Aufruf "Run As" , "Run on Server" mit Serverauswahl.
Den Tomcat habe ich seinerzeit mit einem exe-File installiert. Dieses hat auch eigene StartButtons
in eclipse integriert. Anschließend habe ich über den Tab einen Server angelegt.

Ich habe die in der Beschreibung angegebenen Details geprüft. Ist ja kein Hexenwerk, eclipse muß
bekannt sein das es Tomcat gibt und wo der zu finden ist und welches Projekt mit welchem Server
arbeiten soll.

Die Anzeige unten im Server-Tab, zeigt die normalerweise alle angelegten Server an?

Gruß
 

Mostly_Harmless

Aktives Mitglied
Achso, ich bin davon ausgegangen, dass Du das zip-File von Tomcat einfach nur entpackt hast.

In dieser Readme steht:
apache-tomcat-[version].exe
32-bit/64-bit Windows installer for Tomcat. Please note that while this distribution includes the vast majority of the base distribution, some of the command-line scripts for launching Tomcat are not included. This distribution is intended for those users planning to launch Tomcat through the Windows shortcuts or services.
Vielleicht hat Eclipse aufgrund der fehlenden Skripte Probleme damit.

Ich würde Tomcat einfach nochmal deinstallieren und es mit diesem Download versuchen:
http://apache.openmirror.de/tomcat/tomcat-7/v7.0.29/bin/apache-tomcat-7.0.29.zip
 

wbott@freenet.d

Aktives Mitglied
Äähh, bevor ich jetzt anfange würst die Verzeichnisse zu löschen und dann am Ende vor einem
Durcheinander stehe:

Wie bekomme ich die Tomcatsachen sauber deinstalliert?
Einfach das Tomcat-Installationsverzeichnis löschen?

Was ist mit den Projekten, die bisher mit Tomcat liefen und den
Konfigfiles ect. ?

Muß ich in eclipse etwas machen?
Angelegte Server löschen und wie geht das?

sorry, ich will nicht nerven, aber diesesmal soll alles richtig laufen.
 

Mostly_Harmless

Aktives Mitglied
Sorry für die späte Antwort, ist hoffentlich noch nicht zu spät :D

Eigentlich könntest Du auch versuchen, die zip-Datei einfach in das bereits bestehende Tomcat-Verzeichnis zu entpacken und die existierenden Dateien zu überschreiben. Die Konfigfiles kannst Du ja vorher sichern, falls es danach nicht mehr funktioniert. Und Deine Projekte im webapps-Ordner sind dann ja gar nicht davon betroffen.
 

wbott@freenet.d

Aktives Mitglied
gut das Du noch geantwortet hast, ich wollte Morgen alles neu installieren.

Werde das als Erstes mal probieren. Inzwischen habe ich auch Probleme mit
einfachen xhtml-Dateien, z. B. wird

<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html">
<h:body>
Hallo.
<br/>

nicht von eclipse akzeptiert, angeblich ist xmlns:h ein unbekanntes Attribut.

Streng genommen kann ich ja eclipse, Tomcat und JSF2.0 komplett neu installieren wie im
JSF2-Getting-Started.pdf von http://www.coreservlets.com/JSF-Tutorial/jsf2/beschrieben.

Nur so krieg ich eine saubere UImgebung hin.
Meine Sachen kann ich dann ja aus dem gesicherten Workspace in den neuen Workspace importieren.

Spricht da etwas dagegen wenn der von Dir empfohlene Versuch nicht reicht?
 

Mostly_Harmless

Aktives Mitglied
Nö, spricht nichts dagegen. Ist ja schnell gemacht.
Und wenn es danach funktioniert und Du endlich anfangen kannst, Dich mit JSF zu beschäftigen, dann lohnt sich der Aufwand auf jeden Fall.
 

wbott@freenet.d

Aktives Mitglied
so, jetzt hab ich tomcat7 und die neueste Version von eclipse neu installiert.
Alles in neuen Verzeichnissen ohne irgendwelche Reste von vorherigen Installationen.
Verwendet habe ich, wie empohlen, tomcat-7.0.27-preconfigured.zip.
Ich habe mich Punkt für Punkt an die Empfehlungen aus Tutorial: Configuring & Using Apache Tomcat 7 and Apache Tomcat 6 und deren Reihenfolge gehalten und nun wird in eclipse der Server unten auch
angezeigt.
Soweit ok, ABER: Tomcat läßt sich nicht starten (Siehe Hardcopy)

Liegt dies an Web.xml und server.xml?
 

Anhänge

  • Unbenannt.JPG
    Unbenannt.JPG
    44,9 KB · Aufrufe: 37
  • Tomcat.JPG
    Tomcat.JPG
    51,1 KB · Aufrufe: 32

wbott@freenet.d

Aktives Mitglied
wenn ich díe Verzeichnisstruktur des alten Workspace mit Tomcat6 vergleiche mit dem neuen Workspace fällt natürlich sofort auf, dass in der neuen Umgebung die Konfigurationsfiles fehlen.

Stellt sich nur die Frage wie oder bei welcher Gelegenheit diese Files erstellt werden oder ob man
die zu Fuß importieren muss? In der Anleitung ist ja nur die Rede vom ROOT-Verzeichnis.
 

Anhänge

  • Server unter Tomcat6.JPG
    Server unter Tomcat6.JPG
    17,3 KB · Aufrufe: 30
  • Server unter Tomcat7.JPG
    Server unter Tomcat7.JPG
    11,1 KB · Aufrufe: 18

wbott@freenet.d

Aktives Mitglied
Guten Morgen,
habe nun einen weiteren Server angelegt und siehe da, die ganzen Konfig-Einträge wurden
automatisch angelegt. Ich weiss nicht warum es beim Ersten Mal nicht funktionieren wollte.

Habe nun das jsf-blank und das test-app -Projekt importiert. Funktionieren soweit.

Nun wird ein Kapitel "Installing JSF 2.0" aufgerufen, in dem empfohlen wird Mojarra oder MyFaces
zu installieren, ist das notwendig, JSF 2.0 ist doch bereits enthalten oder?

Oder liegt dies daran, dass in dem Getting-Started empfohlen wird Java SE zu installieren.
Warum wird eigentlich nicht JEE empfohlen (war bei mir bereits installiert)?
 
Zuletzt bearbeitet:

Mostly_Harmless

Aktives Mitglied
Nun wird ein Kapitel "Installing JSF 2.0" aufgerufen, in dem empfohlen wird Mojarra oder MyFaces
zu installieren, ist das notwendig, JSF 2.0 ist doch bereits enthalten oder?

Ja, das Kapitel kannst du überspringen, da jsf-blank die benötigten jars schon enthält.
Steht auch auf Seite 9 des Tutorials:

  • Use jsf-blank as starting point for your own JSF 2.0 apps. App
    already has:
    • The two needed JAR files in WEB-INF/lib
  • Also the two optional but recommended JSTL 1.2 JAR files
    • The needed entries in WEB-INF/web.xml
    • A JSF 2.0 compliant WEB-INF/faces-config.xml file
  • Skip the rest of this tutorial
    • And move on to sections on specific JSF 2 features.
 

wbott@freenet.d

Aktives Mitglied
ich muß mich an dieser Stelle noch einmal herzlich bedanken für Deine Geduld.

Nun hab ich also eine laufende Umgebung, das blank-Project läuft, Tomcat läuft und die Server werden im Unterschied zur Ausgangsinstallation auch angezeigt.

Ich habe mein kleines Übungsprojekt aus dem alten Workspace als War-File exportiert und
im neuen Workspace mit Ziel Tomcat 7 als Server importiert.
Die Projekt-Struktur wurde auch schön aufgebaut, aber, es wäre sonst auch zu einfach gewesen, ich bekomme nun bei der Ausführung einer JSP Fehler (HTTP Status 500).

Hier die Ausgabe auf der Console
Java:
28.08.2012 08:25:38 org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.6.0_25\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;c:/Program Files/Java/jdk1.6.0_25/bin/../jre/bin/server;c:/Program Files/Java/jdk1.6.0_25/bin/../jre/bin;c:/Program Files/Java/jdk1.6.0_25/bin/../jre/lib/amd64;D:\Anwendungen\Oracle10g\app\oracle\product\10.2.0\server\bin;c:\Program Files\Java\jdk1.6.0_25\bin;c:\Program Files\Java\jdk1.6.0_25\lib;c:\Program Files\Java\jre6\bin;c:\Program Files\Java\jre6\lib;c:\Programme\java\glassfish3\glassfish\modules;c:\Program Files\apache-tomcat-7.0.8\bin;c:\Program Files\Java\apache-ant-1.8.2\bin;C:\Programme\Java\persistence-2_0;C:\Programme\Java\Hibernate;C:\Programme\Java\jre6\bin;C:\Programme\Java\sqljdbc_2.0\deu;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\EgisTec MyWinLocker\x86;C:\Program Files (x86)\EgisTec MyWinLocker\x64;;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;D:\Eclipse_Workspace\wbo\bin;D:\Eclipse_Workspace\wbo\src;D:\Anwendungen\eclipse;
28.08.2012 08:25:39 org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNUNG: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:jsf-blank' did not find a matching property.
28.08.2012 08:25:39 org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNUNG: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:WebWboJsf' did not find a matching property.
28.08.2012 08:25:39 org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-80"]
28.08.2012 08:25:39 org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
28.08.2012 08:25:39 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1334 ms
28.08.2012 08:25:39 org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
28.08.2012 08:25:39 org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.27
28.08.2012 08:25:40 org.apache.catalina.util.SessionIdGenerator createSecureRandom
INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [109] milliseconds.
28.08.2012 08:25:40 org.apache.catalina.core.StandardContext addApplicationListener
INFO: The listener "com.sun.faces.config.ConfigureListener" is already configured for this context. The duplicate definition has been ignored.
28.08.2012 08:25:40 com.sun.faces.config.ConfigureListener contextInitialized
INFO: Mojarra 2.0.3 (FCS b03) für Kontext '/WebWboJsf' wird initialisiert.
28.08.2012 08:25:42 com.sun.faces.spi.InjectionProviderFactory createInstance
INFO: JSF1048: PostConstruct/PreDestroy-Annotationen vorhanden.  Verwaltete Bean-Methoden, die mit diesen Annotationen markiert sind, lassen die entsprechenden Annotationen verarbeiten.
28.08.2012 08:25:43 com.sun.faces.config.ConfigureListener contextInitialized
INFO: Mojarra 2.0.3 (FCS b03) für Kontext '/jsf-blank' wird initialisiert.
28.08.2012 08:25:44 com.sun.faces.spi.InjectionProviderFactory createInstance
INFO: JSF1048: PostConstruct/PreDestroy-Annotationen vorhanden.  Verwaltete Bean-Methoden, die mit diesen Annotationen markiert sind, lassen die entsprechenden Annotationen verarbeiten.
28.08.2012 08:25:45 com.sun.faces.config.ConfigureListener$WebConfigResourceMonitor$Monitor <init>
INFO: Monitoring jndi:/localhost/jsf-blank/WEB-INF/faces-config.xml for modifications
28.08.2012 08:25:45 org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-80"]
28.08.2012 08:25:45 org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
28.08.2012 08:25:45 org.apache.catalina.startup.Catalina start
INFO: Server startup in 5837 ms
28.08.2012 08:25:46 org.apache.jasper.compiler.TldLocationsCache tldScanJar
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
28.08.2012 08:25:48 org.apache.catalina.core.StandardWrapperValve invoke


SCHWERWIEGEND: Servlet.service() for servlet [jsp] in context with path [/WebWboJsf] threw exception [An exception occurred processing JSP page /jsp/addressList.jsp at line 7

4: <html>
5: <body>
6: <%-- Dieser Tag bildet den Rahmen für weitere JSF Tags --%>
7: <f:view>
8: 
9:    <%-- Pendant zum HTML-Tag <form>, welches mit einer JavaBean verknüpft ist --%>
10:    <h:form id="addressForm">


Stacktrace:] with root cause
java.lang.RuntimeException: Cannot find FacesContext
	at javax.faces.webapp.UIComponentClassicTagBase.getFacesContext(UIComponentClassicTagBase.java:1852)
	at javax.faces.webapp.UIComponentClassicTagBase.setJspId(UIComponentClassicTagBase.java:1669)
	at org.apache.jsp.jsp.addressList_jsp._jspx_meth_f_005fview_005f0(addressList_jsp.java:117)
	at org.apache.jsp.jsp.addressList_jsp._jspService(addressList_jsp.java:91)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:662)

Vielleicht hast Du nochmal einen Tipp für mich?
 
Zuletzt bearbeitet:

wbott@freenet.d

Aktives Mitglied
Hi,
ne das geht nicht (ich hab die 8080 weggelassen, weil es mit 80 konfiguriert ist):

SCHWERWIEGEND: Servlet.service() for servlet [Faces Servlet] in context with path [/WebWboJsf] threw exception [null source] with root cause
java.lang.IllegalArgumentException: null source
 

Mostly_Harmless

Aktives Mitglied
Dann poste mal bitte die faces-config.xml und web.xml. Hab grad keine Idee, woran es sonst liegen könnte.
Ich kenne mich aber auch mit war-Files noch nicht wirklich aus.
 

wbott@freenet.d

Aktives Mitglied
Grüss Dich, mach ich gerne, würde schon gerne wissen wo der Fehler steckt.
Ich habe inzwischen verschiedene Sachen ausprobiert und festgestellt, dass die Sachen in dem alten Workspace laufen. Das heißt mit neuer eclipse-Installation und altem Workspace mit Tomcat6 habe ich keine Fehler. Verwende ich aber den neuen Workspace, in dem ich das Projekt importiert habe, bekomme ich die Fehler von weiter oben.

hier die web.xml:

[XML]<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>WebWboJsf</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<context-param>
<description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>client</param-value>
</context-param>
<context-param>
<param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
<param-value>resources.application</param-value>
</context-param>
<context-param>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.xhtml</param-value>
</context-param>
<context-param>
<param-name>facelets.DEVELOPMENT</param-name>
<param-value>true</param-value>
</context-param>
<listener>
<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
</listener>
</web-app>[/XML]


hier die faces-config.xml

[XML]<?xml version="1.0" encoding="UTF-8"?>

<faces-config
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
version="2.0">

<!-- Definition der unterstützten Locales -->
<application>
<locale-config>
<default-locale>de</default-locale>
<supported-locale>en</supported-locale>
</locale-config>
<resource-bundle>
<base-name>resources.application</base-name>
<var>msg</var>
</resource-bundle>
<message-bundle>resources.application</message-bundle>
</application>

<!-- Definition des Workflows in Form von Navigationsregeln -->
<navigation-rule>
<navigation-case>
<from-outcome>listAddresses</from-outcome>
<to-view-id>/jsp/addressList.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>editAddress</from-outcome>
<to-view-id>/jsp/addressDetail.jsp</to-view-id>
</navigation-case>
</navigation-rule>

<!-- Einbinden des Adress-Controllers
<managed-bean>
<managed-bean-name>addressController</managed-bean-name>
<managed-bean-class>jsf.AddressController</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
-->

<!-- Einbinden eines eigenen Validators -->
<validator>
<validator-id>eMailValidator</validator-id>
<validator-class>jsf.EmailValidator</validator-class>
</validator>
</faces-config>[/XML]

danke für Deine Mühe
 

wbott@freenet.d

Aktives Mitglied
So ganz langsam verliere ich die Lust an dem Sch....
Heute Früh ruf ich eclipse auf und finde den src-Folder nicht mehr...
In der Java-Sicht ist dieser vorhanden, in der Java EE-Sicht nicht mehr...
Was is nu wieder los?

Das soll verstehen wer will, ich frage mich drei mal die Woche, welche Sache mich wohl das nächste Mal wieder erwartet, ich komme aus dem Midrange-Bereich, ich kenne so launische Umgebungen nicht.
Was heute geht, geht auch Morgen, daran verschwende ich normalerweise überhaupt keinen Gedanken.

sorry, das musste ich jetzt mal los werden.
 

Nogothrim

Aktives Mitglied
ka was genau das Problem ist, was mir gerad so auffällt, diesen ConfigureListener in der web.xml hab ich noch nie gesehen, der ist unnötig, vllt sogar kontraproduktiv. Du verwendest JSF, hast auch das JSF Servlet auf *.jsf gemappt, aber in der navigation-config tauchen jsp Seiten auf, warum?
 

wbott@freenet.d

Aktives Mitglied
nun, ich habe mich zuerst mit jsp beschäftigt und wollte dann jsf verwenden und vergleichen.
Der Session-Listener blieb von dem JSP-Beispiel übrig. Ich hab den jetzt mal auskommentiert.
 

Ähnliche Java Themen

Neue Themen


Oben