Javascript JavaServlet点击过滤器,但随后停止
我有一个未连接的jersey servlet。当我使用调试器跟踪时,我可以看到servlet的过滤器(处理请求头)被调用,但之后我丢失了跟踪,servlet本身(uploadFolder)从未被命中 HTMLJavascript JavaServlet点击过滤器,但随后停止,javascript,java,servlets,jersey-2.0,Javascript,Java,Servlets,Jersey 2.0,我有一个未连接的jersey servlet。当我使用调试器跟踪时,我可以看到servlet的过滤器(处理请求头)被调用,但之后我丢失了跟踪,servlet本身(uploadFolder)从未被命中 HTML <form id="uploadForm" method="post" enctype="multipart/form-data"> <p>Upload project folder: <input type="file" id="files" name=
<form id="uploadForm" method="post" enctype="multipart/form-data">
<p>Upload project folder:
<input type="file" id="files" name="files" multiple webkitdirectory /></p>
<form id="uploadForm" method="post" enctype="multipart/form-data">
<label>Choose folder to upload: </label>
<input type="file" id="files" name="files" multiple webkitdirectory class="k-button"/>
<p style="margin:0;margin-top:3px"></p>
<input type="button" id="uploadButton" value="Upload Folder" class="k-button" disabled/>
</form>
Java
@POST @Path("uploadFolder")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.MULTIPART_FORM_DATA)
public String uploadFolder(FormDataMultiPart multiPart)
{
boolean retVal = projects.uploadFolder(multiPart); //**This never gets hit**
return "{\"retVal\" : " + String.valueOf(retVal) + "}";
}
我可以通过过滤器追踪,它似乎工作正常。不会过早退出或中止请求。那么,它在过滤器之后会去哪里呢?警报(request.responseText)框显示“此页面显示:”中没有任何内容
我还尝试使用jquery.ajax发送请求,如下所示:
return jQuery.ajax({
type: 'POST',
url: url,
data: fd,
enctype: 'multipart/form-data',
processData: false,
contentType: 'multipart/form-data',
headers : {
Authorization: auth
},
error: function(xhr){
alert("An error occured: status=" +xhr.status + ", statusText=" +xhr.statusText);
},
success: function(data) {
alert("success!: "+data);
}
});
有趣的是,错误警报在调试器仍在过滤器中时弹出。我没想到。输出:状态=0,状态文本=”
有什么建议吗?修复的线索是status=0。通过谷歌搜索,我发现onSubmit存在一个问题。因此,我改为点击按钮。这是新的 HTML
<form id="uploadForm" method="post" enctype="multipart/form-data">
<p>Upload project folder:
<input type="file" id="files" name="files" multiple webkitdirectory /></p>
<form id="uploadForm" method="post" enctype="multipart/form-data">
<label>Choose folder to upload: </label>
<input type="file" id="files" name="files" multiple webkitdirectory class="k-button"/>
<p style="margin:0;margin-top:3px"></p>
<input type="button" id="uploadButton" value="Upload Folder" class="k-button" disabled/>
</form>
我猜这是过滤器的问题,但是如果没有一些源代码,我们永远也不会知道。你真的没有在JS端跟踪你的请求发生了什么吗?你得到了什么?stdunbar-有办法关闭过滤器吗?我在web.xml中注释掉了init param定义并重新构建了该项目,但它仍然在运行!你能提供过滤代码吗?是否在筛选器中调用doFilter方法?示例:filterChain.doFilter(servletRequest,servletResponse);