By using Apache common jar, the sample code will be like this
if(ServletFileUpload.isMultipartContent(request)){
try {
List<FileItem> multiparts = new ServletFileUpload(
new DiskFileItemFactory()).parseRequest(request);
for(FileItem item : multiparts){
if(!item.isFormField()){
String name = new File(item.getName()).getName();
item.write( new File(UPLOAD_DIRECTORY + File.separator + name));
}
}
//File uploaded successfully
request.setAttribute("message", "File Uploaded Successfully");
} catch (Exception ex) {
request.setAttribute("message", "File Upload Failed due to " + ex);
}
}
Have a look at File Upload Servlet for complete code snippet
File upload with AJAX :AJAX file upload
EDIT
Calling javascript from servlet:
request.getRequestDispatcher("/some.jsp").forward(request,response)
In this jsp, just call Javascript.
But this is not a good design. Servlet is executing at server and Javascript is executing at client end. If you want to upload file from your local machine, you can use File Upload Utility of Java Or Javascript. Calling Javascript from Servlet is not right thing.