我使用servlet来在Struts2为CXML穿孔所得样片模块recive rquest,XML文档将与流请求被发送,并且我曾使用request.getInputStream()request.getReader()到recive但是当请求命中我的servlet从远程客户机系统inputSteram.read()回报 - 从请求对象的XML字符串的1,但是req.getContentLength()返回长度....

我怎样才能从这个问题克服......?是否有任何其他的方法来进行该过程..?

注意: 同一个servlet工作在非支柱环境.......

有帮助吗?

解决方案

解决:如果您使用的inputStream在srvlet阅读价值流,你是不是想通过req.getInputStream()...

例如:

Correct--方法

InputStream in=req.getInputStream();
  StringBuffer xmlStr=new StringBuffer();
    int d;
    while((d=in.read()) != -1){
              xmlStr.append((char)d);
    }
    System.out.println("xmlStr1--"+xmlStr.toString());

下面方法将导致问题:

String str = req.getParameter("SOMETEXT");

InputStream in=req.getInputStream();
  StringBuffer xmlStr=new StringBuffer();
    int d;
    while((d=in.read()) != -1){
              xmlStr.append((char)d);
    }
    System.out.println("xmlStr1--"+xmlStr.toString());
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top