查看文章 |
如何通过URLConnection向HttpServlet发送信息
2007年09月21日 星期五 15:36
服务器端代码: 在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(); 不知道为什么,必须要有后一部分的,即:必须从连接中获取一个流对象,然后才能触发写入的事件,如果不获取,则没有任何效果,没有研究,下一步再努力研究吧,现在突然对网络编程产生了很大兴趣,可惜啊,出差在外,忙着做项目。 希望有能解释上述原因的朋友不吝赐教。 |
最近读者: