如何通过URLConnection向HttpServlet发送信息

如何通过URLConnection向HttpServlet发送信息
服务器端代码:
在HttpServlet中的doPost(HttpServletRequest request, HttpServletResponse response)方法中:
    ObjectInputStream in = new ObjectInputStream(new BufferedInputStream(request.getInputStream()));(这一步特别容易出错,网上所留言的以及寻求答案的多为这一步,主要是方法位置,如果是doGet方法,我在使用过程中,也一直跑异常,java.io.EOFException,但是换成doPost后就没有了,不知道为什么)。
    ObjectOutputStream out = new ObjectOutputStream(response.getOutputStream());

客户端:
     String sMessage = "test";//此处是需要发送的可序列化的对象。
      URL url = newURL(" http://localhost:8080/test/servlet");
      URLConnection con = url.openConnection();
      con.setDoInput(true);
      con.setDoOutput(true);
      con.setRequestProperty("Content-type", "application/octest-stream");
      out = con.getOutputStream();
      objStream = new ObjectOutputStream(out);
      objStream.writeObject(sMessage);
      objStream.flush();
      InputStream in = con.getInputStream();
      ObjectInputStream back = new ObjectInputStream(in);
      back.readObject();
      objStream.close();
      back.close();

不知道为什么,必须要有后一部分的,即:必须从连接中获取一个流对象,然后才能触发写入的事件,如果不获取,则没有任何效果,没有研究,下一步再努力研究吧,现在突然对网络编程产生了很大兴趣,可惜啊,出差在外,忙着做项目。
希望有能解释上述原因的朋友不吝赐教。

你可能感兴趣的:(如何通过URLConnection向HttpServlet发送信息)