2013-08-02 81 views
0

我對如何解決這個問題感到困惑。我在用戶選擇文件後立即上載文件到servlet。然後servlet讀取文件並填寫表單。我在上傳部分遇到問題。我將列出我一步一步做的事,希望你能跟上,並找到任何問題。我正在學習本教程:http://docs.oracle.com/javaee/6/tutorial/doc/glraq.html使用Ajax將文件上傳到Servlet

我首先必須解決如何使用ajax請求設置enctype =「multipart/form-data」。我能夠通過使用setRequestHeader來解決這個問題。我的JS變成了:

$.ajax({ 
      type: "POST", 
      url: "GenerateServlet", 
      data: "button="+filename, 
      beforeSend: function(xhr) {xhr.setRequestHeader('Content-Type', 'multipart/form-data');}, 
      success: function(jsonResponse) {fillTemplate(jsonResponse);}, 
      error: function(jqXHR, textStatus, errorThrown) {alert(jqXHR+" - "+textStatus+" - "+errorThrown);} 
      }); 

好吧很酷我解決了這個問題,現在我創建了processRequest函數。但是,它沒有被調用。我的doPost方法被調用,所以我知道它至少正在運行我提出的請求。

從這裏我不確定我是否在我的servlet中缺少某些東西,或者我的ajax請求是錯誤的。 我試過加入:

@WebServlet(name = "FileUploadServlet", urlPatterns = {"/upload"}) 
@MultipartConfig 

但是,eclipse無法識別它們的類型。

任何人都知道問題可能是什麼?

+1

這個問題似乎是脫離主題,因爲它太本地化了。 – BalusC

回答

0

沒關係,我認爲processRequest方法在上傳文件時被servlet自動調用。我是個白癡。