2013-02-19 25 views
5

我想序列化一個對象並通過HTTP發送它。我使用一些教程,因爲大多數插件都是處理的,但我不能使用套接字來實現這一點,或者使用本地存儲的文件。通過HTTP序列化正確的方式來轉換對象。

下面是測試類員工:

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; 
} 

}

我認爲是正確的。但是我卡在服務器端,我在服務器端Employee類太:

公共無效的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; 

}

如何將此對象重新轉換爲員工類對象?

任何幫助表示讚賞!

回答

2

只是形式化它。

Employee emp = (Employee)objIn.readObject(); 
相關問題