Hi,I am a freshman on java,Could you help me. I have a servlet and a postgres data base on a solaris 8 work station. I have an applet that sends an object (a serialize class vector )to the servlet,then the servlet saves that information to the postgres data base. If I run the applet and the servlet on same work station,they work well. But if I run the applet on a another computer (PC or Unix work station). The Servlet always failed ,in geting a objectinputstream interface and catch a ERROR: <<java.io.StreamCorruptedException: Caught EOFException while reading the stream header>>
I think maybe there is a delay from another computer.so when I catch the error,I try 3 time again,but I still fail. MY APPLET : public class Draw extends Applet implements ActionListener,ItemListener,MouseMotionListener,MouseListener{ Vector obj; ------------------------- try{ labtext.setText("Save Data $B!%!%!% (B"); String data="/mkalm/servlet/mkalm.mkAlm0Servlet?Savefilename="+filename.getText(); URL url=new URL(getCodeBase(),data); URLConnection con=url.openConnection(); System.out.println("SAVE CONNECT OK FILE URL Size:"+obj.size()); con.setRequestProperty("CONTENT_TYPE","application/octet-stream"); con.setUseCaches(false); con.setDoInput(true); con.setDoOutput(true); ObjectOutputStream oos=new ObjectOutputStream(con.getOutputStream()); NewVector out_vector = new NewVector((Vector)obj); oos.writeObject( out_vector ); oos.flush(); ObjectInputStream ois = new ObjectInputStream(con.getInputStream()); String answer = (String)ois.readObject(); oos.close(); ois.close(); labtext.setText(" "); } catch(Exception evt){ System.out.println("SAVE FILE URL Error"+evt); evt.printStackTrace(); } } > > ------------------------------- Servlet: import javax.servlet.*; import javax.servlet.http.*; import java.io.*; import java.util.*; import java.sql.*; public class mkAlm0Servlet extends HttpServlet { public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Connection con = null; Statement stmt = null; PreparedStatement ps = null; ObjectInputStream ois = null; Vector vector_out = new Vector(); String ask; String almfile = new String(request.getParameter("Savefilename")); System.out.println("SAVE ALM SERVLET"); try { int flg = 0; for(int t=0;t<3;t++){ try { ois = new ObjectInputStream(request.getInputStream());//Always fail at here }catch (EOFException e) { flg = 1; System.out.println("DB Save error:" + e); }catch (StreamCorruptedException e) { flg = 2; System.out.println("DB Save error:" + e); }catch (Exception e) { System.out.println("DB Save ERRPR:"+e); }finally{ if(flg > 0){ System.out.println("DB Save Continue"); continue; } else break; } } System.out.println(" Can Read byte:" + ois.available()); NewVector in_vector = (NewVector)ois.readObject(); Vector vector_in = (Vector)in_vector.toVector(); try { Class.forName("org.postgresql.Driver"); String jdbnm = "jdbc:postgresql://192.168.0.206/" + almfile; con = DriverManager.getConnection(jdbnm, "postgres","postgres"); String pscmd = "insert into " + almfile + "( almline ) values ( ? )"; ps = con.prepareStatement( pscmd ); stmt = con.createStatement(); }catch (Exception e) { System.out.println("DB connect ERRPR:"+e); } } ------- Serialisize Class: import java.io.*; import java.util.*; public class NewVector implements Serializable { Vector data; public NewVector( Vector invector){ data = invector; } public Vector toVector(){ return data; } } ------------------- [EMAIL PROTECTED] ___________________________________________________________________________ To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff SERVLET-INTEREST". Archives: http://archives.java.sun.com/archives/servlet-interest.html Resources: http://java.sun.com/products/servlet/external-resources.html LISTSERV Help: http://www.lsoft.com/manuals/user/user.html