java – 将数据从servlet发送到applet:我该如何实现?

我想将发送HashMap对象发送到请求它的applet. servlet具有该HashMap对象.有没有办法可以做到这一点?

Applet ------requests HashMap object---->Servlet listens to this request
                                                 |
                                                 |
                                     Servlet searches that HashMap Object
                                                 |
                                                 |
                                                \ /
<--Finally Send this to applet------------ Servlet gets the HashMap object                                                                

我已经建立了与servlet的连接,我的servlet也有HashMap对象,但我不知道如何将它发送到applet,我想知道它是否可以发送!

解决方法:

我将使用一些外部库来回答您的问题:Google GsonApache IO Utils.

所以你已经在你的Servlet中有HashMap并希望将它发送到Applet:

Map<String, String> myMap = new HashMap<String, String>();// or whatever
Gson gson = new GsonBuilder().create();
String jsonString = gson.toJson(myMap);
IOUtils.write(jsonString, resp.getOutputStream());// where 'resp' is your HttpServletResponse
IOUtils.closeQuietly(resp.getOutputStream());

并在您的Applet中接收它:

String jsonString = IOUtils.toString(conn.getInputStream()); // where 'conn' is an HttpURLConnection
IOUtils.closeQuietly(connection.getInputStream());
Gson gson = new GsonBuilder().create();
// The TypeToken is needed when Generics are involved
Type typeOfHashMap = new TypeToken<Map<String, String>>() {}.getType();
Map<String, String> myMap = gson.fromJson(jsonString, typeOfHashMap);

就是这样.这只是一个简单的例子,但我希望你从中得到一些东西.

当然,您可以手动而不是使用外部库,但这种方式更容易.

上一篇:Javascript到Java Applet的通信


下一篇:如何使浏览器从Java小程序导航到给定的URL?