2012-04-10 63 views
3

我正在嘗試將我的應用程序從jsf 1.2遷移到2.1。我寫了一個示例facelet頁面,並試圖訪問它。獲得以下例外。不知道是什麼原因導致此問題。如果只執行這個頁面(通過刪除與我的項目相關的所有代碼和庫,這個頁面正確渲染)。任何有關可能導致此問題的幫助都將非常有幫助。Faces Servlet引發異常:java.lang.IllegalStateException

Servlet.service() for servlet Faces Servlet threw exception: java.lang.IllegalStateException: Header count exceeded allowed maximum: 128 
    at org.apache.tomcat.util.http.MimeHeaders.createHeader(MimeHeaders.java:329) [jbossweb-7.0.10.Final.jar:] 
    at org.apache.tomcat.util.http.MimeHeaders.addValue(MimeHeaders.java:347) [jbossweb-7.0.10.Final.jar:] 
    at org.apache.coyote.Response.addHeader(Response.java:351) [jbossweb-7.0.10.Final.jar:] 
    at org.apache.catalina.connector.Response.addHeader(Response.java:1110) [jbossweb-7.0.10.Final.jar:] 
    at org.apache.catalina.connector.ResponseFacade.addHeader(ResponseFacade.java:502) [jbossweb-7.0.10.Final.jar:] 
    at javax.servlet.http.HttpServletResponseWrapper.addHeader(HttpServletResponseWrapper.java:202) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final] 
    at javax.servlet.http.HttpServletResponseWrapper.addHeader(HttpServletResponseWrapper.java:202) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final] 
    at javax.servlet.http.HttpServletResponseWrapper.addHeader(HttpServletResponseWrapper.java:202) 
    at javax.servlet.http.HttpServletResponseWrapper.addHeader(HttpServletResponseWrapper.java:202) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final] 
    at javax.servlet.http.HttpServletResponseWrapper.addHeader(HttpServletResponseWrapper.java:202) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final] 
    at com.sun.faces.context.ExternalContextImpl.<init>(ExternalContextImpl.java:137) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] 
    at com.sun.faces.context.ExternalContextFactoryImpl.getExternalContext(ExternalContextFactoryImpl.java:73) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] 
    at com.sun.faces.context.FacesContextFactoryImpl.getFacesContext(FacesContextFactoryImpl.java:93) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] 
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:583) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final] 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.10.Final.jar:] 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.10.Final.jar:] 
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:734) [jbossweb-7.0.10.Final.jar:] 
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:541) [jbossweb-7.0.10.Final.jar:] 
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:479) [jbossweb-7.0.10.Final.jar:] 
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:407) [jbossweb-7.0.10.Final.jar:] 
    at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:546) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] 
    at com.sun.faces.application.view.JspViewHandlingStrategy.executePageToBuildView(JspViewHandlingStrategy.java:364) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] 
    at com.sun.faces.application.view.JspViewHandlingStrategy.buildView(JspViewHandlingStrategy.java:154) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] 
    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:100) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] 
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] 
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] 
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final] 

回答

4

這個問題涉及到faces-config.xml中說明。標題應該是。

<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

有趣。我不希望這種異常發生。你最初有什麼?一個JSF 1.2嗎? – BalusC 2012-04-18 19:03:18

+0

@BalusC,是的,最初我有1.2頭。我的腦袋開裂近2天后。從EAR中刪除/添加每個文件,最後證明它是faces-config頭問題。 – kosa 2012-04-18 19:30:56

-1

包含在你的頭上元這個標籤是這樣的:

<h:head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
</h:head> 

wiki

+2

此元標記僅在最終用戶從本地磁盤文件系統打開保存的網頁時使用。即當最終用戶打開一個網頁,然後在瀏覽器中執行* File> Save *將其保存在磁盤上,然後從磁盤重新打開它。當頁面通過HTTP提供時,不會使用它。而是使用HTTP響應頭中的一個。 – BalusC 2012-04-18 19:04:43