JavaオブジェクトをHttpポストで送信する方法

「JavaオブジェクトをHttpポストで送信する方法」の編集履歴(バックアップ)一覧はこちら

JavaオブジェクトをHttpポストで送信する方法」(2009/06/18 (木) 20:11:26) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

クライアント package com.javaagogo.postjavaobject.httpclient; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.net.HttpURLConnection; import java.net.URL; import com.javaagogo.postjavaobject.data.DataObject; public class Main { public static void main(String[] args) { try { URL url = new URL("http://localhost:8080/postjavaobject"); HttpURLConnection con = (HttpURLConnection) url.openConnection(); con.setDoInput(true); con.setDoOutput(true); DataObject data = new DataObject(); data.setName("I am client."); data.setId(1); // DataObjectを送信 ObjectOutputStream out = new ObjectOutputStream(con .getOutputStream()); out.writeObject(data); out.flush(); out.close(); ObjectInputStream in = new ObjectInputStream(con.getInputStream()); DataObject response = (DataObject) in.readObject(); in.close(); System.out.println("name=" + response.getName() + " id=" + response.getId()); } catch (Exception e) { e.printStackTrace(); } } } サーブレット package com.javaagogo.postjavaobject; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.javaagogo.postjavaobject.data.DataObject; @SuppressWarnings("serial") public class PostJavaObjectServlet extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { try { // アプレットから要求を受信する ObjectInputStream in = new ObjectInputStream(req .getInputStream()); DataObject inData = (DataObject) in.readObject(); in.close(); // アプレットに返す文字列を作る DataObject outData = new DataObject(); outData.setName("サーブレット エコー : " + inData.getName()); outData.setId(inData.getId()); // アプレットに送信する ObjectOutputStream out = new ObjectOutputStream(resp .getOutputStream()); out.writeObject(outData); out.flush(); out.close(); } catch (Exception e) { e.printStackTrace(); } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } } データ package com.javaagogo.postjavaobject.data; import java.io.Serializable; public class DataObject implements Serializable{ /** * */ private static final long serialVersionUID = -6534725917724535071L; private int id ; public int getId() { return id; } public void setId(int id) { this.id = id; } public static long getSerialVersionUID() { return serialVersionUID; } public String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }

表示オプション

横に並べて表示:
変化行の前後のみ表示:
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。