在用java application发向一个Action发一个xml数据,用ServletActionContext.getRequest().getReader()不能收到数据。
而如果发给一个servlet则可以用同样的方法收到传过来的xml数据,Action中的request和HttpServlet的request有什么区别么?为什么有这样的结果?———————————————————————————————————————————————java 发xml
URL url = null;
BufferedReader bufferReander = null;
InputStreamReader inputStreamReader = null;
String[] reqStr = {path,xml};
url = new URL(reqStr[0]);
HttpURLConnection httpUrl = (HttpURLConnection) url.openConnection();
httpUrl.setDoOutput(true);
httpUrl.setDoInput(true); PrintWriter out = new PrintWriter(httpUrl.getOutputStream());
out.print(reqStr[1]);
out.flush();
out.close();接收xml:
                   ServletInputStream xmlStream = request.getInputStream();//Servlet方式
                   //ServletInputStream xmlStream = ServletActionContext.getRequest().getInputStream();
BufferedReader reader= new BufferedReader(new InputStreamReader(xmlStream));
StringBuilder builder = new StringBuilder();
char[] cbuf = new char[1];
int num = reader.read(cbuf);
while(num != -1){
builder.append(String.valueOf(cbuf));
num = reader.read(cbuf);
}
logger.info("builder.toString() = " + builder.toString());//Servlet方式能收到xml,Action不能。