Action接收 xml数据&&Struts2 的ServletActionContext.getRequest与HttpServlet中的request的区别

xtawgipl 2011-03-28 02:40:10
在用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不能。

...全文
420 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xtawgipl 2011-03-31
  • 打赏
  • 举报
回复
吊,都没人。。。。

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧