2013-02-19 47 views
5

मैं किसी ऑब्जेक्ट को क्रमबद्ध करने और इसे HTTP पर भेजने की कोशिश कर रहा हूं। मैं सॉकेट के साथ सबसे अधिक सौदे के रूप में कुछ ट्यूटोरियल का उपयोग कर रहा हूं लेकिन मैं इसके लिए सॉकेट का उपयोग नहीं कर सकता, या फ़ाइल को स्थानीय रूप से संग्रहीत किया जा सकता है।ऑब्जेक्ट को कन्वर्ट करने के लिए HTTP सही तरीके से Serializing।

यहाँ परीक्षण वर्ग कर्मचारी है:

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

}

मैं thats सही लगता है। लेकिन मैं सर्वर अंत पर अटक कर रहा हूँ, मैं भी सर्वर साइड पर कर्मचारी वर्ग है:

सार्वजनिक शून्य doPost (HttpServletRequest अनुरोध, 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();