服務(wù)器端代碼:
在HttpServlet中的doPost(HttpServletRequest request, HttpServletResponse response)方法中:
ObjectInputStream in = new ObjectInputStream(new BufferedInputStream(request.getInputStream()));(這一步特別容易出錯(cuò),網(wǎng)上所留言的以及尋求答案的多為這一步,主要是方法位置,如果是doGet方法,我在使用過(guò)程中,也一直跑異常,java.io.EOFException,但是換成doPost后就沒(méi)有了,不知道為什么)。
ObjectOutputStream out = new ObjectOutputStream(response.getOutputStream());
客戶(hù)端:
String sMessage = "test";//此處是需要發(fā)送的可序列化的對(duì)象。
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();
不知道為什么,必須要有后一部分的,即:必須從連接中獲取一個(gè)流對(duì)象,然后才能觸發(fā)寫(xiě)入的事件,如果不獲取,則沒(méi)有任何效果,沒(méi)有研究,下一步再努力研究吧,現(xiàn)在突然對(duì)網(wǎng)絡(luò)編程產(chǎn)生了很大興趣,可惜啊,出差在外,忙著做項(xiàng)目。
希望有能解釋上述原因的朋友不吝賜教。