0
我正在使用HttpPost进行简单的客户端服务器通信。从客户端我设置一个参数(文件名)。Servlet request.getParameter()总是返回空值
在服务器端,当我尝试获取参数值时,它总是显示null。我尝试使用MultiPartEntity,但即使这是行不通的。
下面是我的客户端代码:
HttpPost httppost = new HttpPost("http://xxx.xxx.xxx.xxx:yyyy");
InputStreamEntity reqEntity = new InputStreamEntity(
new FileInputStream(dataFile), -1);
reqEntity.setContentType("binary/octet-stream");
// Send in multiple parts if needed
reqEntity.setChunked(true);
httppost.setEntity(reqEntity);
//setting the parameter
httppost.getParams().setParameter("filename", "xxxx.xml");
HttpResponse response = httpclient.execute(httppost);
int respcode = response.getStatusLine().getStatusCode();
这是我的servlet代码:
response.setContentType("binary/octet-stream");
Scanner scanner = new Scanner(request.getInputStream());
// reading the parameter
String filename = request.getParameter("filename");
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(new File("C:\\" + filename)));
请让我知道这个问题的任何可能的解决方案。
在此先感谢!
感谢您的答复。我已经设置了reqEntity,httppost.setEntity(reqEntity);如果我现在遵循你的逻辑,我没有在文件中写入源数据。是否可以设置多个实体? –
你可以实现这两个请求。首先在回答中设置并执行上面提到的文件名。在读取输入流之前在servlet中接收它并在第二个请求中发送ur流 – Jazib