2011-11-30 144 views
0

我有完全相同的問題,但由BalusC提供的Run JSF project on Apache Tomcat解決方案對我來說不起作用。問題開始後,我添加jar的文件上傳tomahawk-1.1.10.jar,commons-fileupload-1.2.2.jar,commons-io-1.4.jar,commons-logging-1.1.1.jar,commons-el.jar並在web.xml中設置過濾器。試圖刪除jar的項目,並恢復在添加之前的狀態,但仍然無法正常工作。有任何想法嗎 ?tomcat無法啓動項目名/ index.jsp

我使用JSF 1.2和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>iProJournal</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>/faces/*</url-pattern> 
</servlet-mapping> 
    <filter> 
    <filter-name>extensionsFilter</filter-name> 
    <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class> 
    <init-param> 
     <description>Set the size limit for uploaded files. 
     Format: 10 - 10 bytes 
     10k - 10 KB 
     10m - 10 MB 
     1g - 1 GB 
    </description> 
     <param-name>uploadMaxFileSize</param-name> 
     <param-value>100m</param-value> 
    </init-param> 
    <init-param> 
     <description>Set the threshold size - files below this 
     limit are stored in memory, files above this limit 
     are stored on disk. 
        Format: 10 - 10 bytes 
        10k - 10 KB 
        10m - 10 MB 
        1g - 1 GB 
    </description> 
     <param-name>uploadThresholdSize</param-name> 
     <param-value>100k</param-value> 
    </init-param> 
</filter> 
<filter-mapping> 
    <filter-name>extensionsFilter</filter-name> 
    <url-pattern>*.jsp</url-pattern> 
</filter-mapping> 
<filter-mapping> 
    <filter-name>extensionsFilter</filter-name> 
    <url-pattern>/faces/*</url-pattern> 
</filter-mapping> 
</web-app> 

我設法讓我的項目早在狀態時,它是將這些文件之前,它開始工作,但我不是託是什麼造成問題。這是我現在使用

<?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>iProJournal</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>/faces/*</url-pattern> 
</servlet-mapping> 
</web-app> 
+1

您使用的是JSF 1.x還是2.x?顯示最小的'web.xml',它仍然會重現你的問題。 – BalusC

回答

0

擴展過濾器不應在*.jsp文件映射web.xml中。它只應該映射到JSF請求。我建議儘可能使用不同的映射,這樣您就不必擔心實際要過濾的servlet的URL。卸下兩個過濾器映射,並使用這個來代替:

<filter-mapping> 
    <filter-name>extensionsFilter</filter-name> 
    <servlet-name>Faces Servlet</servlet-name> 
</filter-mapping> 

現在只要調用FacesServlet就會被調用。

如果這仍然不起作用(也不是在你放置在/WEB-INF/lib的戰斧庫),那麼你需要讀取服務器啓動日誌。

+0

感謝這爲我工作 – majk