文件上传过滤器的JSF配置(JSF Configuration of the file upload

2019-07-03 18:46发布

我想用FileUpload组件。 当我从primefaces用户指南阅读,我必须配置文件上传过滤器。

<filter>
    <filter-name>PrimeFaces FileUpload Filter</filter-name>
    <filter-class>
        org.primefaces.webapp.filter.FileUploadFilter
    </filter-class>
</filter>
<filter-mapping>
    <filter-name>PrimeFaces FileUpload Filter</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
</filter-mapping>

我添加这些线(由引导建议的)到web.xml文件。

现在,当服务器(Tomcat的7)开始,我得到一个异常,服务器无法启动。 我会后堆栈跟踪的一部分。

GRAVE: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/webApp]]
at java.util.concurrent.FutureTask$Sync.innerGet(Unknown Source)
at...
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItemFactory
at....
Caused by: java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileItemFactory

这是过滤器的配置有用吗? 我如何配置得当?

Answer 1:

所述PrimeFaces用户指南(第14页)列出了所需要的依赖p:fileUpload

  • 公地文件上传
  • 公地IO

看来你是缺少第一依赖。

您可以下载,并把这些文件到/WEB-INF/lib或-如果你的项目是一个Maven项目-添加下面的依赖关系到你pom.xml<dependencies>部分:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-io</artifactId>
    <version>1.3.2</version>
</dependency>
<dependency>
    <groupId>commons-fileupload</groupId>
    <artifactId>commons-fileupload</artifactId>
    <version>1.2.2</version>
</dependency>

版本可能不同,目前我有这在我的pom.xml



文章来源: JSF Configuration of the file upload filter