# Probleme bei einbinden von RichFaces.



## quadro (30. Nov 2007)

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:


```
...
...
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)


```
...
...
<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...!

*****


----------



## happy_robot (30. Nov 2007)

nimm das mal ersatzweise raus


```
<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)!


----------



## quadro (3. Dez 2007)

Also das hat auch nicht funktioniert, Fehlermeldung vom Server bleibt die gleiche. Vielleicht hilfts, wenn ich noch mal die Index.jsp poste...


```
<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 


```
<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!

*****


----------



## y0dA (3. Dez 2007)

Also bei mir siehts in der web.xml so aus:

```
<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>
```


----------



## quadro (3. Dez 2007)

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....


----------



## y0dA (3. Dez 2007)

Klar kann ich dir ein kl. Testprojekt schicken - wo u wie hättest dus denn gerne


----------



## quadro (3. Dez 2007)

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!

*****


----------



## y0dA (3. Dez 2007)

Bei Unklarheiten, frag einfach nach.


----------



## happy_robot (3. Dez 2007)

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.


----------



## quadro (4. Dez 2007)

Problem ist gelöst!

Der Fehler:


```
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.



```
<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!

*****


----------



## quadro (4. Dez 2007)

@ 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!

*****


----------

