如果web.xml中有多个过滤器,则不会触发Primefaces FileUpload事件

时间:2016-03-29 11:06:34

标签: jsf file-upload primefaces servlet-filters

我有一个带有两个过滤器的web.xml文件PrimeFaces FileUpload Filter& loggedInFilter。如果我评论loggedInFilter然后FileUpload过滤器工作完全正常& FileUploadEvent被触发。如果我在web.xml中保留了两个过滤器,则不会触发FileUpoadFilter。下面是我的web.xml

<context-param>
        <param-name>primefaces.UPLOADER</param-name>
        <param-value>commons</param-value>
    </context-param>

<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>

<filter>
    <filter-name>loggedInFilter</filter-name>
    <filter-class>com.web.filter.loggedInFilter</filter-class>    
</filter>
<filter-mapping>
    <filter-name>loggedInFilter</filter-name>
    <servlet-name>*.xhtml</servlet-name>
</filter-mapping>

我曾尝试在PrimeFaces FileUpload Filter过滤器映射中包含调度程序,因为应用程序中的另一个过滤器即loggedInFilter在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>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
</filter-mapping>

有人可以建议我需要做什么,因为我需要在web.xml中保留两个过滤器吗?

1 个答案:

答案 0 :(得分:0)

我试图解决这个问题,但是对于loggedInfilter没有问题,但是pom.xml文件中存在一些依赖项问题,这些依赖项会导致触发fileUploadFilter出现问题。我纠正了依赖关系&amp;此外,通过删除调度程序来纠正过滤器映射。

    <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>