客户端代码:
postMethod.addRequestHeader("Content-Type",
"multipart/form-data;charset=UTF-8;boundary=----------ThIs_Is_tHe_bouNdaRY_$");
Part[] parts = { new StringPart("xmlhead", xmlhead, "UTF-8"), new StringPart("xmlbody", xmlbody, "UTF-8") };
postMethod.setRequestEntity(new MultipartRequestEntity(parts, postMethod.getParams()));
服务端代码如下:
boolean isMultipart = ServletFileUpload.isMultipartContent(req);
if (isMultipart) {
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List items = upload.parseRequest(req); // 这里为0
同时,用req.getInputStream(),发现InputStream是有值的,也是正确的。
在网上查了,大部分说是过滤器的问题,现在过滤器问题已排查,下面这个链接中说的很清楚明了,按这个方法处理后items仍然为0。
http://blog.csdn.net/jimmy609/article/details/43648475
在web.xml.中,删除所有配置,写最简单的servlet,items仍然为0。
请教各位大侠~