Applet-服务器通信,我该怎么办?

Applet-服务器通信,我该怎么办?,第1张

Applet-服务器通信,我该怎么办?

只要只有您的applet与服务器通信,就可以使用序列化对象。您只需要在applet
jar和服务器上维护相同版本的对象类。它不是最开放或可扩展的方法,但可以快速达到开发时间,而且非常可靠。

这是一个例子。

实例化与Servlet的连接

URL servletURL = new URL("<URL To your Servlet>");URLConnection servletConnect = servletURL.openConnection();servletConnect.setDoOutput(true); // to allow us to write to the URLservletConnect.setUseCaches(false); // Write the message to the servlet and not from the browser's cacheservletConnect.setRequestProperty("Content-Type","application/x-java-serialized-object");

获取输出流并编写您的对象

MyCustomObject myObject = new MyCustomObject()ObjectOutputStream outputToServlet;outputToServlet = new ObjectOutputStream(servletConnection.getOutputStream());outputToServlet.writeObject(myObject);outputToServlet.flush(); //CleanupoutputToServlet.close();

现在阅读回应

ObjectInputStream in = new ObjectInputStream(servletConnection.getInputStream());MyRespObject myrespObj;try{    myrespObj= (MyRespObject) in.readObject();} catch (ClassNotFoundException e1){    e1.printStackTrace();}in.close();

在您的servlet中

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{  MyRespObject myrespObj= processSomething(request);  response.reset();  response.setHeader("Content-Type", "application/x-java-serialized-object");  ObjectOutputStream outputToApplet;  outputToApplet = new ObjectOutputStream(response.getOutputStream());  outputToApplet.writeObject(myrespObj);  outputToApplet.flush();  outputToApplet.close();}private MyRespObject processSomething(HttpServletRequest request){  ObjectInputStream inputFromApplet = new ObjectInputStream(request.getInputStream());  MyCustomObject myObject = (MyCustomObject) inputFromApplet.readObject();  //Do Something with the object you just passed  MyRespObject myrespObj= new MyRespObject();  return myrespObj;}

只要记住,您传递的两个对象都需要实现可序列化

 public Class MyCustomObject implements java.io.Serializable {


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5565110.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-14
下一篇2022-12-14

发表评论

登录后才能评论

评论列表(0条)

    保存