Existem várias opções de componentes para upload com JSF. Para conhecer algumas delas vale a pena conferir a matriz de comparação de componentes JSF disponível no endereço http://www.jsfmatrix.net/, que tem um critério específico indicando se a biblioteca possui ou não componentes de upload.
Vamos mostrar em poucas linhas de código a implementação de upload de arquivos utilizando uma destas bibliotecas de componentes, o IceFaces. Utilizaremos também o NetBeans 6, Tomcat 6 e Java 5.
Configuração do IDE
A aplicação de exemplo deste artigo é extremamente simples, pois teremos apenas uma página JSF onde o usuário da aplicação poderá selecionar o arquivo que deseja fazer o upload. Quando o usuário fizer upload de um arquivo, o caminho completo deste arquivo será apresentado na mesma página. A Figura 1 ilustra a página que será exibida quando o usuário acessar a aplicação, e a Figura 2 ilustra a tela exibida quando o usuário clica no botão para fazer upload de um arquivo.

...