en fait, ta jsp renvoie l'adresse du fichier (ou l'url) a une servlet (avec un formulaire).
Cette servlet va créer un File à partir de cette url en récupérant le nom avec un session.getParameter.
Apres, tu cree un nouveau fichier sur ton serveur (new File).
Tu ouvres un FileOutputStream sur le fichier sur le disque et un FileInputStream suivi d'un DataInputStream sur ton fichier dont tu a recu l'url.
Il te reste juste a créer un byte[] temporaire pour transferer les données du datainputstream au fileoutputstream de cette facon:
fichier est le fichier créé au début:
byte[] tab = new byte[(int)fichier.length()];
FileInputStream fi = new FileInputStream(fichier);
DataInputStream di = new DataInputStream(fi);
di.readFully(tab, 0, (int)fichier.length());
fo.write(tab);
voila, oublies pas de fermer les flux et ca doit etre bon.