You've explicitly configured the file upload filter to listen on FORWARD
dispatcher only.
You need either to remove the following entry from the filter mapping so that it listens by default on the REQUEST
dispatcher only:
FORWARD
Or, to add the REQUEST
dispatcher to the filter mapping so that it would run on normal requests as well:
REQUEST
FORWARD
The FORWARD
dispatcher is only mandatory when RequestDispatcher#forward() is been called before the filter is invoked. For example, by some URL rewriting solution such as PrettyFaces. The information provided so far in the question does however not seem to indicate in any way that you're using that.
Unrelated to the concrete problem, as the PrimeFaces file upload requires Apache Commons IO, you may want to consider to IOUtils#copy()
instead of that verbose input/output stream loop. See also: How to save uploaded file in JSF.