我对如何解决这个问题感到困惑。在用户选择文件后,我立即将文件上传到servlet。然后servlet读取文件,并填写表单。我在上传部分时遇到问题。我将逐步列出我所做的事情,以便您可以关注,并在途中发现任何问题。我正在学习本教程:http://docs.oracle.com/javaee/6/tutorial/doc/glraq.html
我首先必须解决如何使用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无法识别他们的类型。
任何人都知道问题可能是什么?
答案 0 :(得分:0)
没关系,我以为在上传文件时servlet会自动调用processRequest方法。我是个白痴。