Java Web Start小程序无法与localhost servlet

时间:2015-09-25 12:12:13

标签: java tomcat objectinputstream

我找不到类似于我的jws问题的问题,所以我在这里写。

我尝试使用jws技术运行的java applet。在applet中,我有一个将对象发送到servlet并尝试getInputStream的方法。不幸的是我有一个例外:

  

java.io.StreamCorruptedException:无效的流标题:3C21444F       在java.io.ObjectInputStream.readStreamHeader       在java.io.ObjectInputStream。

方法示例:

  String url = "http://localhost/servlet/myServlet";
  URL servletUrl = new URL(url);

  URLConnection urlConn = servletUrl.openConnection();
  urlConn.setDoOutput(true);
  urlConn.setDoInput(true);
  urlConn.setUseCaches(false);
  urlConn.setRequestProperty("Content-Type", "application/x-java-serialized-object");

  ObjectOutputStream oos = new ObjectOutputStream(urlConn.getOutputStream());
  oos.writeObject(myobject);
  oos.close();

  ObjectInputStream ois = new ObjectInputStream(urlConn.getInputStream()); //StreamCorruptedException
  Object obj = ois.readObject();
  oIS.close();

我不知道为什么。请在帖子中输入您的想法。

来自oracle的论坛: 对象序列化流不应该以3C21444F开头 是

的ASCII
<!DO

这意味着服务器/ servlet,对于一些人来说 原因,不会发送你认为它应该的东西。这是相当的 XML文档的开头,也许是错误页面。

1 个答案:

答案 0 :(得分:0)

这是由于servlet授权系统。