通过HTTP序列化正确的方式来转换对象。

我正在尝试序列化一个对象并通过HTTP发送它。 我正在使用一些教程,因为大多数处理套接字,但我不能使用套接字,或者本地存储文件。

这是测试类Employee:

public class Employee implements java.io.Serializable { public String name; public String address; public transient int SSN; public int number; public void mailCheck() { System.out.println("Mailing a check to " + name + " " + address); } } 

客户端:

公共类SerializeAndSend {

 public static void main(String args[]){ one.Employee e = new one.Employee(); e.name = "Reyan Ali"; e.address = "Phokka Kuan, Ambehta Peer"; e.SSN = 11122333; e.number = 101; sendObject(e); } public static Object sendObject(Object obj) { URLConnection conn = null; Object reply = null; try { // open URL connection URL url = new URL("///myURL///"); conn = url.openConnection(); conn.setDoInput(true); conn.setDoOutput(true); conn.setUseCaches(false); // send object ObjectOutputStream objOut = new ObjectOutputStream(conn.getOutputStream()); objOut.writeObject(obj); objOut.flush(); objOut.close(); } catch (IOException ex) { ex.printStackTrace(); return null; } // recieve reply try { ObjectInputStream objIn = new ObjectInputStream(conn.getInputStream()); reply = objIn.readObject(); objIn.close(); } catch (Exception ex) { // it is ok if we get an exception here // that means that there is no object being returned System.out.println("No Object Returned"); if (!(ex instanceof EOFException)) ex.printStackTrace(); System.err.println("*"); } return reply; } 

}

我认为这是正确的。 但是我被困在服务器端,我在服务器端也有员工类:

public void doPost(HttpServletRequest req,HttpServletResponse resp)抛出IOException {

 Object obj; ObjectInputStream objIn = new ObjectInputStream(req.getInputStream()); try { obj = objIn.readObject(); } catch (ClassNotFoundException e) { e.printStackTrace(); } Employee e = obj; 

}

如何将此对象转换回员工类对象?

任何帮助赞赏!

只是强调它。

 Employee emp = (Employee)objIn.readObject();