从动作脚本发送XML来的Servlet [英] Sending XML to Servlet from Action Script
问题描述
我有一个ActionScript文件发送XML到我的servlet。 我只得到输出空数组。任何人都知道究竟我做错了吗? 输出是:
I have an ActionScript File sending XML to my servlet. I am only getting empty arrays on output. Anyone know what Exactly I'm doing wrong? output is:
java.io.StreamCorruptedException:无效的流头 在java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:764) 在java.io.ObjectInputStream中。(ObjectInputStream.java:277) 在myDungeonAccessor.myDungeonAccessorServlet.doPost(myDungeonAccessorServlet.java:82)
java.io.StreamCorruptedException: invalid stream header at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:764) at java.io.ObjectInputStream.(ObjectInputStream.java:277) at myDungeonAccessor.myDungeonAccessorServlet.doPost(myDungeonAccessorServlet.java:82)
package myDungeonAccessor;
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
System.out.println("HEADERS: " + request.getHeaderNames());
ObjectInputStream in = new ObjectInputStream(request.getInputStream());
System.out.println(in);
ObjectOutputStream out = new ObjectOutputStream(response.getOutputStream());
} catch(Exception e) {
e.printStackTrace();
}
异常
推荐答案
的System.out.println()
写到标准输出(通常结束了在服务器日志和/或IDE的控制台,如果有的话),而不是响应。写 response.getWriter()
代替。
System.out.println()
writes to the stdout (which usually ends up in server logs and/or the IDE console, if any), not to the response. Write to response.getWriter()
instead.
不过,我会建议使用 XStream的写fullworthy的Javabean到XML <一个HREF =HTTP://xstream.$c$chaus.org/tutorial.html相对=nofollow>不劳而获
That said, I'd suggest to use XStream to write fullworthy Javabeans to XML without pains.
response.setContentType("text/xml");
response.setCharacterEncoding("UTF-8");
new XStream().toXML(bean, response.getOutputStream());
这篇关于从动作脚本发送XML来的Servlet的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!