2012-04-23 16 views
0

私は現時点でWebアプリケーションを開発中です。私は風穴6でJSF 2を使用しています。 すべてがうまくいったけど、今は自分のページをナビゲートしたい...(I decided to do an XML-less JSF Navigation approach)。このためにfaces-config.xmlを追加する必要があります。私はそれをしましたが、faces-configを追加した後、私は自分のページを開くときにいつもエラーが発生します。起動時のWebアプリケーションでfaces-configが例外になる

SCHWERWIEGEND: Servlet.service() for servlet Faces Servlet threw exception 
    java.lang.StackOverflowError 
     at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:216) 
... 

私は顔-config設定すべてが素晴らしい作品削除(しかし、私は:(何のナビゲーションを持っていない)場合はここで

は私のMavenの依存関係がある:。 com.sun.faces JSF-API 2.1.2 com.sun.faces JSF-IMPL 2.1.2 のjavax.servlet JSTL 1.2 javax.servlet.jspのJSP-API 2.2 org.glassfish.webエルIMPL 2.2

そしてここでは、私の顔-configです。 xml

アプリケーションがクラッシュした理由
<?xml version="1.0" encoding="utf-8"?> 
<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xi="http://www.w3.org/2001/XInclude" 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_1_2.xsd"> 

    <application> 
     <navigation-handler>de.xxx.jsf.client.navigation.XXXNavigationHandler</navigation-handler> 
    </application> 
</faces-config> 

そして、ここでは私のweb.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>JavaServerFaces</display-name> 

    <!-- Change to "Production" when you are ready to deploy --> 
    <context-param> 
     <param-name>javax.faces.PROJECT_STAGE</param-name> 
     <param-value>Development</param-value> 
    </context-param> 
    <context-param> 
     <param-name>com.sun.faces.injectionProvider</param-name> 
     <param-value>de.xxx.jsf.client.guice.GuiceInjectionProvider</param-value> 
    </context-param> 

    <!-- Welcome page --> 
    <welcome-file-list> 
     <welcome-file>faces/hello.xhtml</welcome-file> 
    </welcome-file-list> 

    <!-- JSF mapping --> 
    <servlet> 
     <servlet-name>Faces Servlet</servlet-name> 
     <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

    <!-- Map these files with JSF --> 
    <servlet-mapping> 
     <servlet-name>Faces Servlet</servlet-name> 
     <url-pattern>/faces/*</url-pattern> 
    </servlet-mapping> 

    <servlet-mapping> 
     <servlet-name>Faces Servlet</servlet-name> 
     <url-pattern>*.xhtml</url-pattern> 
    </servlet-mapping> 

</web-app> 

であるあなたの誰でも知っていますか?

Thxで事前に!

TJ

+1

あなたがそこにリンクされたXMLレスナビゲーション記事は(JSF 2.xのは、2009年12月に導入しながら2008年11月に書かれた)JSF 1.xの上で目標とされ、後に、既に標準に引き継がれることに注意してくださいJSF 2.0 API!その記事を無視してカスタムナビゲーションハンドラを削除し、[暗黙的なナビゲーション]の新しいJSF 2.0組み込み機能を利用するだけです(http://balusc.blogspot.com/2011/09/communication-in-jsf-20.html#ImplicitNavigation) 。ここでも、JSF 1.xの対象記事にあまり集中しないように注意してください。 JSF 2.xでは、多くのことが異なってより洗練されています。 – BalusC

答えて

2

あなたのfaces-config.xmlヘッダーがまだ1.2 DTDを指しています。これにより予期しないエラーが発生する可能性があります。私は2.0 DTDにそれを更新してみることをお勧めします。

<?xml version='1.0' encoding='UTF-8'?> 

<faces-config version="2.0" 
    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"> 
+0

それは速かった! THXは解決策です。盲目であることを祈って) – TerenceJackson

+0

そのok。経験から学びました(私は問題を引き起こしていることを知るために1日を過ごしました)。喜んで私の経験は誰かを助けました。 – kosa

関連する問題