【问题标题】:javax.servlet.ServletException: ExtensionsFilter not correctly configuredjavax.servlet.ServletException:未正确配置 ExtensionsFilter
【发布时间】:2013-07-08 04:02:59
【问题描述】:

我的 JSF1.2 web 应用程序遇到问题。

我在我的应用程序中使用 Tomahawk 已经很长时间了,之前从未遇到过这个错误:

javax.servlet.ServletException: ExtensionsFilter not correctly configured. Resource mapping missing. Resources cant be delivered. Please see: http://myfaces.apache.org/tomahawk/extensionsFilter.html
javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:390)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:517)
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:341)

它出现在我在我的一个 JSF 页面中添加了 <t:panelTabbedPane> 组件之后。这是一段代码:

<h:form id="uploadForm" enctype="multipart/form-data">
    <t:panelTabbedPane>
        <t:panelTab label="label1">
            //Some content.
        </t:panelTab>
        <t:panelTab label="label2">
            //More content.
        </t:panelTab>
    </t:panelTabbedPane>
</h:form>

另外,我发布了我的 web.xml 配置的一部分:

<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>5m</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>
    <init-param>
        <description>
            Set the path where the intermediary files will be stored.
        </description>
        <param-name>uploadRepositoryPath</param-name>
        <param-value>d:/temp</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>extensionsFilter</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
<filter-mapping>
    <filter-name>extensionsFilter</filter-name>
    <url-pattern>/faces/myFacesExtensionResource/*</url-pattern>
</filter-mapping>
(...)
<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>*.jsf</url-pattern>
</servlet-mapping>

我做错了吗?提前谢谢你。

【问题讨论】:

    标签: jsf web.xml jsf-1.2 tomahawk


    【解决方案1】:

    将资源的过滤器部分添加到 web.xml

    <filter-mapping>
    <filter-name>Extensions Filter</filter-name>
    <url-pattern>/faces/myFacesExtensionResource/*</url-pattern>
    

    【讨论】:

    • 感谢您的回答,但由于我不再从事该项目,我无法确认您的建议是否适合我。不过,谢谢。
    猜你喜欢
    • 2013-10-18
    • 1970-01-01
    • 2020-04-04
    • 2017-08-19
    • 2018-07-23
    • 2016-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多