0

我对如何处理这个问题有点困惑。用户选择文件后,我立即将文件上传到 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 无法识别它们的类型。

有谁知道可能是什么问题?

4

1 回答 1

0

没关系,我以为上传文件时servlet会自动调用processRequest方法。我是个白痴。

于 2013-08-02T15:13:22.947 回答