Em relação ao método FileSaver tenho duas dúvidas:
1) o que foi codificado na aula não funciona, pois o arquivo não é gravado no diretório criado dentro da pasta webapp. Vi em outro tópico uma solução alternativa, de gravar em outra pasta qualquer do computador. No entanto, gostaria de saber se há alguma solução para gravar dentro de alguma pasta da própria aplicação;
2) quando faço upload, para dois livros diferentes, de um arquivo que tenha o mesmo nome de algum que já tenha feito upload antes, o anterior é sobrescrito na pasta de upload. Acredito que a solução seria dar um nome único para o arquivo gravado e guardar o nome original para o caso de ser necessário fazer download dele. Há alguma ferramenta para gerar nomes únicos para os arquivos?