0

HTTPServer への GET リクエストでシリアライズされたオブジェクトをパラメータとして渡すにはどうすればよいですか? 同じことをする方法を見つけることができなかったので、私に知らせてください。

4

1 に答える 1

1

このようなものを試すことができます

    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    ObjectOutputStream oos = new ObjectOutputStream(bos);
    oos.writeObject(obj);
    oos.close();
    String prm = URLEncoder.encode(new String(bos.toByteArray(), "ISO-8859-1"), "ISO-8859-1");

サーバー側:

servletRequest.setCharacterEncoding("ISO-8859-1");
String s = servletRequeset.getParameter("obj");
byte[] bytes = s.getBytes("ISO-8859-1");
ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(bytes));
Object obj = ois.readObject();

URL エンコーディングの代わりに Base64 を使用することも可能です。主なアイデアは、シリアル化されたバイトを URL に渡すことです。

于 2013-06-03T04:36:55.237 に答える