如何将序列化对象作为 GET 请求中的参数传递给我的 HTTPServer?请让我知道,因为我一直无法找到一种方法来做同样的事情。
问问题
114 次
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();
也可以使用 Base64 代替 URL 编码,主要思想是在 URL 中传递序列化的字节
于 2013-06-03T04:36:55.237 回答