Make servlet work in background

匿名 (未验证) 提交于 2019-12-03 02:29:01

问题:

I have a file uploading sevlet, and the UI on my JSP.

<form method="post" action="mygeco" enctype="multipart/form-data" style="position: absolute; left: 30%; bottom: 2%;"> <input type="file" name="dataFile" id="fileChooser" />&nbsp; <input type="submit" value="Upload" multiple="multiple" /> </form> 

The file uploading is done on my dopost method, and I have other code in mind for my doget() method so, when the user presses upload button on my jsp page I want the uploading to happen in background while the user stays on the jsp page and return an alert when the uploading is done, how do I do this?

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException  {     // TODO Auto-generated method stub                  boolean isMultipart = ServletFileUpload.isMultipartContent(request);         response.setContentType("text/html");          if (isMultipart)        {             // Create a factory for disk-based file items             FileItemFactory factory = new DiskFileItemFactory();             // Create a new file upload handler             ServletFileUpload upload = new ServletFileUpload(factory);             try            {                 // Parse the request                 List items = upload.parseRequest(request);                 Iterator iterator = items.iterator();                 System.out.println("starting saver");               while (iterator.hasNext())                {                     FileItem item = (FileItem) iterator.next();                     if (!item.isFormField())                     {                         String fileName = item.getName();                             String root = getServletContext().getRealPath("/");                         File path = new File("/u/poolla/workspace/FirstServlet/");                         if (!path.exists())                         {                             boolean status = path.mkdirs();                         }                         File uploadedFile = new File(path + "/" + fileName);                         System.out.println(uploadedFile.getAbsolutePath());                     if(fileName!="")                         item.write(uploadedFile);                     else                     System.out.println("file not found");                     System.out.println("<h1>File Uploaded Successfully....:-)</h1>");                 }                 else                 {                     String abc = item.getString();                     System.out.println("<br><br><h1>"+abc+"</h1><br><br>");                 }             }         }        catch (FileUploadException e)        {             System.out.println(e);         }        catch (Exception e)        {             System.out.println(e);         }     }     else     {         System.out.println("Not Multipart");     }   }    } 

回答1:

You can use Ajax for that,

upload file via Ajax Call,

http://abandon.ie/notebook/simple-file-uploads-using-jquery-ajax



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!