Probleme bei einbinden von RichFaces.

Status
Nicht offen für weitere Antworten.

quadro

Aktives Mitglied
Hi Leute,
wollte mal fragen ob mir jemand nen Tip geben kann was bei mir der Fehler ist. Ich probiere RichFaces Komponenten zu nutzen, scheitere aber schon beim einbinden....

Meine Fehlermeldung sieht in etw so aus:

Code:
...
...
SCHWERWIEGEND: Exception starting filter richfaces
java.lang.IllegalStateException: Filter mapping for chameleon filter richfaces do not contain wilcard prefix or suffix
	at org.ajax4jsf.webapp.WebXml.setFilterName(WebXml.java:408)
	at org.ajax4jsf.webapp.WebXml.init(WebXml.java:164)
	at org.ajax4jsf.resource.InternetResourceService.init(InternetResourceService.java:133)
	at org.ajax4jsf.webapp.BaseFilter.init(BaseFilter.java:148)
	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:221)
	at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:302)
	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:78)
	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3635)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4222)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
	at org.apache.catalina.core.StandardService.start(StandardService.java:448)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)

Mein Projekt läuftsweit, also die Funktionalität, die für den Anfang reichen soll ist implemntiert, will das oder muss das jetzt "schicker" machen... 😉

Meine web.xml sieht so aus... (Auszug)

Code:
...
...
<context-param>
<param-name>org.richfaces.SKIN</param-name>
<param-value>blueSky</param-value> 
</context-param>

<filter>
<display-name>RichFaces Filter </display-name>
<filter-name>richfaces</filter-name>
<filter-class>org.ajax4jsf.Filter</filter-class>
</filter>
 
  
  <servlet>
    <servlet-name>FacesServlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

  
  <servlet-mapping>
    <servlet-name>FacesServlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
  </servlet-mapping>
  

  <servlet-mapping>
    <servlet-name>FacesServlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
  </servlet-mapping>

    <welcome-file-list>
      <welcome-file>index.jsp</welcome-file>
      <welcome-file>index.html</welcome-file>
    </welcome-file-list>

Beim "einbinden" des Filters hört der spass leider aus und steig mit oben genannter Fehlermeldung aus. Die richfaces.jar's liegen in WEB-INF/lib wo sie, denke ich auch hingehören. Also zugreifen auf die jars tut eclipse ja, da ich gemerkt habe, das der "SKIN" geladen wird...

Kann mir einer helfen, bzw. nen oder DEN Tipp geben, habe mich schon zu tode gesucht, leider ohne Ergebniss, muss an was total dummen liegen denke ich...!

Danke Leute...!

*****
 
nimm das mal ersatzweise raus

Code:
<servlet-mapping>
    <servlet-name>FacesServlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
  </servlet-mapping>

sollte dann funktionieren.

rufe die seiten dann auch mit ".jsf" am ende auf (also nicht mit .jsp oder so)!
 
Also das hat auch nicht funktioniert, Fehlermeldung vom Server bleibt die gleiche. Vielleicht hilfts, wenn ich noch mal die Index.jsp poste...

Code:
<html>
    <body>
        <jsp:forward page="faces/pages/login/login.jspx" />
    </body>
</html>


Die vorwarded auf eine .jspx Datei, die das Loginregelt.

Sobald ich aber die Zeilen mit dem mapping auf

Code:
<servlet-mapping>
    <servlet-name>FacesServlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
  </servlet-mapping>

aus der web.xml lösche findet der "Browser" keine Datei mehr. Fehler 404 🙂

Irgendwie ist hier was mit dem Mapping scheisse... Vielleicht noch jemand hinweise? Das macht mich ganz irre hier 🙁


Danke vielmals!

*****
 
Also bei mir siehts in der web.xml so aus:
Code:
<context-param> 
	  <param-name>org.ajax4jsf.SKIN</param-name> 
	  <param-value>blueSky</param-value> 
	</context-param> 
	<filter> 
	  <display-name>Ajax4jsf Filter</display-name> 
	  <filter-name>ajax4jsf</filter-name> 
	  <filter-class>org.ajax4jsf.Filter</filter-class> 
	</filter> 
	<filter-mapping> 
	  <filter-name>ajax4jsf</filter-name> 
	   <servlet-name>Faces Servlet</servlet-name>
	   <dispatcher>REQUEST</dispatcher>
	   <dispatcher>FORWARD</dispatcher>
	   <dispatcher>INCLUDE</dispatcher>
	</filter-mapping>
 
Hi y0dA,
irgendwie zerfliegts mir dann noch mehr. Habe irgendwie keinen Plan, was hier schief läuft. Hast Du nen Projekt am laufen, was Du mir schicken kannst, damit ich mal vergleichen kann, welche .jars etc. am Start sein müssen? Muss ja keinen Inhalt haben, nur um die Struktur zu sehen.. Das wäre super!

Wenn nicht kann ich auch noch mal mein komplettes Projekt (Struktur) posten....
 
Am liebsten persönlich... Bin im Exil in der Schweiz, istn Problem?!?

Nene also per Mail wäre super... 🙂


wavef2 [at] freenet.de

Vielen Dank!

*****
 
wie wärs den wenn du mal die taglibs importierst :lol:

woher soll er denn wissen was er wo aus welchem tag machen soll?
das filter-mapping das ich dir gepostet habe sollte stimmen und auch ausreichen.

du solltest auch mal versuchen deine login.seite direkt anzusprechen, statt forward.

generelle aussagen zu den richfaces sind zudem recht schwierig da dort gerade sehr viel passiert und die versionen zum teil äusserst unterschiedlich sind.

poste mal deine versionen. da gibts es kombinationen die nicht laufen, oder auch versionskombinationen die zwingend erfoderlich sind.
 
Problem ist gelöst!

Der Fehler:

Code:
SCHWERWIEGEND: Exception starting filter richfaces
java.lang.IllegalStateException: Filter mapping for chameleon filter richfaces do not contain wilcard prefix or suffix

kam anscheinend daher, das es kein "prefix-mapping" gab... Kann halt auch sein, das ich irgendwo in der web.xml nen Mapping habe, was das einbinden der richfaces komplizierter gemacht hat. Keine Ahnung, funktioniert allerdings jetzt mit folgendem Eintrag in der web.xml.


Code:
<context-param>
        <param-name>org.richfaces.SKIN</param-name>
        <param-value>blueSky</param-value>
    </context-param>
    
      <filter> 
        <display-name>RichFaces Filter</display-name> 
        <filter-name>richfaces</filter-name> 
        <filter-class>org.ajax4jsf.Filter</filter-class> 
    </filter> 
    
    <filter-mapping> 
        <filter-name>richfaces</filter-name> 
        <url-pattern>/*</url-pattern>
    </filter-mapping>

Falls hier noch jemand schwierigkeiten sieht, kann das ruhig gepostet werden, aber zumindest kann ich jetzt die Komponenten nutzen...!


Vielen Dank noch mal für Eure Hilfe!

*****
 
@ happy robot

was sind denn die schwierigkeiten mit dem vorwarding?!? Gibts da nen Grund auf diese Vorgehensweise zu verzichten? Bin in dem ganzen Kram hier noch nicht so fitt, daher immer offen für Anregungen und Hinweise. Naja aber so langsam bekomme ich die Sachen aber ans laufen, aber der Anfang sich durch das Jsp-Jsf-Chaos zu kämpfen ist echt ganz schööööön elend...!

Thx!

*****
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben