JBatchUpload is a JFileUpload add-on that allows end-user to select many files and folders with subfolders from a file chooser or through drag and drop. It works on the top of JFileUpload (Java applet) so files can be uploaded either to a web server or a ftp server. Broken upload could be resumed too.
JBatchUpload includes all main features of JFileUpload (on-fly compression, resume, recursive folders, large upload, filtering, and cross browsers support). However, the frontend is quite different.