2017-08-22 2 views
0

Cela me rend perplexe. Dans le code suivant, même "1" n'est pas imprimé dans la console. Si je place un point d'arrêt (en utilisant eclipse) dans la première ligne system.out, le débogueur ne le quitte jamais. Aucune exception levée. J'ai également essayé de passer un argument nul au constructeur de SFU pour le forcer à lancer une exception, mais rien ne s'est passé.Apache ServletFIleUpload gèle

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {       
     System.out.println("1"); 

     try {        
      ServletFileUpload upload = new ServletFileUpload();    
     } catch (Throwable e) { 
      throw new ServletException(e); 
     } 

     System.out.println("2"); 
} 

Et le code html

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
    <title>File Upload</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
</head> 
<body> 
    <form method="POST" action="loadFile" enctype="multipart/form-data" > 
     <input type="file" name="myFile" id="myFile" /> <br/> 
     <input type="submit" value="Upload" name="upload" id="upload" /> 
    </form> 
</body> 
</html> 

Répondre

0

essayer enlever "jette ServletException, IOException" de

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

et changer

try {        
      ServletFileUpload upload = new ServletFileUpload();    
     } catch (Throwable e) { 
      throw new ServletException(e); 
     } 

à:

try {        
      ServletFileUpload upload = new ServletFileUpload(); 
     //... rest of code 

     } catch (FileUploadException e) { 
      e.printStackTrace(); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 

Ajoutez d'autres exceptions à la clause catch, ne les lancez pas. Voilà pourquoi vous ne voyez pas ce que l'erreur est sur

aussi remarqué que le nom de votre action de formulaire est loadFile ce que cela correspond à votre nom Servlet? Les servlets ont généralement une première lettre en majuscule! Mon soupçon est que c'est le vrai problème, vous envoyez une demande de publication à une servlet que le serveur ne peut pas trouver.